pooling層是如何作用在反向傳播的過程中?曾經面試被問過這個問題,當時的回答是pooling不參與反向傳播,但是也沒深究是怎麼個不參與法。本文進行簡析。pooling通常分兩種:max和mean。由於pooling層會改變feature的尺寸,因此有如下假設成立:
假設經過pooling後有n個梯度,那麼pooling層的前一層梯度個數為4n,使得反向傳播時梯度無法一一對應地傳下去。
那麼在神經網路中,解決上述問題的方法很簡單,根據網路傳遞時總的loss/梯度不變的原則。以2*2 pooling操作舉例,反向傳播的過程就是將i+1層的乙個畫素點的梯度傳給i層的4個畫素點即可。那麼按照pooling的不同進行闡述:
①max-pooling
記錄前向傳播時第i層中2*2畫素內的最值點的索引,反向傳播時將i+1層的梯度傳給i層中的max索引位置,其餘三個位置置0。
將i+1層的梯度分成四等份傳給第i層
博文參考:
池化層 Pooling 的反向傳播
參考部落格 cnn網路中另外乙個不可導的環節就是pooling池化操作,因為pooling操作使得feature map的尺寸變化,假如做2 2的池化,假設那麼第l 1層的feature map有16個梯度,那麼第l層就會有64個梯度,這使得梯度無法對位的進行傳播下去。其實解決這個問題的思想也很簡單...
池化層反向傳播
池化層 pooling 的反向傳播是怎麼實現的 參考 原始碼 參考部落格 在看卷積神經網路的時候,突然想起來池化是會改變特徵圖的尺寸的,那反向傳播是怎麼實現的呢。於是搜了一些部落格,感覺上面這個部落格寫得最清晰直觀,就從這個部落格裡面搬了點東西過來作為筆記。pooling池化操作的反向梯度傳播 cn...
全連線層及卷積層的反向傳播公式
這裡主要是記錄一下全連線層及卷積層的兩組反向傳播 bp 公式,只要看懂和記住這兩個公式,反向傳播的理解和實現應該都是不難的了。z jl kw jkla kl 1 bjl 1.1 z l j sum k w l a k b l j tag zjl k wj kl a kl 1 bj l 1 1 l a...