版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、機(jī)器學(xué)習(xí):一步步教你理解反向傳播方法在閱讀反向傳播方法的時(shí)候,看到了這篇通過(guò)示例給出 反向傳播的博文 A Step by Step Backpropagation Example 在這篇博文中,作者通過(guò)一個(gè)簡(jiǎn)單的示例,給出了反向傳播 的過(guò)程的過(guò)程,非常的清晰,遂結(jié)合自己的理解翻譯之,希 望對(duì)反向傳播方法有所理解的朋友有些許幫助。背景 反向傳播在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中雖然用得如此之多,但是 在網(wǎng)上還很少有通過(guò)具體的實(shí)例來(lái)解釋反向傳播怎么工作 的博文。所以在這篇文章中,我會(huì)嘗試用一個(gè)具體的例子來(lái) 解釋反向傳播過(guò)程,這樣有需要的朋友就可以通過(guò)自己的計(jì) 算過(guò)程來(lái)判斷自己對(duì)于反向理解的過(guò)程是否到位。 你可
2、以在我的 Gihub 上找個(gè)我寫(xiě)的反向傳播的 Python 實(shí)現(xiàn) 代碼。概覽在這篇博文中,我們會(huì)使用有 2 個(gè)輸入單元的神經(jīng)網(wǎng)絡(luò), 2 個(gè)隱層神經(jīng)元以及 2 個(gè)輸出神經(jīng)元。此外,隱層和輸出神經(jīng) 元會(huì)包含一個(gè)偏置,下面是基本的網(wǎng)絡(luò)結(jié)構(gòu): 為了便于后面說(shuō)明的說(shuō)明,我們對(duì)該網(wǎng)絡(luò)設(shè)置一些初始的權(quán)重、偏置以及輸入和輸出:反向傳播的目標(biāo)是對(duì)權(quán)重進(jìn)行優(yōu)化,使得神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí) 到從任意的輸入到輸出的準(zhǔn)確映射。在這篇博文中,我們僅使用一個(gè)簡(jiǎn)單的訓(xùn)練集,即輸入為0.05 和 0.10 ,我們希望網(wǎng)絡(luò)的輸出為 0.01 和 0.99( 即輸入的 樣本是兩個(gè) : (0.05, 0.99), (0.10, 0.99)
3、 。前向傳播 首先來(lái)看看對(duì)于給定的初始化權(quán)重和偏置,網(wǎng)絡(luò)對(duì)于輸入 0.05 和 0.10 的輸出是啥。我們將輸入輸進(jìn)網(wǎng)絡(luò)中。 我們先計(jì)算從全部網(wǎng)絡(luò)的輸入到隱層的每一個(gè)神經(jīng)元,激活 函數(shù)采用 logistic 函數(shù),對(duì)于從隱層到輸出層,我們重復(fù)這 一過(guò)程。全部的網(wǎng)絡(luò)輸入也被稱為網(wǎng)絡(luò)的輸入Derivation ofBackpropagation下面是對(duì)于 h1 role=presentation style=position: relative;h1h1 全部網(wǎng)絡(luò)輸入的輸入計(jì)算過(guò)程: neth1=w1i1+w2i2+b11neth1= 0.150.05+0.20.1+0.351=0.37 75 r
4、ole=presentation style=position:.1+0.351=0.3775(譯者注:類(lèi)比到 CNN 網(wǎng)絡(luò)里,這個(gè)過(guò)程就是卷積過(guò)程,得 到特征響應(yīng)圖 )然后我們將其輸入到激活函數(shù)中,得到輸出 h1 role=presentation style=position: relative;h1h1: outh1=11+eneth1=11+e0.3775=0.5932 69992 role=presentation style=position: relative;outh1=11+eneth1=11+e0.3775=0.593269992ou th1=11+eneth1=11+e0
5、.3775=0.593269992(譯者注:類(lèi)比到 CNN 網(wǎng)絡(luò)里,這個(gè)過(guò)程特征響應(yīng)圖經(jīng)過(guò)激 活函數(shù)運(yùn)算的過(guò)程 )對(duì)于 h2 role=presentation style=position:relative;h2h2 通過(guò)上面相同的過(guò)程,我們可以得到: outh2=0.596884378 role=presentation style=position: relative;outh2=0.596884378outh2=0.596884378 對(duì)于輸入層神經(jīng)元, 將隱層的輸出作為輸入 (譯者注:在 CNN 中,還需要經(jīng)過(guò)池化后才能作為下一層的輸入,至于為啥需 要池化, 這里譯者不就解釋了 ),
6、重復(fù)上面相同的過(guò)程, 我們 可以得到:neto1=w5outh1+w6outh2+b25136507同樣的,重復(fù)上面相同的過(guò)程,可以得到 O2 role=presentation style=position: relative;O2O2: outO2=0.772928465 role=presentation style=position: relative;outO2=0.772928465outO2=0.772928465 計(jì)算總誤差 現(xiàn)在對(duì)于輸出的每一個(gè)神經(jīng)元,使用平方誤差函數(shù)求和來(lái)計(jì) 算總的誤差:Etotal=12(targetoutput)2 role=presentation s
7、tyle=position:刀 12(targetoutprelative;Etotal= 刀 12(targetoutput)2Etotal=ut)2output 就是我們的預(yù)測(cè) label ,而 target 就是 groundtruth 。 12 role=presentation style=position: relative;1212使得我們?cè)谇篁_到的時(shí)候可以消去 2,不影響模型參數(shù)的結(jié)果 求解。對(duì)于第一個(gè)神經(jīng)元的輸出 O1 role=presentation style=position: relative;O1O1 真實(shí)值是 0.01 ,而網(wǎng)絡(luò)的 輸出是 0.75136507
8、, 因而第一個(gè)神經(jīng)元的輸出誤差為: EO1=12(targetoutput)2=12(0.010.7513 6507)2=0.274811083 2=0.274811083 重復(fù)上面過(guò)程,可以得到第二個(gè)神經(jīng)元的輸出 O2 role=presentation style=position: relative;O2O2 為: EO2=0.023560026 role=presentation style=position: relative;EO2=0.023560026EO2=0.023560026 所以整個(gè)神經(jīng)網(wǎng)絡(luò)的誤差求和為: Etotal=EO1+EO2=0.274811083+0.023
9、560026=0.2983711 09 role=presentation style=position: relative;Etotal=EO1+EO2=0.274811083+0.023560026= 0.298371109Etotal=EO1+EO2=0.274811083+0.023560026=0.298371109反向傳播 反向傳播的目標(biāo)是:通過(guò)更新網(wǎng)絡(luò)中的每一個(gè)權(quán)重,使得最 終的輸出接近于 groundtruth ,這樣就得到整個(gè)網(wǎng)絡(luò)的誤差作 為一個(gè)整體進(jìn)行了最小化。輸出層先來(lái)考察 w5 role=presentation style=position: relative;w5w
10、5 ,我們想知道對(duì)于 w5 role=presentation style=position: relative;w5w5 的改變可以多大程度上影 響總的誤差,也就是 Etotalw5 role=presentation style=position: relative;Etotalw5Etotalw5 。 通過(guò)使用鏈?zhǔn)椒▌t,可以得到: Etotalw5=Etotalouto 1outO1netO1netO1w5 role=presentation style=position: relative;Etotalw5=Etotalouto1outO1netO1netO1w5Etotal w5=E
11、totalouto1outO1netO1netO1w5 為了更直觀的表述上面鏈?zhǔn)椒▌t的過(guò)程,對(duì)其進(jìn)行可視化: 我們對(duì)上面使用鏈?zhǔn)椒▌t得到的每一項(xiàng)分別進(jìn)行計(jì)算。首先,整體誤差關(guān)于各個(gè)神經(jīng)元的輸出改變了?Etotal=12(targetoutput)2=12(targetO1−outputO1)2+12(targetO2outputO2)2EtotaloutO1=212(targetO1outputO1)211+0=(targetO1outputO1)=(0.010.75136507)=0.74136507 role=presentation style=position:relat
12、ive;Etotal= 刀 12(targetoutput)2=12(targetO1outputO1)2+12(targetO2outputO2)2EtotaloutO1=212(targetO1out4136507Etotal= 刀 12(targetoutput)2= 12(targetO1outputO1)2+12(targetO2outputO2)2EtotaloutO1=212(targetO1outpu36507logistic 函數(shù)的偏導(dǎo)數(shù)為輸出乘以 1 減去輸出,即:outO1=11+enetO1outO1netO1=outO1(1outO1)=0.75136507(10.7
13、5136507)=0.186815602 role=presentation style=position:relative;outO1=11+enetO1outO1netO1=outO1(1outO1)=0.75136507(10.75136507)=0.186815602outO1=11+enetO1outO1netO1=outO1(1outO1)=0.75136507(10.75136507)=0.186815602最后,整個(gè)網(wǎng)絡(luò)的輸入 O1 role=presentationstyle=position: relative;O1O1 關(guān)于 w5 role=presentation st
14、yle=position: relative;w5w5 改變了 多少呢? netO1=w5outh1+w6outh2+b2 1Etotalw5=Etotalout o1outO1netO1netO1w5Etotalw5=0.741 365070.1868156020.593269992=0.08 2167041 你也會(huì)看到用 delta 規(guī)則表示的形式: Etotalw5=(targetO1 outO1)outO1(1outo1)outh1 role=presentation style=position: relative;Etotalw5=(targetO1outO1)outO1(1out
15、o1)outh1E totalw5=(targetO1outO1)outO1(1outo1)outh1 我們可以將 EtotaloutO1role=presentation style=position: relative;EtotaloutO1EtotaloutO1 和 outO1netO1 role=presentation style=position: relative;outO1netO1outO1netO1 寫(xiě)為 EtotalnetO1 role=presentation style=position: relative;EtotalnetO1EtotalnetO1,并用O1 ro
16、le=presentation style=position:relative; 8 O18表示它,從而可以將上面的式子表示為: O1=Etotalouto1outO1netO1O1=(target O1outO1)outO1(1outo1) role=presentation style=position:relative; 8 O1=Etotalouto1outO1netO1 8 O1=(targetO1out O1)outO1(1outo1) 8 O1=Etotalouto1outO1netO1 8 O1=(targ etO1outO1)outO1(1outo1)因此有:Etotalw5
17、=O1outh1role=presentation style=position: relative;Etotalw5= 8 O1outh1Etotalw5= 8 O1outh1 有一些論文中通過(guò)將負(fù)號(hào)從 role=presentation style=position: relative; 中提8出8來(lái)將其也可以寫(xiě)為下面 這種形式:Etotalw5=O1outh1role=presentation style=position:relative;Etotalw5= 8 O1outh1Etotalw5= 8 Olouthl為了減小誤差,我們將 w5 role=presentation styl
18、e=position: relative;w5w5 原來(lái)的值減去目前的權(quán)重(通常會(huì)乘上一個(gè)學(xué)習(xí)率 role=presentationstyle=position: relative;nn,這里我們將其設(shè)置為w5+=w5Etotalw5 role=presentation style=position: relative;w+5=w5 n Etotalw5w5+=w5 n Etotalw5學(xué)習(xí)率在不同的文章中可以記法不一樣,有用 role=presentation style=p osition: relative; 的,有用 role=presentation style=position:r
19、elative; 的n 有用 role=presentation style=position: relative; 的。和 w8重復(fù)上面的過(guò)程,我們可以得到更新后的 w6 role=presentation style=position: relative;w6w6 、w7 role=presentation style=position: relative;w7w7 role=presentation style=position: relative;w8w8w6+=0.408666186w7+=0.511301270w8+=0.561370121role=presentation sty
20、le=position: relative;w+6=0.408666186w+7=0.511301270w+8=0.56 1370121w6+=0.408666186w7+=0.511301270w8+=0.561 370121 注意,在我們繼續(xù)向前推進(jìn)反向傳播的時(shí)候,在要使用到 w5 role=presentation style=position: relative;w5w5、w6 role=presentation style=position: relative;w6w6、w7 role=presentation style=position: relative;w7w7和w8 rol
21、e=presentation style=position: relative;w8w8的地方,我們?nèi)匀皇褂玫氖窃瓉?lái)的權(quán)重, 而不是更新后的權(quán)重。 隱層我們繼續(xù)推進(jìn)反向傳播來(lái)計(jì)算 style=position: relative;w1w1 style=position: relative;w2w2 style=position: relative;w3w3 style=position: relative;w4w4w1 role=presentation、 w2 role=presentation、 w3 role=presentation和 w4 role=presentation 更新的權(quán)
22、重:同樣使用鏈?zhǔn)椒▌t,我們可以得到:Etotalw1=Etotalouth 1outh1neth1neth1w1 role=presentation style=position:relative;Etotalw1=Etotalouth1outh1neth1neth1w1Etotal w1=Etotalouth1outh1neth1neth1w1可視化上面的鏈?zhǔn)椒▌t:對(duì)于這一層 (隱層 ) 的更新我們采用上面輸出層相似的處理方 式,不過(guò)會(huì)稍有不同,這種不同主要是因?yàn)槊恳粋€(gè)隱層神經(jīng) 元的輸出對(duì)于最終的輸出都是有貢獻(xiàn)的。我們知道 outh1 role=presentation style=posi
23、tion: relative;outh1outh1 既影響 outO1 role=presentation style=position: relative;outO1outO1 也影響 outO2 role=presentation style=position: relative;outO2outO2 ,因此 Etotalouth1 role=presentation style=position: relative;Etotalouth1Etotalouth1 需要同時(shí) 考慮到這兩個(gè)輸出神經(jīng)元影響: Etotalouth1=EO1out h1+EO2outh1 role=presenta
24、tion style=position: relative;Etotalouth1=EO1outh1+EO2outh1Etotalouth1= EO1outh1+EO2outh1 又由于: EO1outh1=EO1net O1netO1outh1 role=presentation style=position:relative;EO1outh1=EO1netO1netO1outh1EO1outh1=EO1netO1netO1outh1我們可以用前面計(jì)算的值來(lái)計(jì)算EO1netO1 role=presentationstyle=position: relative;EO1netO1EO1netO
25、1:EO1netO1=EO1outO1outO1netO1=0.741365070.186815602=0.138498562 role=presentation style=position:relative;EO1netO1=EO1outO1outO1netO1=0.74136507又因?yàn)?netO1outh1 role=presentation style=position: relative;netO1outh1netO1outh1 等于 w5 role=presentation style=position: relative;w5w5: netO1=w5outh1+w6outh2+
26、b21netO1outh1=w5=0.40role=presentation style=position: relative;netO1=w5outh1+w6outh2+b21netO1outh1=w5= 0.40netO1=w5outh1+w6outh2+b21netO1outh1=w5=0.40 將上面每步分開(kāi)算的結(jié)果合起來(lái)得:EO1outh1=EO1netO1netO1outh1=0.138498562 0.40=0.055399425 role=presentationstyle=position:relative;EO1outh1=EO1netO1netO1outh1=0.1384
27、985620.40=0.055399425EO1outh1=EO1netO1netO1outh1=0.1384985620.40=0.055399425 與上面的步驟一樣,我們可以得到: EO2outh1=w5=0.019049119 role=presentation style=position:relative;EO2outh1=w5=0.019049119EO2outh1=w5=0.019049119因此:Etotalouth1=EO1outh1+EO2outh1=0.055399425+(0.019049119)=0.036350306 role=presentation style
28、=position:relative;Etotalouth1=EO1outh1+EO2outh1=0.055399425+(0.019049119)=0.036350306Etotalouth1=EO1outh1+EO2outh1=0.055399425+(0.019049119)=0.036350306現(xiàn)在我們已經(jīng)有了 Etotalouth1 role=presentation style=position: relative;Etotalouth1Etotalouth1 ,我們還需要為每一個(gè)需 要更新的權(quán)重計(jì)算 outh1neth1 role=presentation style=posi
29、tion: relative;outh1neth1outh1neth1 和 neth1w role=presentation style=position: relative;neth1wneth1w : outh1=11+e(neth1)outh1neth1=outh1(1 outh1)=0.59326999(10.59326999)=0.2 41300709 role=presentation style=position: relative;outh1=11+e(neth1)outh1neth1=outh1(1outh1)=0 .59326999(10.59326999)=0.24130
30、0709outh1=11+e(neth1 )outh1neth1=outh1(1outh1)=0.59326999(10.59326999)=0. 241300709 如我們前面對(duì)于輸出神經(jīng)元所做的一樣,我們計(jì)算 h1 role=presentation style=position: relative;h1h1 的全部 輸入關(guān)于 w1 role=presentation style=position: relative;w1w1 求偏導(dǎo): neth1=w1i1+w2i2+b11neth1w1=i1=0.05 role=presentation style=position: relative
31、;neth1=w1i1+w2i2+b11neth1w1=i1=0.05neth1= w1i1+w2i2+b11neth1w1=i1=0.05將上面計(jì)算的各個(gè)部分合起來(lái):Etotalw1=Etotalouth1outh1neth1neth1w1Etotalw1=0.0363502413007090.05=0.000438568你可以可能會(huì)看到下面的這種寫(xiě)法: Etotalw1=(OEtotal& #x2202;outOoutOnetOnetOouth1)outh1 neth1neth1w1Etotalw1=(OO whO)outh1(1outh1)i Etotalw1=h1i1 role=presentation style=position
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高中地理第四章區(qū)域經(jīng)濟(jì)發(fā)展第2節(jié)區(qū)域工業(yè)化與城市化-以我國(guó)珠江三角洲地區(qū)為例精練含解析新人教必修3
- 2024高中生物第三章植物的激素調(diào)節(jié)第1節(jié)植物生長(zhǎng)素的發(fā)現(xiàn)精練含解析新人教版必修3
- 2024高考地理一輪復(fù)習(xí)第十七單元區(qū)域經(jīng)濟(jì)發(fā)展考法精練含解析
- 2024高考化學(xué)一輪復(fù)習(xí)第4章非金屬及其化合物第14講氮及其化合物精練含解析
- 2024高考?xì)v史一輪復(fù)習(xí)方案專(zhuān)題二代中國(guó)反侵略求民主的潮流專(zhuān)題綜合測(cè)驗(yàn)含解析人民版
- 2024高考地理一輪復(fù)習(xí)第一部分自然地理-重在理解第四章地表形態(tài)的塑造第14講河流地貌的發(fā)育學(xué)案新人教版
- DB42-T 168-2024 湖北省府河流域氯化物排放標(biāo)準(zhǔn)
- 股骨粗隆間骨折-內(nèi)固定失效
- (3篇)2024年幼兒園班級(jí)總結(jié)
- 項(xiàng)目管理人員職責(zé)
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 通用電子嘉賓禮薄
- 提高筒倉(cāng)滑模施工混凝土外觀質(zhì)量QC成果PPT
- 加拿大——文化ppt
- 100以內(nèi)不進(jìn)位不退位加減法200道
- 小學(xué)期末班級(jí)頒獎(jiǎng)典禮動(dòng)態(tài)課件PPT
- 智慧城市綜合管廊信息化解決方案課件
- 開(kāi)展創(chuàng)新型課題QC小組活動(dòng)實(shí)施指導(dǎo)意見(jiàn)
- 鋼廠電爐煙氣量計(jì)算方式
- 皮具工藝生產(chǎn)流程(共6頁(yè))
- 鋼結(jié)構(gòu)施工方案(中英文對(duì)照)
評(píng)論
0/150
提交評(píng)論