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