前向傳播和反向傳播是神經(jīng)網(wǎng)絡(luò)中的重要基礎(chǔ)。兩者存在一些聯(lián)系,所以本文將兩者一起講述放闺,有利于大家理解。同時(shí)反向傳播是理解神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的重點(diǎn)缕坎,需要一些微積分基礎(chǔ)(導(dǎo)數(shù)怖侦,偏導(dǎo)數(shù),鏈?zhǔn)椒▌t)。如果你準(zhǔn)備好了匾寝,那我們開始吧搬葬。
1.前向傳播Forward-Propagation
前向傳播如圖所示:圖片下方的單詞表示該層所使用的active function。
Input Layer-->h1 Layer矩陣計(jì)算細(xì)節(jié):
舉個(gè)例子:
h1 Layer-->h2 Layer矩陣計(jì)算細(xì)節(jié):
例子:
h2 -->output 矩陣計(jì)算細(xì)節(jié):
例子:
上面的[0.2698, 0.3223, 0.4078]艳悔,便是我們將[0.1, 0.2, 0.7]輸入模型后得到的結(jié)果急凰。好了我們來(lái)通俗解釋一下什么是前向傳播。
Forward-propagation:將固定的數(shù)值的一個(gè)樣本
輸入模型猜年,模型利用weight 抡锈,bias(隨機(jī)初始),active function對(duì)
進(jìn)行一系列的運(yùn)算最后輸出一個(gè)結(jié)果
(actual output)码倦。
2.損失函數(shù) loss function
好奇的小伙伴可能會(huì)想不是要說(shuō)back-propagation么企孩?為什么搞個(gè)loss function 出來(lái)?慢慢看下去你就明白了袁稽。
在監(jiān)督學(xué)習(xí)的任務(wù)中勿璃,我們會(huì)有大量的固定的輸入和固定的輸出
(desired output)作為樣本。我們將一個(gè)樣本
輸入?yún)?shù)隨機(jī)初始化后的模型得到一個(gè)輸出
推汽,但
只是一個(gè)估計(jì)值补疑,我們想得到的是
。于是就想怎么樣可以使
盡量的接近
呢歹撒?這個(gè)問(wèn)題好像有點(diǎn)復(fù)雜莲组,那我們先衡量一下
和
的差距吧。
均方誤差 MSE(mean square error)常用于回歸任務(wù):
交叉熵 (cross-entropy)常用于分類任務(wù):
我們知道在訓(xùn)練階段暖夭,模型的輸入和輸出
是固定的锹杈,只能夠調(diào)節(jié)模型中的weight和bias 使
盡量的接近
,即調(diào)節(jié)模型中的參數(shù)使loss function計(jì)算出的loss盡可能的小迈着。更進(jìn)一步的可以理解為:
當(dāng)loss 逐步變小時(shí)竭望,weight和bias應(yīng)該如何變化。原來(lái)loss function 就像一個(gè)教練裕菠,它能夠指導(dǎo)模型去學(xué)習(xí)最優(yōu)的weight和bias去完成預(yù)測(cè)任務(wù)咬清。
具體的weight和bias的更新過(guò)程就是back-propagation所要做的啦。
例子:
3.反向傳播 Back-Propagation
output Layer-->h2 Layer的反向傳播:
a. 與
的變化關(guān)系:
例子:
b. 與
的變化關(guān)系:
例子:
c.與
的變化關(guān)系:
例子:
d.與
的變化關(guān)系:由鏈?zhǔn)椒▌t可得
例子:
以0.01的學(xué)習(xí)率對(duì) 更新:
h2 Layer-->h1 Layer的反向傳播:
a.與
的變化關(guān)系:
例子:
b.與
的變化關(guān)系:
例子:
c.與
的變化關(guān)系:由鏈?zhǔn)椒▌t可得
例子:
d.與
的變化關(guān)系:由鏈?zhǔn)椒▌t可得
例子:
以0.01的學(xué)習(xí)率對(duì)進(jìn)行更新:
h1 Layer-->Input Layer 的反向傳播:
a.與
的變化關(guān)系:
例子:
b.與
的變化關(guān)系:
例子:
c.與的變化關(guān)系:由鏈?zhǔn)椒▌t可得
例子:
c.與
的變化關(guān)系:由鏈?zhǔn)椒▌t可得
例子:
以0.01的學(xué)習(xí)率對(duì)進(jìn)行更新:
4.總結(jié)
模型隨機(jī)初始化的全部weight:
向模型輸入一個(gè)樣本
:[0.1, 0.2, 0.7]和
:[1.0, 0.0, 0.0],通過(guò)forward propagation 模型輸出一個(gè)結(jié)果
:[0.2698, 0.3223, 0.4078]。然后利用loss function 計(jì)算
與
的loss,以loss 變小為原則指導(dǎo)back propagation泽腮,最終實(shí)現(xiàn)weight的一次更新。
更新后的全部weight:
小伙伴們?nèi)绻X(jué)得文章還行的請(qǐng)點(diǎn)個(gè)贊呦>蚣簟!同時(shí)覺(jué)得文章哪里有問(wèn)題的可以評(píng)論一下 謝謝你奈虾!