神經網路

前向傳播(forward pass)

/ FOR-ward pass /

前向傳播,不過就是把資料從頭到尾在神經網路裡跑一遍、得出一個答案的動作。你遞給網路一個輸入——一張照片、一句話、一行數字——它便按順序流過每一層:每個神經元算出自己的加權和,加上偏置,施加激活函數,再把輸出傳給下一層,直到最後一層產生一個結果。這就像把一個問題丟進機器的頂端,看著答案從底部掉出來。

前向傳播過程中什麼也學不到。權重和偏置都保持固定不變;這一趟只是用它們來計算。每當你真正使用一個訓練好的模型時,發生的恰恰是這件事——當翻譯應用譯出你的句子,或相簿應用標出一張臉時,它正在做的就是一次前向傳播。從這個意義上說,前向傳播就是推斷:網路在應用它已經掌握的東西。

在訓練中,前向傳播只是每一步的前半段。你把一個輸入向前跑一遍得到網路的預測,然後用一個損失函數(衡量它錯得有多離譜)把它與正確答案相比較。後半段——反向傳播——把那個誤差沿著同一個網路回溯,弄清楚該如何調整每個權重。所以前向傳播扮演著兩種角色:在日常使用中獨當一面,以及作為每一個學習步驟的開場動作。

向一個訓練好的語言模型提問「法國的首都是哪裡?」這些詞被變成數字,這些數字依次向前流過每一層,從另一端出來的便是「巴黎」。沒有任何一個權重發生改變;模型只是用它已經學到的東西做了計算。這一趟,就是一次前向傳播。

一次前向傳播 = 讓輸入流過固定的網路,得到一個預測。

前向傳播 = 算出答案;反向傳播 = 算出該如何改進。使用一個已部署的模型全是前向傳播(推斷);訓練則把兩者交替進行。單憑前向傳播,永遠不會改變任何一個權重。

又稱
forward propagationinference pass前向传播前向傳播正向传播