【前言】:公众号【机器学习炼丹术】的AI初学者交流群已经建立啦,公众号后台回复【加群】可以加入。群里都是些一起学习的朋友大家学习路上,结个伴。
文章共3371字,预计阅读时间9min
文章目录:
- 1 BN的优点
- 2 BN的缺点
- 2.1 受限于Batch size
- 2.2 训练集与测试集的分布
- 3 Group Normalzation
- 4 PyTorch实现GN
总的来说,GN是对BN的改进,是IN和LN的均衡。
1 BN的优点
这里简单的介绍一下BN,在之前的文章中已经详细的介绍了BN算法和过程。
BN于2015年由 Google 提出,Google在ICML论文中描述的非常清晰,即在每次SGD时,通过mini-batch来对相应的activation做规范化操作,使得结果(输出信号各个维度)的均值为0,方差为1。最后的“scale and shift”操作则是为了训练所需而“刻意”加入的BN能够有可能还原最初的输入,从而保证数据中有用信息的留存。
![e1113ee15c6bad0d2a37bbac3c0de129.png](https://img-blog.csdnimg.cn/img_convert/e1113ee15c6bad0d2a37bbac3c0de129.png)
【BN的好处】
- BN使得网络中每层输入数据的分布相对稳定