Task 4 CNN back-propagation 反向傳播算法

1. 如何理解后向傳播

參考CNN卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)筆記3:權(quán)值更新公式推導(dǎo)
后向傳播的過程就是梯度向回傳遞,在CNN中,梯度的計算主要涉及三種情形

  1. 卷積層
  2. 池化層
  3. 全連接層

其中笨鸡,卷積層涉及3種操作下的梯度計算

  1. 卷積操作
  2. 偏置
  3. 激活操作

池化層則有兩種情形:

  1. 平均池化
  2. 最大池化

而全連接層的后向傳播與全連接神經(jīng)網(wǎng)絡(luò)的后向傳播原理一致戚啥。涉及:

  1. 權(quán)重的相乘與偏置
  2. 激活操作

本文先討論全連接層的后向傳播盹兢,再討論卷積層砂轻、池化層的梯度傳遞。

2. 全連接層的梯度計算

知乎的如何理解神經(jīng)網(wǎng)絡(luò)里面的反向傳播算法講的很好然爆。
主要是輸出層與隱藏層的梯度傳遞

2.1 輸出層的梯度傳遞

輸出層示意圖

鏈?zhǔn)椒▌t

各項求解

梯度下降公式

靈敏度: 關(guān)于節(jié)點(diǎn)的梯度

這個就是關(guān)于節(jié)點(diǎn)的梯度的計算(相對于權(quán)重的梯度的計算顽分。因為我們是要用梯度下降改變權(quán)值,所以要求權(quán)重的梯度施蜜,但在過程中總是要得到關(guān)于每一層的節(jié)點(diǎn)的梯度),又稱靈敏度雌隅,表示了對最終誤差造成的影響翻默。正因為它的這個意義缸沃,關(guān)于一個權(quán)重的梯度可以由該權(quán)重的上的輸出乘以節(jié)點(diǎn)的靈敏度得到,也就是

這個公式同樣適用于隱藏層修械。

2.2 隱藏層的梯度傳遞

隱藏層示意圖
鏈?zhǔn)椒▌t
E_total / out_h1
另外兩項
得到隱藏層權(quán)重的梯度
靈敏度

這里同樣印證了上文的公式:權(quán)重的梯度=輸出節(jié)點(diǎn)的靈敏度 * 權(quán)重上的值

3. 卷積層

3.1 卷積操作

3.1.1 卷積操作的各個梯度

參考 Forward And Backpropagation in Convolutional Neural Network.
假如有特征圖與卷積核如下:

且輸出與這兩個矩陣的關(guān)系如下:

那么趾牧,關(guān)于卷積核F的每一項F_ij的梯度計算公式如下:

也就等于:

當(dāng)我們仔細(xì)觀察上圖這幾個式子的規(guī)律,可以發(fā)現(xiàn)肯污,卷積核的梯度可以這樣得來:


然后卷積核各項都可以根據(jù)此梯度進(jìn)行調(diào)整翘单。但是,我們還要把梯度傳遞給上一層蹦渣,就需要計算關(guān)于輸入的梯度哄芜。通過與計算卷積核的梯度同樣的方法,我們可以得到關(guān)于各個X_ij的梯度:

仔細(xì)觀察上圖這幾個式子的規(guī)律柬唯,可以發(fā)現(xiàn)认臊,輸入的梯度可以化為全卷積操作

全卷積的具體操作如下:


3.1.2 關(guān)于輸入的梯度的用途

本來我感覺奇怪,如果關(guān)于卷積核的梯度是用于調(diào)整卷積核各項的值的話锄奢,那關(guān)于輸入的梯度是用來做什么的呢失晴?我看到了文章評論區(qū)有人剛好問了這個問題:

原來,它是用于計算上一層的梯度用的拘央。其實涂屁,這一層對輸入的梯度

就等于上一層對輸出的梯度

這篇文章Back Propagation in Convolutional Neural Networks?—?Intuition and Code也提到了它的用處:

It is important to understand that ??x (or ??h for previous layer) would be the input for the backward pass of the previous layer. This is the core principle behind the success of back propagation.

3.1.3 概括

也就是說,卷積操作主要是求出兩個:關(guān)于卷積核的梯度以及關(guān)于輸入的梯度灰伟。其中拆又。關(guān)于卷積核的梯度是用于調(diào)整卷積核各項的值的,關(guān)于輸入的梯度則是用于給更上一層作為輸出梯度的袱箱。

3.2 偏置與激活

梯度的傳遞在經(jīng)過偏置操作與激活操作時的變化都在2. 全連接層的梯度計算里講解了遏乔,卷積層的處理與全連接層在此方向的處理是一致的。

4. 池化層

4.1 average-pooling

平均池化的操作可以轉(zhuǎn)化為卷積操作发笔。比如盟萨,2 * 2的平均池化可以轉(zhuǎn)化為卷積核為2 * 2,每項為1/4 的卷積操作了讨。

4.2 max-pooling

知乎的 卷積神經(jīng)網(wǎng)絡(luò)(CNN)中卷積層與池化層如何進(jìn)行BP殘差傳遞與參數(shù)更新捻激?中提到的 Backpropagation in Convolutional Neural Network 解釋了平均池化與最大池化的梯度傳遞

假如某個矩陣被圈中的部分是最大項:



它們對應(yīng)的梯度就是:


當(dāng)該項被選取為最大項時,它的對應(yīng)梯度為1前计,否則為0.

此文同樣表達(dá)了這一點(diǎn) Backpropagation in Pooling Layer (Subsamplig layer) in CNN

加入矩陣M有4個元素
a b
c d
而且maxpool(M)返回d. 那么胞谭,maxpool函數(shù)就只依賴于d了. 那么,關(guān)于d的導(dǎo)數(shù)為1男杈,關(guān)于a,b,c的導(dǎo)數(shù)為0. 所以丈屹,在計算關(guān)于d的梯度時,就是乘上1, 對其它的梯度乘上0.

參考

  1. CNN卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)筆記3:權(quán)值更新公式推導(dǎo)
  2. BP神經(jīng)網(wǎng)絡(luò)后向傳播算法
  3. Only Numpy: Understanding Back Propagation for Max Pooling Layer in Multi Layer CNN with Example and Interactive Code. (With and Without Activation Layer)
  4. 卷積神經(jīng)網(wǎng)絡(luò)(CNN)中卷積層與池化層如何進(jìn)行BP殘差傳遞與參數(shù)更新?
  5. Backpropagation in Convolutional Neural Network
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旺垒,一起剝皮案震驚了整個濱河市彩库,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌先蒋,老刑警劉巖骇钦,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異竞漾,居然都是意外死亡眯搭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門业岁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鳞仙,“玉大人,你說我怎么就攤上這事叨襟》痹” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵糊闽,是天一觀的道長梳玫。 經(jīng)常有香客問我,道長右犹,這世上最難降的妖魔是什么提澎? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮念链,結(jié)果婚禮上盼忌,老公的妹妹穿的比我還像新娘。我一直安慰自己掂墓,他們只是感情好谦纱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著君编,像睡著了一般跨嘉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吃嘿,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天祠乃,我揣著相機(jī)與錄音,去河邊找鬼兑燥。 笑死亮瓷,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的降瞳。 我是一名探鬼主播嘱支,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了除师?” 一聲冷哼從身側(cè)響起赢织,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎馍盟,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茧吊,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贞岭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了搓侄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞄桨。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖讶踪,靈堂內(nèi)的尸體忽然破棺而出芯侥,到底是詐尸還是另有隱情,我是刑警寧澤乳讥,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布柱查,位于F島的核電站,受9級特大地震影響云石,放射性物質(zhì)發(fā)生泄漏唉工。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一汹忠、第九天 我趴在偏房一處隱蔽的房頂上張望淋硝。 院中可真熱鬧,春花似錦宽菜、人聲如沸谣膳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽继谚。三九已至,卻和暖如春隆判,著一層夾襖步出監(jiān)牢的瞬間犬庇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工侨嘀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留臭挽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓咬腕,卻偏偏與公主長得像欢峰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容