深度学习-图解反向传播算法
生活随笔
收集整理的這篇文章主要介紹了
深度学习-图解反向传播算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是正向傳播網絡?
前一層的輸出作為后一層的輸入的邏輯結構,每一層神經元僅與下一層的 神經元全連接,通過增加神經網絡的層數雖然可為其提供更大的靈活性, 讓網絡具有更強的表征能力,也就是說,能解決的問題更多,但隨之而來 的數量龐大的網絡參數的訓練,一直是制約多層神經網絡發展的一個重要瓶頸。
什么是反向傳播?
反向傳播(Backpropagation algorithm)全稱“誤差反向傳播”,是在 深度神經網絡中,根據輸出層輸出值,來反向調整隱藏層權重的一種方法。
為什么需要反向傳播?
- 為什么不直接使用梯度下降而使用反向傳播方式更新權重呢?
- 梯度下降應用于有明確求導函數的情況,或者可以求出誤差的情況(比如線性回歸),我們可以把它看做沒有隱藏層的網絡。
但對于多個隱藏層的 神經網絡,輸出層可以直接求出誤差來更新參數,但隱藏層的誤差是不存 在的,因此不能對它直接應用梯度下降,而是先將誤差反向傳播至隱藏層, 然后再應用梯度下降。
反向傳播簡史
- 1974年,哈佛大學沃伯斯博士在他的博士論文中,首次提出了通過誤差的反向傳播來訓練人工神經網絡,以解決神經網絡數量龐大的參數訓練問題。但是,沃伯斯的工作并沒有得到足夠的重視,因為當時神經網絡正陷入低潮,可謂“生不逢時”
- 1986年,由杰弗里·辛頓(Geoffrey Hinton)和大衛·魯姆哈特(David Rumelhart)等人在著名學術期刊Nature(自然)上發表了論文“借助誤差反向傳播算法的學習表 征(Learning Representationsby Back-propagating errors)”,系統而簡潔地闡述了反向傳播算法在神經網絡模型上的應用。反向傳播算法非常好使,它直接把糾 錯的運算量降低到只和神經元數目本身成正比的程度。
- 后來,沃伯斯得到了IEEE(電氣電子工程師學會)神經網絡分會的先驅獎;Geoffrey Hinton與Yoshua Bengio、Yann LeCun(合稱“深度學習三巨頭”)共同獲得了 2018年的圖靈獎。
圖解反向傳播
- 問題:Tom在超市買了2個蘋果,每個10元,消費稅10%,請計算應該支付 的金額
- 問題:Tom在超市買了2個蘋果,3個橙子,其中蘋果每個10元,橙子每個 15元,消費稅10%,請計算應該支付的金額
- 問題:Tom在超市買了2個蘋果,每個10元,消費稅10%,請計算蘋果價格上漲會在多大程度上影響支付金額(即求“支付金額關于蘋果的價格的導數”)。設蘋果的價 格為x,支付金額為L,則相當于L求x的偏微分。這個導數的值表示當蘋果的價格稍微上漲 時,支付金額會增加多少。
蘋果價格的導數為2.2,蘋果個數導數為11,消費稅導數為20,可以解釋為:蘋果價格、 蘋果個數或消費稅增加相同的值,分別對支付金額產生2.2倍、11倍、20倍的影響。
反向傳播計算
- 考慮函數 y = f(x) , 輸出為E,反向傳播的計算順序是,將信號E乘以節點的
局部導數(偏導數),傳遞給前面的節點,這樣可以高效地求出導數的值。
- 加法節點反向傳播計算
- 乘法節點反向傳播計算
總結
以上是生活随笔為你收集整理的深度学习-图解反向传播算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [react] 在react中什么是合成
- 下一篇: 测试于仕琪 libfacedetecti