对BN
层对网络卷积层权重L2
正则化的影响、BN
层的gamma项正则化作用、卷积层权重L2
正则化的作用、如何更好的调整L2
正则项权重、学习率、gamma项权重等超参 等问题的思考。
涉及的论文:
- 主要的思想来源
L2 Regularization versus Batch and Weight Normalization
Towards Understanding Regularization in Batch Normalization
Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour
- 引发
Learning Efficient Convolutional Networks through Network Slimming
Data-Driven Sparse Structure Selection for Deep Neural Networks
引爆点:剪枝
之所以开始这一方面的了解,源于对network pruning
方面文章(SSS
和network slimming
)的阅读:
Network Slimming
:增加BN
层中的正则项,而后根据大小进行剪枝:
Sparse Structure Selection
:直接在group/block/channel
后新增一层,该层就只有一个伸缩系数,然后增加L1正则项;用加速近端梯度下降求解(软阈值 + 动量梯度下降)。
复现的过程中,想到了几个问题(仅基于Network Slimming
讨论先,SSS
同理):
- 有了
BN
层的归一化作用,卷积层权重可以整体成比例放大或缩小,而不影响模型效果(这里有偏置的话同理);也就是说卷积层的L2
罚项没用了? - 上一
BN
层的系数也是整体成比例放大或缩小,而不影响模型效果(这里偏置同理);也就是说剪枝衰减L2
项没用?
也就是说损失函数中,卷积层的L2
权重衰减正则项的权重系数(一般设定为默认值0.0005)、BN
层的L2
权重衰减正则项,这两项再怎么调,网络都有能力通过成比例放大/缩小对应项,而达到模型效果、损失函数大小都不变的情况!!!
那么,BN
层、卷积层权重、正则化项 这三者的关系,其内涵和对模型优化的影响究竟是咋样的呢?带着这样的问题,开启这一小分支的探索。
L2
正则化与BN
层的关系
我们将没有加入BN
层的网络表示为:
那么对卷积层权重做L2
惩罚,可以降低卷积层权重的值,从而达到压缩网络模型容量的作用。
而对于加入BN
层的网络:
下面是batch size和learning rate的延伸。
Large batch training引发的问题
Linear Scaling Rule (batch size、learning rate、warm-up的纠葛)
Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour