聊聊Batch Normalization在网络结构中的位置

本文探讨了Batch Normalization在网络结构中的位置及其作用。Batch Normalization通过对每个mini-batch进行规范化,解决了梯度消失和Internal Covariate Shift问题,加速了模型的收敛,并具有正则化效果。实践中,通常将其置于非线性激活函数前,如ReLU之前,但具体位置可能需要根据实验调整。此外,BN层可以替代dropout,或者在dropout之前,以避免两者冲突。
摘要由CSDN通过智能技术生成

Batch Normalization在网络结构中的位置

v2-dfd7659d5643374039dd68c136abdab2_b.jpg

1. 什么是Batch Normalization?

谷歌在2015年就提出了Batch Normalization(BN),该方法对每个mini-batch都进行normalize,下图是BN的计算方式,会把mini-batch中的数据正规化到均值为0,标准差为1,同时还引入了两个可以学的参数,分别为scale和shift,让模型学习其适合的分布。

v2-4db520b90309e6609c02b3dff141ff19_b.jpg

那么为什么在做过正规化后,又要scale和shift呢?当通过正规化后,把尺度缩放到0均值,再scale和shift,不是有可能把数据变回"原样"?因为scale和shift是模型自动学习的,神经网络可以自己琢磨前面的正规化有没有起到优化作用,没有的话就"反"正规化,抵消之前的正规化操

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值