最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

人工智能AI面試題-4.14如何理解反向傳播算法BackPropagation

2023-10-16 09:33 作者:機(jī)器愛上學(xué)習(xí)  | 我要投稿

4.14 如何理解反向傳播算法BackPropagation — 前? ?? 最近在看深度學(xué)習(xí)的東西,?開始看的吳恩達(dá)的UFLDL教程,有中?版就直接看了,后來發(fā)現(xiàn)有些地?總是不是很明確,又去看英?版,然后又找了些資料看,才發(fā)現(xiàn),中?版的譯者在翻譯的時(shí)候會(huì)對省略的公式推導(dǎo)過程進(jìn)?補(bǔ)充,但是補(bǔ)充的又是錯(cuò)的,難怪覺得有問題。 反向傳播法其實(shí)是神經(jīng)?絡(luò)的基礎(chǔ)了,但是很多?在學(xué)的時(shí)候總是會(huì)遇到?些問題,或者看到?篇的公式覺得好像很難就退縮了,其實(shí)不難,就是?個(gè)鏈?zhǔn)角髮?dǎo)法則反復(fù)?。如果不想看公式,可以直接把數(shù)值帶進(jìn)去,實(shí)際的計(jì)算?下,體會(huì)?下這個(gè)過程之后再來推導(dǎo)公式,這樣就會(huì)覺得很容易了。 ?、簡單的神經(jīng)?絡(luò) ?? 說到神經(jīng)?絡(luò),?家看到這個(gè)圖應(yīng)該不陌?: 這是典型的三層神經(jīng)?絡(luò)的基本構(gòu)成,Layer L1是輸?層,Layer L2是隱含層,Layer?L3是隱含層,我們現(xiàn)在??有?堆數(shù)據(jù){x1,x2,x3,...,xn},輸出也是?堆數(shù)據(jù){y1,y2,y3,...,yn},現(xiàn)在要他們在隱含層做某種變換,讓你把數(shù)據(jù)灌進(jìn)去后得到你期望的輸出。如果你希望你的輸出和原始輸??樣,那么就是最常見的?編碼模型(Auto-Encoder)。 ?? 可能有?會(huì)問,為什么要輸?輸出都?樣呢?有什么?啊?其實(shí)應(yīng)?挺?的,在圖像識(shí)別,?本分類等等都會(huì)?到,我會(huì)專門再寫?篇Auto-Encoder的?章來說明,包括?些變種之類的。如果你的輸出和原始輸?不?樣,那么就是很常見的??神經(jīng)?絡(luò)了,相當(dāng)于讓原始數(shù)據(jù)通過?個(gè)映射來得到我們想要的輸出數(shù)據(jù),也就是我們今天要講的話題。 ?? 三、前向傳播 ?? 本?直接舉?個(gè)例?,帶?數(shù)值演?反向傳播法的過程,公式的推導(dǎo)等到下次寫Auto-Encoder的時(shí)候再寫,其實(shí)也很簡單,感興趣的同學(xué)可以??推導(dǎo)下試試。 ?? 3.1 初始化?個(gè)?絡(luò) 假設(shè),你有這樣?個(gè)?絡(luò)層: 第?層是輸?層,包含兩個(gè)神經(jīng)元i1,i2,和截距項(xiàng)b1;第?層是隱含層,包含兩個(gè)神經(jīng)元h1,h2 和截距項(xiàng)b2,第三層是輸出o1,o2,每條線上標(biāo)的wi是層與層之間連接的權(quán)重,激活函數(shù)我們默認(rèn)為 Sigmoid函數(shù)。 ?? 現(xiàn)在對他們賦上初值,如下圖: 其中,輸?數(shù)據(jù) i1=0.05,i2=0.10; 輸出數(shù)據(jù)o1=0.01,o2=0.99; 初始權(quán)重 w1=0.15,w2=0.20,w3=0.25,w4=0.30; w5=0.40,w6=0.45,w7=0.50,w8=0.55 ?標(biāo):給出輸?數(shù)據(jù)i1,i2(0.05和0.10),使輸出盡可能與原始輸出o1,o2(0.01和0.99)接近。 ?? 3.2 Step 1 前向傳播 3.2.1. 輸?層 >隱含層: 計(jì)算神經(jīng)元h1的輸?加權(quán)和: ?? 神經(jīng)元h1的輸出o1:(此處?到激活函數(shù)為Sigmoid函數(shù)): 同理,可計(jì)算出神經(jīng)元h2的輸出o2: ? ? 3.2.2. 隱含層 >輸出層: 計(jì)算輸出層神經(jīng)元o1和o2的值: 這樣前向傳播的過程就結(jié)束了,我們得到輸出值為[0.75136079 , 0.772928465],與實(shí)際值[0.01 , 0.99]相差還很遠(yuǎn),現(xiàn)在我們對誤差進(jìn)?反向傳播,更新權(quán)值,重新計(jì)算輸出。 ?? 四、反向傳播 ?? 4.1 計(jì)算總誤差 總誤差:(square error) ?? 但是有兩個(gè)輸出,所以分別計(jì)算o1和o2的誤差,總誤差為兩者之和: ? 4.2 隱含層 >輸出層的權(quán)值更新: 以權(quán)重參數(shù)w5為例,如果 我們想知道w5對整體誤差產(chǎn)?了多少影響,可以?整體誤差對w5求偏導(dǎo)求出:(鏈?zhǔn)椒▌t) ?? 下?的圖可以更直觀的看清楚誤差是怎樣反向傳播的: 現(xiàn)在我們來分別計(jì)算每個(gè)式?的值: 計(jì)算 ? ? ? 計(jì)算 (這?步實(shí)際上就是對Sigmoid函數(shù)求導(dǎo),?較簡單,可以??推導(dǎo)?下)??計(jì)算 最后三者相乘: ? 這樣我們就計(jì)算出整體誤差E(total)對w5的偏導(dǎo)值?;剡^頭來再看看上?的公式,我們發(fā)現(xiàn): ? 為了表達(dá)?便,??來表?輸出層的誤差: 因此,整體誤差E(total)對w5的偏導(dǎo)公式可以寫成: 如果輸出層誤差計(jì)為負(fù)的話,也可以寫成: 最后我們來更新w5的值(調(diào)整策略就是梯度下降): ? (其中,?是學(xué)習(xí)速率,這?我們?nèi)?.5) 同理,可更新w6,w7,w8: 4.3 隱含層 >隱含層的權(quán)值更新: ?法其實(shí)與上?說的差不多,但是有個(gè)地?需要變?下,在上?計(jì)算總誤差對w5的偏導(dǎo)時(shí),是從 out(o1)---->net(o1)---->w5,但是在隱含層之間的權(quán)值更新時(shí),是out(h1) >net(h1) >w1,?out(h1) 會(huì)接受E(o1)和E(o2)兩個(gè)地?傳來的誤差,所以這個(gè)地?兩個(gè)都要計(jì)算。 ?? 計(jì)算 計(jì)算 同理,計(jì)算出: ? ? 兩者相加得到總值: 再計(jì)算 再計(jì)算 最后,三者相乘: 為了簡化公式,?sigma(h1)表?隱含層單元h1的誤差: 最后,更新w1的權(quán)值(繼續(xù)?梯度下降): 同理,額可更新w2,w3,w4的權(quán)值: 這樣誤差反向傳播法就完成了,最后我們再把更新的權(quán)值重新計(jì)算,不停地迭代,在這個(gè)例?中第?次迭代之后,總誤差E(total)由0.298371109下降?0.291027924。 迭代10000次后,總誤差為0.000035085,輸出為[0.015912196,0.984065734](原輸?為 [0.01,0.99]),證明效果還是不錯(cuò)的。 ??

人工智能AI面試題-4.14如何理解反向傳播算法BackPropagation的評論 (共 條)

分享到微博請遵守國家法律
红桥区| 遂宁市| 新建县| 威远县| 思南县| 河西区| 彭州市| 玛纳斯县| 常宁市| 忻州市| 上杭县| 乌苏市| 盐亭县| 通辽市| 沂源县| 张北县| 康保县| 普兰店市| 宜都市| 开原市| 盐边县| 南和县| 婺源县| 安泽县| 宁津县| 高碑店市| 阳西县| 鹤壁市| 安西县| 寿阳县| 万州区| 印江| 深泽县| 务川| 黄平县| 正定县| 永新县| 太保市| 道孚县| 镇康县| 无锡市|