網(wǎng)站和做游戲網(wǎng)站優(yōu)化排名服務(wù)
正向傳播(Forward Propagation)
正向傳播是指將輸入數(shù)據(jù)通過(guò)神經(jīng)網(wǎng)絡(luò),計(jì)算出預(yù)測(cè)值的過(guò)程。具體步驟如下:
- 輸入層:接受輸入數(shù)據(jù)。
- 隱藏層:每個(gè)隱藏層中的神經(jīng)元接收上一層的輸出,進(jìn)行加權(quán)求和,再經(jīng)過(guò)激活函數(shù)得到輸出。
- 輸出層:最后一層的神經(jīng)元將隱藏層的輸出再次加權(quán)求和并通過(guò)激活函數(shù),得到最終的預(yù)測(cè)結(jié)果。
?
上圖是一個(gè)簡(jiǎn)單的二層神經(jīng)網(wǎng)絡(luò)
正向傳播的公式如下(以簡(jiǎn)單的單層網(wǎng)絡(luò)為例):
是權(quán)重矩陣,
是輸入向量,
是偏置向量,
是激活函數(shù),
是輸出結(jié)果
反向傳播(Backward Propagation)
反向傳播是指根據(jù)損失函數(shù)計(jì)算出的誤差,通過(guò)鏈?zhǔn)椒▌t(Chain Rule)逐層計(jì)算并更新網(wǎng)絡(luò)中的參數(shù)(權(quán)重和偏置)以最小化誤差的過(guò)程。具體步驟如下:
- 計(jì)算損失:使用損失函數(shù)計(jì)算預(yù)測(cè)值與真實(shí)值之間的誤差。例如,使用均方誤差(MSE)或交叉熵?fù)p失。
- 誤差反向傳播:從輸出層開(kāi)始,計(jì)算損失相對(duì)于每個(gè)參數(shù)的梯度。通過(guò)鏈?zhǔn)椒▌t,將梯度逐層傳遞回去。
- 參數(shù)更新:使用優(yōu)化算法(如梯度下降)更新每個(gè)參數(shù),使損失最小化。參數(shù)更新公式如下:
是更新前的權(quán)重,
是更新后的權(quán)重,
是學(xué)習(xí)速率,
是損失函數(shù)相對(duì)于權(quán)重的梯度。
關(guān)系與作用
- 信息傳遞:正向傳播將輸入數(shù)據(jù)的信息從輸入層傳遞到輸出層,計(jì)算模型的預(yù)測(cè)結(jié)果;反向傳播根據(jù)損失函數(shù)的梯度信息,將誤差信號(hào)從輸出層傳遞回每一層的參數(shù),用于參數(shù)的更新。
- 依賴(lài)關(guān)系:反向傳播依賴(lài)于正向傳播的計(jì)算結(jié)果。只有在進(jìn)行了正向傳播并得到預(yù)測(cè)結(jié)果后,才能計(jì)算損失函數(shù)并使用鏈?zhǔn)椒▌t進(jìn)行梯度計(jì)算。
- 整體學(xué)習(xí)過(guò)程:正向傳播和反向傳播是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程中不可或缺的兩個(gè)步驟。正向傳播計(jì)算預(yù)測(cè)結(jié)果,反向傳播根據(jù)預(yù)測(cè)結(jié)果與真實(shí)標(biāo)簽的差距來(lái)調(diào)整模型參數(shù),使得模型在訓(xùn)練過(guò)程中不斷優(yōu)化。
通過(guò)正向傳播和反向傳播的結(jié)合,神經(jīng)網(wǎng)絡(luò)能夠根據(jù)輸入數(shù)據(jù)學(xué)習(xí)并調(diào)整參數(shù),從而實(shí)現(xiàn)對(duì)復(fù)雜問(wèn)題的有效建模和預(yù)測(cè)。
示例:神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程
假設(shè)我們有一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)模型,包含一個(gè)輸入層、一個(gè)隱藏層和一個(gè)輸出層,具體如下
-
網(wǎng)絡(luò)結(jié)構(gòu):
- 輸入層:2個(gè)特征輸入
- 隱藏層:3個(gè)神經(jīng)元,使用ReLU激活函數(shù)
- 輸出層:1個(gè)神經(jīng)元,使用sigmoid激活函數(shù)
?
-
正向傳播(Forward Propagation):
在正向傳播過(guò)程中,我們將輸入數(shù)據(jù)
?通過(guò)網(wǎng)絡(luò)層,計(jì)算得到模型的預(yù)測(cè)輸出
。
其中:
正向傳播計(jì)算出了模型的預(yù)測(cè)輸出?
,即模型對(duì)輸入數(shù)據(jù)的預(yù)測(cè)結(jié)果。
- 輸入層到隱藏層:
? ? ?
- 隱藏層到輸出層:
? ??
?是輸入特征向量。
是隱藏層的權(quán)重和偏置。
是輸出層的權(quán)重和偏置。
是激活函數(shù)。
?是sigmoid激活函數(shù)。
- 輸入層到隱藏層:
-
損失計(jì)算:
使用損失函數(shù)
計(jì)算預(yù)測(cè)輸出
? 與真實(shí)標(biāo)簽
?之間的差異。
-
反向傳播(Backward Propagation):
反向傳播根據(jù)損失函數(shù)的梯度,從輸出層向隱藏層和輸入層傳播,計(jì)算每個(gè)參數(shù)的梯度并更新參數(shù)。
其中,
表示逐元素相乘,
?是ReLU激活函數(shù)的導(dǎo)數(shù)。
-
計(jì)算輸出層的梯度:
-
計(jì)算隱藏層的梯度:
-
?
相互依賴(lài)性的體現(xiàn)
-
信息流動(dòng):
- 正向傳播計(jì)算出預(yù)測(cè)結(jié)果?
,反向傳播使用
?和真實(shí)標(biāo)簽
的差異來(lái)計(jì)算梯度。
- 反向傳播的梯度計(jì)算依賴(lài)于正向傳播的預(yù)測(cè)輸出?
?,因?yàn)樘荻仁腔趽p失函數(shù)對(duì)輸出層的輸出(即
?)的導(dǎo)數(shù)計(jì)算的。
- 正向傳播計(jì)算出預(yù)測(cè)結(jié)果?
-
參數(shù)更新:
- 反向傳播計(jì)算出的梯度用于更新神經(jīng)網(wǎng)絡(luò)的參數(shù)(權(quán)重和偏置)。
- 更新后的參數(shù)影響到下一次的正向傳播,從而影響到預(yù)測(cè)輸出
? 的計(jì)算結(jié)果。
-
迭代優(yōu)化:
- 每一次迭代中,正向傳播計(jì)算出新的預(yù)測(cè)結(jié)果,反向傳播根據(jù)這些預(yù)測(cè)結(jié)果計(jì)算出新的梯度,并用于參數(shù)更新。
- 這種正向傳播和反向傳播的迭代過(guò)程不斷優(yōu)化模型,使得模型能夠逐步逼近最優(yōu)解。