深度学习——batch normalization(BN)

本文深入探讨批标准化(Batch Normalization,BN)在深度学习中的应用与原理,阐述其如何通过固定每层输入的均值和方差来解决协变量偏移问题,提升网络训练速度及模型泛化能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BN:批标准化,固定每层输入信息的均值和方差

原因:当训练集的样本数据和目标样本集分布不一致的时候,训练得到的模型无法很好的泛化。每一层的输入在经过层内操作之后必然会导致与原来对应的输入信号分布不同(Convariate Shift现象),并且前层神经网络的增加会被后面的神经网络不断的累积放大。这个问题的一个解决思路就是根据训练样本与目标样本的比例对训练样本进行一个矫正,而BN算法(批标准化)则可以用来规范化某些层或者所有层的输入,从而固定每层输入信号的均值与方差,让每一层的输入有一个稳定的分布会有利于网络的训练。

作用:

  1. 归一化数据;
  2. 可以使网络选用较大学习率,训练过程中学习率衰减加快(Bactch Normalization通过标准化让激活函数分布在线性区间,结果就是加大了梯度,让模型更大胆的进行梯度下降);
  3. 对随机顺序训练适应性增强,提高了网络的泛化能力;

公式:  (一般用在非线性激活前)

先归一化后仿射变换:

 

归一化后,基本会被限制在正态分布下,使得网络的表达能力下降。为解决该问题,引入两个新的参数:\gamma\beta,是在训练时网络自己学习得到。在测试时,所使用的\mu \mu ^{2}是整个训练集的均值 和方差。

参考:

https://www.cnblogs.com/bonelee/p/8528722.html

https://blog.youkuaiyun.com/fontthrone/article/details/76652772

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值