【TensorFlow篇】--反向傳播

LHBlog發表於2018-03-27

一、前述

反向自動求導是 TensorFlow 實現的方案,首先,它執行圖的前向階段,從輸入到輸出,去計算節點
值,然後是反向階段,從輸出到輸入去計算所有的偏導。

二、具體

1、舉例

 

圖是第二個階段,在第一個階段中,從 x =3和 y =4開始去計算所有的節點值
f ( x / y )=x 2 * y + y + 2
求解的想法是逐漸的從圖上往下,計算 f ( x , y )的偏導,使用每一個連續的節點,直到我們到達變數節
點,嚴重依賴鏈式求導法則!

2.具體過程:

 因為n7是輸出節點,所以f=n7,所以?f/??7= 1

 讓我們繼續往下走到n5節點,?f/??5=?f/??7∗??7/??5 . 我們已知?f/??7=1,所以我們需要知道??7/??5 ,因為n7=n5+n6,所以我們求得??7/??5=1,所以?f/??5=1*1=1

 現在我們繼續走到節點n4,?f/??4=?f/??5∗??5/??4,因為n5=n4*n2,我們求得�?5/??4=n2,?f/??4=1*4

 沿著圖一路向下,我們可以計算出所有節點,就能計算出 ??/?x= 24,??/?y= 10

 那我們就可以利用和上面類似的方式方法去計算??/??

相關文章