4-2 前向傳播和反向傳播


前向傳播和反向傳播( Forward and backward propagation) 

前向傳播

假設輸入${a^{[l - 1]}}$,輸出${a^{[l]}}$,緩存${z^{[l]}}$,從實現的角度來說緩存${w^{[l]}}$,${b^{[l]}}$更容易在不同的環節調用函數。

向量化實現過程可以寫成:

前向傳播需要喂入數據${A^{[0]}}$也就是X來初始化。

對於多層神經網絡,在計算從第1層到第L層時,只能使用for循環來實現。

反向傳播

輸入$d{a^{[l]}}$,輸出$d{a^{[l-1]}}$,$d{w^{[l]}}$,$d{b^{[l]}}$。

所以反向傳播的步驟可以寫成:

 

前四個式子用於實現反向傳播,式子(5)是由式子(4)帶入到式子(1)中得到的。

向量化的實現:

舉個例子:

上面的神經網絡,第一層、第二層都是Relu激活函數,最后輸出層是sigmoid函數。

前向傳播,輸入X,通過三個激活函數最終輸出$\hat y$,並從而計算損失函數:$L(\hat y,y)$。

反向傳播,依次計算$d{w^{[3]}}$,$d{b^{[3]}}$,$d{w^{[2]}}$,$d{b^{[2]}}$,$d{w^{[1]}}$,$d{b^{[1]}}$,在計算的過程中,緩存會把${z^{\left[ 1 \right]}}{z^{\left[ 2 \right]}}{z^{\left[ 3 \right]}}$傳遞過來,然后回傳$d{a^{[2]}}$,$d{a^{[1]}}$。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM