LRN是作用于卷积的一种优化,即局部响应归一化层。它的作用是减少过拟合的产生,一般用在卷积RULE激活函数之间。
具体是实现如下:
公式看起来有一些麻烦,但我们不需要关心公式的组成,我们考虑其中的原理即可。为什么要加上这个来改变当前层输出结果?他会对局部神经元创建对比,使得其中响应值较大的神经元变得更大,使得响应小的神经元变得更小,可以更加快速的训练模型,并且相比于不加LRN的模型来说,泛化能力更强(响应更加突出)。
BN是对数据做一个归一化处理,具体实现如下:
为什么BN会有效果?我们思考一下,随着神经网络训练的进行,层数的增多,我们会发现每一层计算出来的结果进过sigmoid或者其他激活函数计算后很多都趋近于0或者1,即向着两个端点值趋近。这会导致训练速度下降,所以我们通过BN归一化,用正态分布将参数调整回0到1之间,参数之间的联系在某种程度上不变,但是训练速度得到了提升。