91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中BackPropagation鏈式法則是什么

發布時間:2021-11-12 13:47:04 來源:億速云 閱讀:140 作者:小新 欄目:開發技術

這篇文章主要介紹python中BackPropagation鏈式法則是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1.鏈式法則

python中BackPropagation鏈式法則是什么

根據以前的知識,如果我們需要尋找到目標參數的值的話,我們需要先給定一個初值,然后通過梯度下降,不斷對其更新,直到最終的損失值最小即可。而其中最關鍵的一環,就是梯度下降的時候,需要的梯度,也就是需要求最終的損失函數對參數的導數。

如下圖,假設有一個神經元,是輸入層,有2個數據,參數分別是w1和w2,偏置項為b,那么我們需要把這些參數組合成一個函數z,然后將其輸入到sigmoid函數中,便可得到該神經元的輸出結果。過程中,z對w求導十分好算,就是x1和x2。根據鏈式法則,如下圖左下角所示,我們整體的計算過程就是,通過前向傳播求出z對w的偏導,再通過反向傳播找到損失函數C對z的偏導。

python中BackPropagation鏈式法則是什么

2.前向傳播

計算z對w的偏導:前向傳播相當簡單,對參數的偏導結果就是參數對應的輸入數據,如下圖所示。輸入數據對于輸入層來說就是原始數據1和-1,對于其他層,輸入數據就是通過sigmoid轉換后的輸出結果。

python中BackPropagation鏈式法則是什么

3.后向傳播

計算C對z的偏導:

設每一個神經元中,sigmoid函數最終的輸出為a,則C對z的偏導,根據鏈式法則,就可以寫作a對z的偏導,乘上C對a的偏導。

a對z的偏導,只是一個sigmoid函數,該函數偏導可以計算。

C對a的偏導,由于a輸入進了下一層的多個神經元,假設有2個,因此,C對a的偏導,等于分別對這兩個神經元求偏導并求和。比如第一個神經元z' = 輸入a*權重w3+...,那么C對這個神經元求偏導,就是C對z'求偏導,乘上z'對a求偏導,后一項十分簡單,就是w3;對于z''來說,對a求偏導就是w4

那么問題又變成了,C對z', z''求偏導的結果是什么?

python中BackPropagation鏈式法則是什么

假!如! 損失函數C對z'和z''的偏導已知了:

以上C對z求偏導的計算過程,可以寫作以下的式子,括號外就是a對z求偏導,括號內就是C對a求偏導:

python中BackPropagation鏈式法則是什么

這個式子可以看做一個反向傳播的神經元,如下圖所示:

這個神經元中,損失函數C對sigmoid轉化前的z' 和z''求導的結果,就是輸入,權重w3,w4是輸入對應的權重,將這兩個輸入乘上參數后相加,再和sigmoid函數對z的導數相乘,最終得到C對z的偏導。而sigmoid對z的導數,這個是常數,并且已經是確定了的,因為我們通過前向傳播計算,就已經能夠將其確定。

python中BackPropagation鏈式法則是什么

有了第一個反向傳播的輸出結果,那么就可以有隱藏層的其他神經元所需要的結果,以此類推,對于所有神經元,我們均可算出損失函數對其z的偏導。有了這個,那么我們結合z對w的偏導,就可以計算出每一個參數w的梯度。從而進行梯度下降。

4.計算方式整理

假設我們計算的是輸出層,那么我們通過前向傳播后,已經得到了一個輸出了,于是就已經有損失函數C了,同時前向傳播也讓我們得到了z'和z'',那么所有需要的數據已就緒,可以直接計算出來C對z'和z''的偏導。

python中BackPropagation鏈式法則是什么

假如我們計算的是中間層,在計算C對z'的偏導的時候,還需要下一層通過反向傳播給到的C對兩個其他z的結果,那么我們就繼續往下計算,繼續尋找下一層計算的時候,需要的下下一層的信息,一直到輸出層后,我們得到一個,再往回推,以此遞歸計算前面待定的所有項。

python中BackPropagation鏈式法則是什么

5.總結

既然我們需要輸出層的內容作為反向傳播的輸入,我們在進行完前向傳播之后,就別考慮前面需要什么求導了,干脆直接從結尾開始算起,得到每一層的損失函數C對每一個z的偏導即可。

python中BackPropagation鏈式法則是什么

至此,我們得到了每一個神經元前向傳播的z對w的偏導(其實就是sigmoid轉化后的輸出a),以及每一個神經元反向傳播后的C對z的偏導,二者相乘,就得到了我們需要的結果,也就是每一個參數的梯度。

python中BackPropagation鏈式法則是什么

以上是“python中BackPropagation鏈式法則是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

田林县| 邵阳市| 沁阳市| 临颍县| 德昌县| 桑日县| 清远市| 长汀县| 曲麻莱县| 宜州市| 汾西县| 探索| 尉氏县| 邢台县| 金溪县| 延边| 图们市| 平陆县| 华安县| 武鸣县| 什邡市| 千阳县| 肇源县| 垣曲县| 广宗县| 锦州市| 新沂市| 文化| 苗栗县| 康乐县| 龙南县| 土默特右旗| 甘孜| 云安县| 霸州市| 凯里市| 荆州市| 马关县| 沧州市| 丹阳市| 郁南县|