局部相应归一化(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. 名称中的“局部”应该就是指的某一个通道
相关文章
相关标签/搜索