泛化神器 | BGN全方位解决因Batch Size大小问题所带来的训练不稳定(附论文下载)(一)

简介: 泛化神器 | BGN全方位解决因Batch Size大小问题所带来的训练不稳定(附论文下载)(一)

1 简介


深度卷积神经网络(DCNNs)训练起来既困难又耗时。规范化是一种有效的解决方案。在以往的归一化方法中,批处理归一化(BN)在大、中批量处理中表现良好,对多个视觉任务具有很好的通用性,但在小批量处理中,其性能下降明显。

作者实验发现在超大Batch下BN会出现饱和(比如,Batch为128),并提出在小/超大Batch下BN的退化/饱和是由噪声/混淆的统计计算引起的。因此,在不增加新训练参数和引入额外计算的情况下,通过引入通道、高度和宽度维度来补偿,解决了批量标准化(BGN)在小/超大Batch下BN的噪声/混淆统计计算问题。

利用GN中的组方法和超参数G来控制统计计算所使用的特征实例的数量,从而对不同批量提供既无噪声也不混淆的统计量。实验结果证明BGN优于BN、IN、LN、GN以及PN;

该方法在图像分类、神经结构搜索(NAS),对抗的学习,小样本学习以及无监督学习领域适应(UDA)都有很好的性能、鲁棒性。例如,在ImageNet上训练设置Batch=2进行训练ResNet-50,BN的Top1准确率为66.512%,BGN的Top1准确率为76.096%,精度有显著的提高。


2 相关工作总结


批处理归一化(BN)是早期提出的一种归一化方法,也是应用最为广泛的方法。BN利用计算出的均值和方差对特征图进行归一化,再对归一化后的特征图进行重新缩放和移位,以保证DCNN的表征能力。同时,在BN的基础上,提出了许多其他任务的归一化方法。

  • 层归一化-LN:用于计算递归神经网络沿通道的统计量;
  • 权值归一化-WN:来参数化权值向量,用于监督图像识别、生成建模和深度强化学习;
  • 切分归一化-DN:提出包含BN和LN层的归一化层,作为图像分类、语言建模和超分辨率的特例;
  • 实例归一化-IN:为了进一步快速风格化,提出了IN层,主要用于图像分割迁移,其中统计量由高度和宽度维度计算得到;
  • 组归一化-GN:对通道进行分组,统计每个分组通道的高度和宽度,增强对批量大小的稳定性;
  • 位置归一化-PN:提出了位置归一化算法来计算生成网络沿信道维数的统计量;

其他相关归一化的改进比如:

EvalNorm

Moving Average BN

Adaptive Normalization

Square LN

Decorrelated BN

Spectral Normalization

BatchInstance Normalization(BIN)

Switchable Normalization(SN)

Meta Normalization

Kalman Normalization(KN)

等等,

这里不再赘述,感兴趣的朋友可以寻找相关论文进行研究。

在这些归一化方法中,BN通常可以在中、大批量中取得良好的性能。然而,在小批量它的性能便会下降比较多;GN在不同的Batch Size下具有较大的稳定性,而GN在中、大Batch Size下的性能略差于BN。其他归一化方法,包括INLNPN在特定任务中表现良好,但在其他视觉任务中泛化性比较差。

批处理组标准化(BGN)是参数和计算效率高。我们都知道Mini-Batch训练通常可以执行比Single Batch和All Batch训练效果要好,Single Batch训练可以表输出嘈杂的梯度,而All Batch梯度训练可能不行(每个图像梯度和不同的方向,因此,添加都表明梯度混淆)。

受此启发,作者认为归一化统计计算中的特征实例数量也应该适中,即BN在小批/超大批上的性能下降/饱和是由于统计计算的噪声/混乱造成的。因此,BGN被提出,通过Group技术来提升Batch Size在BN在小/极端大的性能。这里BGN将通道、高度和宽度三个维度合并为一个新维度,将新维度划分为特征组,计算整个小批和特征组的统计量。


3 BGN方法


在DCNN的L层中,对于一个输入特征图,有4个维度,其中N,C,H,W分别是BS,通道维度,高度维度和宽度维度。为简化起见、、、为对应的批次、通道、高度和宽度,第层的特征图计算为:

其中和是卷积层中的权值和偏置,和分别是归一化层中可训练的re-scale和re-shift参数,是激活函数。是归一化函数。是卷积函数。

对于典型的归一化层包括4个步骤:

  • 1)、将特征图划分为特征组;
  • 2)、计算各特征组的均值和方差统计量;
  • 3)、利用计算出的统计量对各特征组进行归一化;
  • 4)、对归一化特征图进行重新缩放和移位,保持DCNN的表示能力。

就BN而言,Feature map是沿着通道维度划分的,均值和方差是沿着Batch, H和W维度计算得到的:

image.png

将Feature map归一化为:

为除法稳定性增加的小数。为了保持DCNN的表示能力,每个特征通道都增加了额外的可训练参数:

通过实验,BN在大中Batch size中具有良好的性能,并且对多个视觉任务(如,NAS)具有良好的可泛化性。然而,在ImageNet实验中,它的性能在小批量下显著下降了10%。为了改善这一不足,作者将GN通道分组的思想引入到统计计算中:

其中,为超参数-Group号,,//为floor division。GN对于不同批次大小具有良好的稳定性,但在中、大批次时性能略低于BN,对其他视觉任务的泛化性低于BN。但是实验表明,BN在Batch-size极端大的时候会出现饱和。

BN在Batch-Size很小或很大时的降解/饱和是由噪声/混淆的统计计算引起的。在Mini Batch训练中也存在类似的迹象,Single Batch和All Batch训练通常比Mini Batch的训练差,因为计算的梯度是有噪声的/混淆的。为了促进这一点,作者提出了BGN,其中使用GN中的Group方法来控制用于统计计算的特征实例的数量。首先合并通道、高度和宽度维度到一个新的维度,其中。均值和方差沿着Batch和新维度计算为:

其中G为划分新维数组数的超参数,为每个划分的特征组内的实例数。当BS很小,使用较小的G是用来把全新的维度统计计算,以避免噪声统计;当BS很大,使用较大的G用于分割新维度成小块计算统计数据,以避免混淆统计数据。和的使用方式与BN相同。在BN中,测试使用的均值和方差是训练阶段得到的。

相关文章
|
6月前
|
机器学习/深度学习 JSON 数据格式
CatBoost模型部署与在线预测教程
CatBoost模型部署与在线预测教程【2月更文挑战第16天】
146 2
|
1月前
|
物联网
StableDiffusion-04 (炼丹篇) 15分钟 部署服务并进行LoRA微调全过程详细记录 不到20张百变小樱Sakura微调 3090(24GB) 学不会你打我!(二)
StableDiffusion-04 (炼丹篇) 15分钟 部署服务并进行LoRA微调全过程详细记录 不到20张百变小樱Sakura微调 3090(24GB) 学不会你打我!(二)
31 0
|
1月前
|
物联网
StableDiffusion-04 (炼丹篇) 15分钟 部署服务并进行LoRA微调全过程详细记录 不到20张百变小樱Sakura微调 3090(24GB) 学不会你打我!(一)
StableDiffusion-04 (炼丹篇) 15分钟 部署服务并进行LoRA微调全过程详细记录 不到20张百变小樱Sakura微调 3090(24GB) 学不会你打我!(一)
29 0
|
5月前
|
语音技术 计算机视觉
CVPR 2024 Highlight :北航等发布时间特征维护:无需训练,极致压缩加速Diffusion
【6月更文挑战第28天】在CVPR 2024会议上,北航等研究团队提出了**时间特征维护**技术,针对Diffusion模型实现无需训练的高效压缩与加速。通过选择性保留关键时间特征,他们在保持生成质量的同时,实现了模型4bit极致压缩和超过2.38倍硬件加速,简化了复杂模型,提升了运行效率。这一创新方法有望改善Diffusion模型在实际应用中的资源需求,但其鲁棒性和泛化能力尚需更多验证。[论文链接](https://arxiv.org/pdf/2311.16503)
55 5
|
6月前
|
机器学习/深度学习 存储 算法
YOLO落地部署 | 一文全览YOLOv5最新的剪枝、量化的进展【必读】
YOLO落地部署 | 一文全览YOLOv5最新的剪枝、量化的进展【必读】
970 0
|
6月前
|
机器学习/深度学习 人工智能 算法
基于AidLux的工业视觉少样本缺陷检测实战应用---深度学习分割模型UNET的实践部署
  工业视觉在生产和制造中扮演着关键角色,而缺陷检测则是确保产品质量和生产效率的重要环节。工业视觉的前景与发展在于其在生产制造领域的关键作用,尤其是在少样本缺陷检测方面,借助AidLux技术和深度学习分割模型UNET的实践应用,深度学习分割模型UNET的实践部署变得至关重要。
153 1
|
机器学习/深度学习 存储 数据采集
机器学习之PyTorch和Scikit-Learn第6章 学习模型评估和超参数调优的最佳实践Part 1
在前面的章节中,我们学习了用于分类的基本机器学习算法以及如何在喂给这些算法前处理好数据。下面该学习通过调优算法和评估模型表现来构建良好机器学习模型的最佳实践了。本章中,我们将学习如下内容: 评估机器学习模型表现 诊断机器学习算法常见问题 调优机器学习模型 使用不同的性能指标评估预测模型 通过管道流程化工作流
290 0
机器学习之PyTorch和Scikit-Learn第6章 学习模型评估和超参数调优的最佳实践Part 1
|
人工智能 缓存 并行计算
终极「揭秘」:GPT-4模型架构、训练成本、数据集信息都被扒出来了
终极「揭秘」:GPT-4模型架构、训练成本、数据集信息都被扒出来了
937 0
|
机器学习/深度学习 人工智能 算法
机器学习之PyTorch和Scikit-Learn第6章 学习模型评估和超参数调优的最佳实践Part 3
在前面的章节中,我们使用预测准确率来评估各机器学习模型,通常这是用于量化模型表现很有用的指标。但还有其他几个性能指标可以用于衡量模型的相关性,例如精确率、召回率、F1分数和马修斯相关系数(MCC)等。
344 0
|
文件存储 计算机视觉
泛化神器 | BGN全方位解决因Batch Size大小问题所带来的训练不稳定(附论文下载)(二)
泛化神器 | BGN全方位解决因Batch Size大小问题所带来的训练不稳定(附论文下载)(二)
194 0
下一篇
无影云桌面