Introduction
局部响应归一化(Local Response Normalization,LRN):
提出于2012年的AlexNet中。
Principle
LRN仿造生物学上活跃的神经元对相邻神经元的抑制现象(侧抑制)。
好处有以下两点:
- 归一化有助于快速收敛;
- 对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。
API
tensorflow中LRN的API接口如下:
tf.nn.lrn(input,depth_radius=None,bias=None,alpha=None,beta=None,name=None)
该接口具体实现如下:
sqr_sum[a, b, c, d] = sum(input[a,b, c, d - depth_radius : d + depth_radius + 1] ** 2)
output = input / (bias +alpha * sqr_sum) ** beta
Test
具体实验可参照这位小哥的博客:Tensorflow的LRN是怎么做的,写得简洁明了。
Postscript
自从2015年被强大的 bn 替换掉后,局部响应归一化(Local Response Normalization,LRN)已很少有人在用了。