局部相應歸一化(Local Response Normalization)

在深度學習中有一個不經常使用的方法:LRN,首次提出於AlexNet論文,但如今通常會被Dropout等方法給替代數組

1.做用

在深度學習訓練時提升準確度。函數

2.LRN原理

仿造生物學上活躍的神經元對相鄰神經元的抑制現象(側抑制(我的認爲相似於生物學上的頂端優點))。經過對局部神經元的活動建立競爭機制,使得其中響應較大的值變得相對更大,並抑制其餘反饋較小的神經元,加強了模型的泛化能力。學習

3.公式

$ b^i_{x,y} = a^i_{x,y}/(k + \alpha \sum_{j=max(0, i-n/2)}^{min(N-1, i+n/2)}{(a_{x,y}^{j})^2})^{\beta} $圖片

4.公式符號解釋

a:表示卷積後的輸出結果,這裏卷積包括卷積操做和池化操做,輸出結果是一個四維數組[batch, height, width, channel]
$ a^i_{x,y} $:表示輸出結果中的一個位置[a,x,y,i],即第a張圖片的第i個通道的高度爲x、寬度爲y的點
N:表示Kernal的總數
n:表示鄰近位置上kernal map的數量
n/2, k, $ \alpha $, $ \beta $爲自定義超參數
i:表示通道位置input

5.對應tensorflow函數

$tf.nn.lrn(input, depth_radius=None, bias=None, alpha=None, beta=None, name=None)$
其中:深度學習

  1. $a -> input$
  2. $n/2 -> depth_radius$
  3. $k -> bias$
  4. $\alpha -> alpha$
  5. $\beta -> beta$

6.其餘理解

  1. 歸一化是爲了實現抑制
  2. $\sum$是對同一通道的值求和,由於當$j$改變時,$x,y$是不變的
  3. 當$k=0,\alpha=1,\beta=1$時,公式至關因而當前點的值佔該通道內全部點的平方和的百分比
  4. 名稱中的「局部」應該就是指的某一個通道
相關文章
相關標籤/搜索