神经网络为什么要归一化?

 

 

   关于神经网络归一化问题,在神经网络为什么要归一化深度学习(二十九)Batch Normalization 学习笔记这两篇文章已经介绍的非常清楚了。

 

    在这里,我简单说下自己的直观理解:由于数据的分布不同,必然会导致每一维的梯度下降不同,使用同一个learning rate 也就很难迭代到代价函数最低点。经过归一化(正则化)处理后,代价函数变得“更圆”,也就很容易进行梯度下降。

    深入了解神经网络为什么要进行归一化,请参考上面两篇博文。

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------

2019年1月16日更新

       二刷吴恩达博士的《深度学习》时,对batch-normal有了更深的认识,除了上文提到的使代价函数“更圆”的说法外,还有另一种直观认识:通过对隐藏单元的输入进行bn操作(先进行归一化,再进行线性变换),使得隐藏单元的输入数据分布大致相同(每个batch数据的均值和方差基本一样),从而使网络更好地拟合目标,收敛速度加快。

      由于训练过程中,是在batch级别上进行的归一化操作,在计算均值和方差时引入了一些噪音,从而使模型的泛化性更强,因此bn还起到了正则项的作用。另外,使用bn得到的模型,在应用到测试集上时,一般采用指数加权平均来计算测试数据的平均值和方差。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值