TensorFlow中的BP算法原理是什么,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)主營延長網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),延長h5小程序設(shè)計搭建,延長網(wǎng)站營銷推廣歡迎延長等地區(qū)企業(yè)咨詢一.反向傳播算法
反向傳播算法[1](Backpropagation Algorithm,簡稱BP算法)是深度學(xué)習(xí)的重要思想基礎(chǔ),對于初學(xué)者來說也是必須要掌握的基礎(chǔ)知識,在這一小節(jié)里,我們會較為詳細的介紹這一重點知識。
我們使用一個如圖1所示的神經(jīng)網(wǎng)絡(luò),該圖所示是一個三層神經(jīng)網(wǎng)絡(luò),兩層隱藏層和一層輸出層,輸入層有兩個神經(jīng)元,接收輸入樣本(x1,x2),為網(wǎng)絡(luò)的輸出。
圖1 一個三層神經(jīng)網(wǎng)絡(luò)
二.前饋計算的過程
為了理解神經(jīng)網(wǎng)絡(luò)的運算過程,我們需要先搞清楚前饋計算,即數(shù)據(jù)沿著神經(jīng)網(wǎng)絡(luò)前向傳播的計算過程,以圖1所示的網(wǎng)絡(luò)為例:
輸入的樣本為:
公式1
第一層網(wǎng)絡(luò)的參數(shù)為:
公式2
第二層網(wǎng)絡(luò)的參數(shù)為:
公式3
第三層網(wǎng)絡(luò)的參數(shù)為:
公式4
·第一層隱藏層的計算
圖2 計算第一層隱藏層
第一層隱藏層有三個神經(jīng)元:neu1、neu2和neu3。該層的輸入為:
公式5
以neu1神經(jīng)元為例,則其輸入為:
公式6
同理有:
公式7
公式8
假設(shè)我們選擇函數(shù)f(x)作為該層的激活函數(shù)(圖1中的激活函數(shù)都標(biāo)了一個下標(biāo),一般情況下,同一層的激活函數(shù)都是一樣的,不同層可以選擇不同的激活函數(shù)),那么該層的輸出為:
·第二層隱藏層的計算
圖3 計算第二層隱藏層
第二層隱藏層有兩個神經(jīng)元:neu4和neu5。該層的輸入為:
公式9
即第二層的輸入是第一層的輸出乘以第二層的權(quán)重,再加上第二層的偏置。因此得到neu4和neu5的輸入分別為:
公式10
公式11
該層的輸出分別為:
·輸出層的計算
圖4 計算輸出層
輸出層只有一個神經(jīng)元:neu6。該層的輸入為:
公式12
即:
公式13
因為該網(wǎng)絡(luò)要解決的是一個二分類問題,所以輸出層的激活函數(shù)也可以使用一個Sigmoid型函數(shù),神經(jīng)網(wǎng)絡(luò)最后的輸出為:
三.反向傳播的計算
上一小節(jié)里我們已經(jīng)了解了數(shù)據(jù)沿著神經(jīng)網(wǎng)絡(luò)前向傳播的過程,這一節(jié)我們來介紹更重要的反向傳播的計算過程。假設(shè)我們使用隨機梯度下降的方式來學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的參數(shù),損失函數(shù)定義為
其中y是該樣本的真實類標(biāo)。使用梯度下降進行參數(shù)的學(xué)習(xí),我們必須計算出損失函數(shù)關(guān)于神經(jīng)網(wǎng)絡(luò)中各層參數(shù)(權(quán)重w和偏置b)的偏導(dǎo)數(shù)。
假設(shè)我們要對第k層隱藏層的
假設(shè)代表第k層神經(jīng)元的輸入,即
其中n^(k-1)為前一層神經(jīng)元的輸出,則根據(jù)鏈?zhǔn)椒▌t有:
公式14
公式15
因此,我們只需要計算偏導(dǎo)數(shù)
·計算偏導(dǎo)數(shù)
前面說過,第k層神經(jīng)元的輸入為:,因此可以得到:
公式16
我們以1.1節(jié)中的簡單神經(jīng)網(wǎng)絡(luò)為例,假設(shè)我們要計算第一層隱藏層的神經(jīng)元關(guān)于權(quán)重矩陣的導(dǎo)數(shù),則有:
公式17
·計算偏導(dǎo)數(shù)
因為偏置b是一個常數(shù)項,因此偏導(dǎo)數(shù)的計算也很簡單:
公式18
依然以第一層隱藏層的神經(jīng)元為例,則有:
公式19
·計算偏導(dǎo)數(shù)
根據(jù)第一節(jié)的前向計算,我們知道第k+1層的輸入與第k層的輸出之間的關(guān)系為:
公式20
公式21
公式22
公式23
下面是基于隨機梯度下降更新參數(shù)的反向傳播算法:
輸入: |
看完上述內(nèi)容,你們掌握TensorFlow中的BP算法原理是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前題目:TensorFlow中的BP算法原理是什么-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://aaarwkj.com/article42/pphec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、品牌網(wǎng)站制作、電子商務(wù)、自適應(yīng)網(wǎng)站、網(wǎng)站制作、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容