

根據Chain Rule可以把  寫成 
,而計算 
 的過程我們稱為正向傳遞(Forward pass),計算 
 的過程我們稱為反向傳遞(Backward pass)。

從計算結果可以發現, 只要看 
 前面接的是什麼,
 的微分就是什麼。

要計算Neural Network裡面的每一個weight對它的Activation function的輸入  的偏微分,就只要把輸入丟進去,然後去計算每一個Neuron的輸出就可以了,這個步驟我們就稱之為正向傳遞(Forward pass)。

假設Activation function是Sigmoid function, 通過Sigmoid function得到 
,接著 
 會乘上一個weight再加上一些value得到 
,
 還會在乘上另一個weight再加上一些value得到 
。
將  經過Chain Rule寫成 
,其中 
 就是這個Sigmoid function的微分。

 經過Chain Rule寫成 
,而我們可以很容易看出 
,但我們不知道 
 對 
 的關係,所以先假設我們知道 
 的值。

而有了  我們就可以算出 
 得出下圖的式子。

我們可以將那個式子畫成像是Neuron一樣,而根據前向傳遞我們知道了 ,所以 
 是一個常數。

第一個Case:假設橘色的這兩個Neuron是Output layer,那今天你要算  就相對簡單。

第二個Case:假設橘色的這兩個Neuron不是Output layer,那根據前面學的我們想要算出前面的偏微分,就必須要先知道後面的偏微分,就等於是我們就要一直往後看下一個layer直到Output layer。
但是其實我們只需要換一個方向,從Output layer開始算回去的做法就叫做反向傳遞(Backward pass),我們可以建另外一個反向的Neural Network,它的Activation function需要先算完Forward pass之後才算的出來,其他都跟一般的Neural Network計算一樣,就可以算出 。

