残差网络中的BN (Batch Normalization 批标准化层)的作用是什么?
2023-12-17 15:27:30
什么是BN (Batch Normalization 批标准化层)
BN层的全称是Batch Normalization层,中文可以翻译为批标准化层
。
BN层是2015年提出的一种新的层类型,它通过对每一层神经网络的输入信号进行标准化处理,来解决深层神经网络在训练过程中内部协变量变化导致的问题,从而大幅提升深层网络的训练效率和性能。
一、BN层对输入信号进行以下操作:
-
计算批次中的每个输入特征的
均值和方差
。 -
使用均值和方差对输入信号
进行标准化
,使其均值为0、方差为1。 -
学习缩放
参数γ和偏移参数β
对标准化后的信号进行缩放和偏移。 -
输出经过缩放和偏移后的标准化信号。
二、BN 层有什么作用?
-
减小内部协变量变化对网络训练的影响
。BN层可以标准化每一层的输入,消除输入数据的协变量变化,有利于网络训练。 -
加速网络训练
。BN层可以让每个层看到的输入分布近似正态分布,这对网络训练收敛速度有很大帮助。 -
起到正则化效果
。BN层可以防止内部特征过拟合,起到一定的正则化作用。 -
提高模型性能
。通过BN层的标准化处理,网络可以使用更高的学习率进行训练,从而更快地找到更优的最小值,提高模型性能。 -
残差连接的补充
。残差网络本身就可以很好地传播梯度,BN层进一步改善梯度流动
,有利于深层网络的训练。
文章来源:https://blog.csdn.net/qlkaicx/article/details/135044917
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!