人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

python深度學(xué)習(xí)人工智能BackPropagation鏈?zhǔn)椒▌t

發(fā)布日期:2021-12-11 21:32 | 文章來源:源碼中國

1.鏈?zhǔn)椒▌t

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

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

2.前向傳播

計算z對w的偏導(dǎo):前向傳播相當(dāng)簡單,對參數(shù)的偏導(dǎo)結(jié)果就是參數(shù)對應(yīng)的輸入數(shù)據(jù),如下圖所示。輸入數(shù)據(jù)對于輸入層來說就是原始數(shù)據(jù)1和-1,對于其他層,輸入數(shù)據(jù)就是通過sigmoid轉(zhuǎn)換后的輸出結(jié)果。

3.后向傳播

計算C對z的偏導(dǎo):

設(shè)每一個神經(jīng)元中,sigmoid函數(shù)最終的輸出為a,則C對z的偏導(dǎo),根據(jù)鏈?zhǔn)椒▌t,就可以寫作a對z的偏導(dǎo),乘上C對a的偏導(dǎo)。

a對z的偏導(dǎo),只是一個sigmoid函數(shù),該函數(shù)偏導(dǎo)可以計算。

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

那么問題又變成了,C對z', z''求偏導(dǎo)的結(jié)果是什么?

假!如! 損失函數(shù)C對z'和z''的偏導(dǎo)已知了:

以上C對z求偏導(dǎo)的計算過程,可以寫作以下的式子,括號外就是a對z求偏導(dǎo),括號內(nèi)就是C對a求偏導(dǎo):

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

這個神經(jīng)元中,損失函數(shù)C對sigmoid轉(zhuǎn)化前的z' 和z''求導(dǎo)的結(jié)果,就是輸入,權(quán)重w3,w4是輸入對應(yīng)的權(quán)重,將這兩個輸入乘上參數(shù)后相加,再和sigmoid函數(shù)對z的導(dǎo)數(shù)相乘,最終得到C對z的偏導(dǎo)。而sigmoid對z的導(dǎo)數(shù),這個是常數(shù),并且已經(jīng)是確定了的,因?yàn)槲覀兺ㄟ^前向傳播計算,就已經(jīng)能夠?qū)⑵浯_定。

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

4.計算方式整理

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

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

5.總結(jié)

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

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

以上就是python深度學(xué)習(xí)人工智能BackPropagation鏈?zhǔn)椒▌t的詳細(xì)內(nèi)容,更多關(guān)于python人工智能BackPropagation鏈?zhǔn)椒▌t的資料請關(guān)注本站其它相關(guān)文章!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時開通

自選配置、實(shí)時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部