版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、神經(jīng)網(wǎng)絡中的反向傳播法算法推導及 matlab代碼實現(xiàn)最近在看深度學習的東西,一開始看的吳恩達的 UFLDL教程,有中文版就直接看了,后 來發(fā)現(xiàn)有些地方總是不是很明確,又去看英文版,然后又找了些資料看,才發(fā)現(xiàn),中文版的譯 者在翻譯的時候會對省略的公式推導過程進行補充,但是補充的又是錯的,難怪覺得有問題。反向傳播法其實是神經(jīng)網(wǎng)絡的基礎了, 但是很多人在學的時候總是會遇到一些問題,或者看到 大篇的公式覺得好像很難就退縮了, 其實不難,就是一個鏈式求導法則反復用。如果不想看公 式,可以直接把數(shù)值帶進去,實際的計算一下,體會一下這個過程之后再來推導公式,這樣就 會覺得很容易了。說到神經(jīng)網(wǎng)絡,大家看到這
2、個圖應該不陌生:taver ILayer L2這是典型的三層神經(jīng)網(wǎng)絡的基本構成,Layer L1是輸入層,Layer L2是隱含層,Layer L3是隱含層,我們現(xiàn)在手里有一堆數(shù)據(jù)x1,x2,x3,.,xn,輸出也是一堆數(shù)據(jù)y1,y2,y3,.,yn,現(xiàn)在要 他們在隱含層做某種變換,讓你把數(shù)據(jù)灌進去后得到你期望的輸出。如果你希望你的輸出和原 始輸入一樣,那么就是最常見的自編碼模型(Auto-Encoder)。可能有人會問,為什么要輸入 輸出都一樣呢?有什么用啊?其實應用挺廣的,在圖像識別,文本分類等等都會用到,我會專門再寫一篇Auto-Encoder的文章來說明,包括一些變種之類的。如果你的輸
3、出和原始輸入不 一樣,那么就是很常見的人工神經(jīng)網(wǎng)絡了, 相當于讓原始數(shù)據(jù)通過一個映射來得到我們想要的 輸出數(shù)據(jù),也就是我們今天要講的話題。本文直接舉一個例子,帶入數(shù)值演示反向傳播法的過程,公式的推導等到下次寫 Auto-Encoder的時候再寫,其實也很簡單,感興趣的同學可以自己推導下試試:)(注:本文 假設你已經(jīng)懂得基本的神經(jīng)網(wǎng)絡構成,如果完全不懂,可以參考 Poll寫的筆記:Mechine Learning & Algorithm 本中經(jīng)網(wǎng)絡某不注)假設,你有這樣一個網(wǎng)絡層:第一層是輸入層,包含兩個神經(jīng)元i1, i2,和截距項bl;第二層是隱含層,包含兩個神經(jīng) 元h1,h2和截距項b2,第
4、三層是輸出。1,。2,每條線上標的wi是層與層之間連接的權重,激活 函數(shù)我們默認為sigmoid函數(shù)。現(xiàn)在對他們賦上初值,如下圖:其中,輸入數(shù)據(jù)i1=0.05, i2=0.10;輸出數(shù)據(jù) o1=0.01,o2=0.99;初始權重 w1=0.15,w2=0.20,w3=0.25,w4=0.30;w5=0.40,w6=0.45,w7=0.50,w8=0.55目標:給出輸入數(shù)據(jù)i1,i2(0.05和0.10),使輸出盡可能與原始輸出o1,o2(0.01和0.99)接近Step 1前向傳播.輸入層- 隱含層:計算神經(jīng)元h1的輸入加權和:“E力=皿*向 十如? *+ 瓦* Lnethl =0.15 +
5、0.05 + 0.2 - 0.1 + 035 * 1 = 0,3775神經(jīng)元h1的輸出o1:(此處用到激活函數(shù)為sigmoid函數(shù)):outhY = 1 J3 = tt+f = 0,593269992同理,可計算出神經(jīng)元h2的輸出。2:out = 0.596884378.隱含層-輸出層:計算輸出層神經(jīng)元o1和o2的值:* outft2 + 與軍 1m tQi = 0,4 * 0,593269992 + 0.45* 0.596884378 + 0-6*1= 1.105905967-i+hu = i_p-i n)5905w)7 = 0.75136507outo2 = 0772928465這樣前向傳
6、播的過程就結束了,我們得到輸出值為0.75136079,0.772928465,與實際值0.01 , 0.99相差還很遠,現(xiàn)在我們對誤差進行反向傳播,更新權值,重新計算輸出。Step 2反向傳播1.計算總誤差總誤差:(square error)|= (target - ouijnity2但是有兩個輸出,所以分別計算 o1和o2的誤差,總誤差為兩者之和:Eoi = targets = (0.01 0.75136507)2 = 0,274811083= 0.023560026Et由i = EO1 + Eg = 0.274811083 + 0.023560026 = 0.298371109.隱含層-
7、 輸出層的權值更新:以權重參數(shù)w5為例,如果我們想知道w5對整體誤差產(chǎn)生了多少影響,可以用整體誤差對w5 求偏導求出:(鏈式法則)Ef川M a上,3* dental * 1“門1- douto dneto du下面的圖可以更直觀的看清楚誤差是怎樣反向傳播的:比.! = 如 -+X加- wf或尸熟氏=2 * (targetO1 -仇心1戶一】* 一1十0= -(target - outtA) = -().01 - 075136507) = 074136507計算:OUtol =l+-,lrfol= ovitfi( - ohi) = 0.75136507(1 - IL7M:餡507) = 0.18
8、6S15(i()2(這一步實際上就是對sigmoid函數(shù)求導,比較簡單,可以自己推導一下)計算c)wnt =小5 * fUtthi + it fl * 5ttha + h2 * 1端1 = 1 * outhl * 磁I)+ 0 + 0 = outhl = 0,593269992最后三者相乘:., gEt.al *雙3拋it%椒野嗎3=0J4136507 * 0J86815602 * 0393269992 = 0,082167041這樣我們就計算出整體誤差E(total)對w5的偏導值。 回過頭來再看看上面的公式,我們發(fā)現(xiàn):嗜年 =(target 。出川)*創(chuàng)優(yōu)療式1 血廿m) * ouha為了
9、表達方便,用1來表示輸出層的誤差:6_ /上;,一,* X小”?!?Lkrtiioi仍ieih W如“ Ttargetd outo) *。川(1 outo)因此,整體誤差E(total)又tw5的偏導公式可以寫成:喙黑=6olouthl如果輸出層誤差計為負的話,也可以寫成:fj上士心tutdu崛-山 hl最后我們來更新w5的值:噂=3一件=04 - 0,5 * 0X)82167041 = ().35891648(其中,”是學習速率,這里我們?nèi)?.5)同理,可更新w6,w7,w8:wi = 0.408666186w?- =0,511301270嶗-(L5613701213.隱含層- 隱含層的權值
10、更新:w5的偏導方法其實與上面說的差不多,但是有個地方需要變一下,在上文計算總誤差對 時,是從out(o1)-net(o1)-w5,但是在隱含層之間的權值更新時,是CjOUf jl 1bi i1 1計算W%】:Ml* _ a&i fij慶1必Ooutiii 06a先計算癡,1 :野L _匹宰字JflOLithirrnet,-Gl _=dweti -clnetjm力n = #5 * outi十 h% 為& = * =也如卜二1 01二*仍況,,Oijtilhli)Tft tffl Ooulh(Jrtff jPi JalA-1 + -net(h1)-w1,而out(h1)會接受E(o1)和E(o2
11、)兩個地方傳來的誤差,所以這個地方 兩個都要計算。同理,計算出:fOf.tniFI 1i.kjuthy=-0.019049119兩者相加得到總值:OuiflhlHaute+ fe= 0.055399425 - -0.019049119 = 0.036350306“力紳上outhil+e-,r,Aia”力式=wi(l - 3南Q - 0.59326999(1 - 0.59326999) - 0.211300709再計算nethi = ui *。+ 4鼻 * &十瓦 * 1喻”。5最后,三者相乘:tJw-lgh 1De hi%=0.036350306 * 0,241300709 * 0.05 =
12、0.000438568為了簡化公式,用sigma(h1/示隱含層單元hl的誤差:CiWlfJnctn 加h, 高加四 OutM inetht i)Wi“黑丁 =J *i(l - outhi) * ioJEyz*中九dwi 一人1*1最后,更新w1的權值:叫=li八 一 = 015 - 0.5 * 0.000438568 =(M49780716同理,額可更新w2,w3,w4的權值:wl = 0.19956143wj = 0.24975114岷=0,29950229這樣誤差反向傳播法就完成了,最后我們再把更新的權值重新計算, 不停地迭代,在這個例子 中第一次迭代之后,總誤差 E(total)由0.
13、298371109下降至0.291027924迭代10000次后,總 誤差為0.000035085,輸出為0.015912196,0.984065734原輸入為0.01,0.99),證明效果還是不 錯的。88888888888888888888888888888888888888888888888888888888888888clearallclcclosealli1=0.05; i2=0.10;o1=0.01; o2=0.99;w1=0.15; w2=0.20; w3=0.25; w4=0.30; b1=0.35;w5=0.40; w6=0.45; w7=0.50; w8=0.55; b2=
14、0.6;% alpha=38.9% epoch=6000;alpha=0.5epoch=10000;for k=1:epoch% forward:hidden layers net_h1=w1*i1+w2*i2+b1*1;out_h1=1/(1+exp(-net_h1); net_h2=w3*i1+w4*i2+b1*1;out_h2=1/(1+exp(-net_h2);%forward:output layernet_o1=w5*out_h1+w6*out_h2+b2*1;net_o2=w7*out_h1+w8*out_h2+b2*1;out_o1=1/(1+exp(-net_o1); out
15、_o2=1/(1+exp(-net_o2);% cost functionE_total(k)=(out_o1-o1)A2+(out_o2-o2)A2)/2;% backward: output layerdE_dw5=-(o1-out_o1)*out_o1*(1-out_o1)*out_h1;dE_dw6=-(o1-out_o1)*out_o1*(1-out_o1)*out_h2;dE_dw7=-(o2-out_o2)*out_o2*(1-out_o2)*out_h1;dE_dw8=-(o2-out_o2)*out_o2*(1-out_o2)*out_h2;% backward: hidde
16、n layerdE_douto1=-(o1-out_o1);douto1_dneto1=out_o1*(1-out_o1);% dEo1_douth1=-(o1-out_o1)*out_o1*(1-out_o1)dEo1_dneto1=dE_douto1*douto1_dneto1;dEo1_douth1=dEo1_dneto1*w5;dEo1_douth2=dEo1_dneto1*w6;dE_douto2=-(o2-out_o2);douto2_dneto2=out_o2*(1-out_o2);% dEo1_douth1=-(o1-out_o1)*out_o1*(1-out_o1)dEo2_dneto2=dE_douto2*douto2_dneto2;dEo2_douth1=dEo2_dneto2*w7;dEo2_douth2=dEo2_dneto2*w8;dE_dw1=(dEo1_douth1+dEo2_douth1)*out_h1*(1-out_h1)*i1;dE_dw2=(dEo1_douth1+dEo2_douth1)*out_h1*(1-out_h1)*i2; dE_dw3=(dEo1_douth2+dEo2_douth2)*ou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高考地理一輪復習專練70滾動訓練三必修一+必修二+必修三專練1~專練69含解析新人教版
- 2025高考數(shù)學考點剖析精創(chuàng)專題卷五-數(shù)列【含答案】
- 2024年湖北城市建設職業(yè)技術學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- Unit2復習卷2024-2025學年人教版八年級英語上冊
- 四年級語文上冊第一單元第3課現(xiàn)代詩二首品讀釋疑課件新人教版
- 九年級歷史上冊第七單元工業(yè)革命和國際共產(chǎn)主義運動的興起第21課馬克思主義的誕生和國際共產(chǎn)主義運動的興起課件新人教版
- 常用介詞(專項訓練)-2024-2025學年人教PEP版英語六年級下冊
- 二零二五年度廠房租賃及知識產(chǎn)權保護合同3篇
- 2024年江西財經(jīng)職業(yè)學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 2024年江西新能源科技職業(yè)學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 2024-2025學年成都青羊區(qū)九上數(shù)學期末考試試卷【含答案】
- 2025年競聘醫(yī)院內(nèi)科醫(yī)生崗位演講稿模版(3篇)
- 虛擬貨幣地址分析技術的研究-洞察分析
- 綠色供應鏈管理制度內(nèi)容
- 心理學基礎知識考試參考題庫500題(含答案)
- 電力智慧檢修安全運行三維可視化管理平臺建設方案
- 一年級數(shù)學(上)計算題專項練習集錦
- 消防安全應急預案下載
- 《北航空氣動力學》課件
- 附件:財政業(yè)務基礎數(shù)據(jù)規(guī)范(3.0版)
- 電商公司售后服務管理制度
評論
0/150
提交評論