L2正则化
通过惩罚目标函数中所有参数的平方,即对网络中每个权重w,向目标函数中增加一个 1 2 λ w 2 \frac{1}{2}\lambda {{w}^{2}} 21λw2,其中 λ \lambda λ为正则化强度.
- L2正则化可以理解为它对于大数值的权重向量进行严厉惩罚,倾向于更加分散的权重向量.因为较大的权重数值会被减小,而一些原来为0的数值会增大,即不接近于0,即更为分散.
- 这使得网络倾向于使用所有输入特征,而不是严重依赖于特征中某些小部分特征.
- 在梯度下降和参数更新的时候,使用L2正则化意味着所有的权重
w += -lambda*W
向着0线性下降.
L1正则化
对于每个 w w w,我们向目标函数增加一个 λ ∣ w ∣ \lambda \left| w \right| λ∣w∣.
- L1正则化会让权重向量在最优化过程中变得稀疏(即非常接近于0).
- 使用L1正则化的神经元最后使用的是它们最重要的输入数据的稀疏子集,对于噪声输入则几乎一成不变.
L1、L2正则化组合
L1、L2正则化也可以进行组合,叫做Elastic net regularization. λ 1 ∣ w ∣ + λ 2 w 2 {{\lambda }_{1}}\left| w \right|+{{\lambda }_{2}}{{w}^{2}} λ1∣w∣+λ2w2
最大范式约束
随机失活
正向随机失活
反向随机失活
前向传播中的噪声
实践
通过交叉验证获得一个全局使用L2正则化强度是比较常见的.在使用L2正则化的同时在所有层后面使用随机失活也很常见.p值一般默认设为0.5,也可能在验证集上调参.