新聞中心
文章《Principles of training multi-layer neural network using backpropagation 》提供了直觀理解反向傳播的完整例子。以下是原文翻譯。

創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè),為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。
文章描述采用反向傳播算法訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程。為了說明這個(gè)過程,使用了具有兩個(gè)輸入和一個(gè)輸出的三層神經(jīng)網(wǎng)絡(luò),如下圖所示:
每個(gè)神經(jīng)元由兩部分組成。***部分是輸入信號和權(quán)重系數(shù)的加權(quán)和。第二部分是非線性函數(shù),稱為神經(jīng)元激活函數(shù)。信號e是加權(quán)和的輸出(加法器的輸出)信號。y=f(e)是非線性函數(shù)(元件)的輸出信號。信號y也是神經(jīng)元的輸出信號。
要訓(xùn)練神經(jīng)網(wǎng)絡(luò),我們需要“訓(xùn)練數(shù)據(jù)集”。訓(xùn)練數(shù)據(jù)集是由對應(yīng)目標(biāo)z(期望輸出)的輸入信號(x_1和 x_2)組成。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是一個(gè)迭代過程。在每個(gè)迭代中,使用來自訓(xùn)練數(shù)據(jù)集的新數(shù)據(jù)修改網(wǎng)絡(luò)節(jié)點(diǎn)的加權(quán)系數(shù)。整個(gè)迭代由前向計(jì)算和反向傳播兩個(gè)過程組成。
前向計(jì)算:每個(gè)學(xué)習(xí)步驟從來自訓(xùn)練集的兩個(gè)輸入信號開始。前向計(jì)算完成之后,我們可以確定每層網(wǎng)絡(luò)中每個(gè)神經(jīng)元的輸出信號值(譯者注:隱藏層神經(jīng)元的誤差是沒有的,因?yàn)橛?xùn)練數(shù)據(jù)集中沒有隱藏層的目標(biāo)值)。下圖顯示了信號如何通過網(wǎng)絡(luò)傳播,符號w(xm) 表示網(wǎng)絡(luò)輸入x_m和神經(jīng)元n之間的連接權(quán)重。符號y_n 表示神經(jīng)元n的輸出信號。
隱藏層信號傳播。符號w_mn表示神經(jīng)元m的輸出和后一層神經(jīng)元n的輸入之間的連接權(quán)重 。
輸出層信號傳播:
在下一個(gè)算法步驟中,將網(wǎng)絡(luò)y的輸出信號與訓(xùn)練數(shù)據(jù)集中的輸出值(目標(biāo))進(jìn)行比較。差異稱為輸出層神經(jīng)元的誤差信號δ。
因?yàn)殡[層神經(jīng)元的輸出值(訓(xùn)練集沒有隱藏層的目標(biāo)值)是未知的,所以不可能直接計(jì)算內(nèi)部神經(jīng)元的誤差信號。多年來,一直沒有找到訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)的有效方法。直到在八十年代中期,反向傳播算法才被制定出來。反向傳播算法是將誤差信號δ(在單個(gè)訓(xùn)練步驟中計(jì)算)傳播回所有神經(jīng)元,對于神經(jīng)元來說,誤差信號反向傳播。
用于傳播誤差的權(quán)重系數(shù)w_mn等于前向計(jì)算使用的權(quán)重系數(shù),只是數(shù)據(jù)流的方向改變(信號從輸出到輸入一個(gè)接一個(gè)地傳播)。該技術(shù)用于所有網(wǎng)絡(luò)層。如果誤差是來自多個(gè)神經(jīng)元,則把它們加起來(譯者注:反向來看,也是加權(quán)和)。下圖所示:
計(jì)算每個(gè)神經(jīng)元的誤差信號,用于修改每個(gè)神經(jīng)元輸入連接的加權(quán)系數(shù)。在下面的公式中, df(e)/de表示神經(jīng)元激活函數(shù)的導(dǎo)數(shù)。影響權(quán)重的因素除了神經(jīng)元激活函數(shù)的導(dǎo)數(shù)之外,還有反向傳播的誤差信號,以及神經(jīng)元輸入方向連接的前一個(gè)神經(jīng)元。(譯者注:這里忽略了推導(dǎo)過程,直接給出權(quán)重的修改方法。具體的推導(dǎo)過程參考我的前一篇文章:《誤差反向傳播算法淺解》。原理是一樣的,影響權(quán)重的三個(gè)因素體現(xiàn)在下面的公式中。)。
其中系數(shù)η影響網(wǎng)絡(luò)訓(xùn)練速度。有幾種技術(shù)來選擇此參數(shù)。***種方法是開始具有較大參數(shù)值。當(dāng)權(quán)重系數(shù)正在建立時(shí),參數(shù)逐漸減少。第二個(gè)方法是開始用小參數(shù)值進(jìn)行訓(xùn)練。在訓(xùn)練過程中,參數(shù)逐漸增加,然后在***階段再次下降。開始具有低參數(shù)值的訓(xùn)練過程能夠確定權(quán)重系數(shù)。
【本文是專欄作者石頭的原創(chuàng)文章,轉(zhuǎn)載請通過作者微信公眾號補(bǔ)天遺石(butianys)獲取授權(quán)】
網(wǎng)站欄目:使用反向傳播訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)的原理
轉(zhuǎn)載注明:http://m.fisionsoft.com.cn/article/dpdheig.html


咨詢
建站咨詢
