深度学习:局部响应值归一化(Local Response Normalization,LRN)

深度学习:局部响应值归一化(Local Response Normalization,LRN)_第1张图片
Local Response Normalization(LRN)技术主要是深度学习训练时的一种提高准确度的技术方法。
LRN一般是在激活、池化函数后的一种方法。
在ALexNet中,提出了LRN层,对局部神经元的活动创建竞争机制,LRN仿造生物学上活跃的神经元对相邻神经元的抑制现象(侧抑制)。

Hinton在2012年的Alexnet网络中给出其具体的计算公式如下:

深度学习:局部响应值归一化(Local Response Normalization,LRN)_第2张图片
公式看上去比较复杂,但理解起来非常简单。i表示第i个核在位置(x,y)运用激活函数ReLU后的输出,n是同一位置上临近的kernal map的数目,N是kernal的总数。参数K,n,alpha,belta都是超参数,一般设置k=2,n=5,aloha=1*e-4,beta=0.75。

AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。AlexNet主要使用到的新技术点如下。

(1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题。虽然ReLU激活函数在很久之前就被提出了,但是直到AlexNet的出现才将其发扬光大。

(2)训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合。Dropout虽有单独的论文论述,但是AlexNet将其实用化,通过实践证实了它的效果。在AlexNet中主要是最后几个全连接层使用了Dropout。

(3)在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。

(4)提出了LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。

你可能感兴趣的:(机器学习)