YOLO-V4目标检测学习
基础知识
特征图的通道数
Softmax函数
Sigmoid函数
ReLU(Rectified Linear Unit)函数
Batch Normalization(批量归一化)
方差(Variance)
均值(Mean)
下采样(Downsampling)
CBL
先验框和模型
自然常数e,一个改变世界的神奇数字!
-
+
首页
Batch Normalization(批量归一化)
Batch Normalization(批量归一化) 是一种在深度学习中广泛使用的技术,旨在提高神经网络训练的效率和稳定性。它由Sergey Ioffe和Christian Szegedy在2015年提出,并迅速成为许多深度学习模型中的标准组件。 基本思想 Batch Normalization的核心思想是在每个训练批次(batch)中对数据进行归一化处理,使得网络层的输入数据具有相同的均值和方差。这样做的好处包括: 加速训练:通过减少内部协变量偏移(Internal Covariate Shift),即训练过程中网络层输入分布的变化,可以加速网络的收敛速度。 提高稳定性:归一化处理有助于网络更稳定地学习,减少了对学习率、初始化权重等超参数的敏感度。 防止过拟合:在一定程度上,Batch Normalization可以作为一种正则化手段,有助于防止模型的过拟合。 实现方式 Batch Normalization通常在网络层的激活函数之前进行。对于一个给定的输入批次X,其维度为(N,C,H,W),其中N是批次大小,C是通道数,H和W分别是高度和宽度,Batch Normalization会按照以下步骤进行: 计算均值和方差:对每个通道,计算该批次内所有样本在该通道上的均值μ和方差σ 2 。 归一化:使用计算得到的均值和方差,对每个样本的每个通道进行归一化处理,即将每个样本的值减去均值后除以标准差,得到归一化后的值。 缩放和偏移:为了保留网络的表示能力,引入两个可学习的参数γ(缩放因子)和β(偏移量),对归一化后的值进行缩放和偏移。 优点 加速训练:通过减少内部协变量偏移,可以显著减少训练所需的迭代次数。 提高模型性能:Batch Normalization通常能够提高模型的泛化能力,减少过拟合。 允许使用更高的学习率:由于Batch Normalization的稳定化作用,网络可以容忍更高的学习率,从而进一步加速训练。 减少对初始化的依赖:使用Batch Normalization后,网络对权重的初始化不再那么敏感,这有助于简化模型的训练过程。 注意事项 小批量问题:当批量大小(batch size)非常小时,Batch Normalization的效果可能会受到影响。此时,可以考虑使用其他归一化方法,如Layer Normalization、Group Normalization或Instance Normalization。 推理时的处理:在模型推理(inference)阶段,由于无法再使用整个批次的数据来计算均值和方差,因此需要使用训练过程中计算得到的移动平均(running mean)和移动方差(running variance)来进行归一化处理。
admin
2024年7月24日 00:02
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码