Skip to main content
QUICK REVIEW

[论文解读] Cross-Iteration Batch Normalization

Zhuliang Yao, Yue Cao|arXiv (Cornell University)|Feb 13, 2020
Advanced Neural Network Applications参考文献 27被引用 16
一句话总结

本文提出交叉迭代批量归一化(CBN),一种通过使用一阶泰勒近似补偿权重变化,从而在小批量训练中提升批量归一化性能的方法,使能够从历史激活值中准确估计统计量。CBN 在计算开销极低的情况下实现了与同步批量归一化(SyncBN)相当的性能,优于标准批量归一化(BN)和朴素的跨迭代平均方法,在 ImageNet 和 COCO 上表现更优。

ABSTRACT

A well-known issue of Batch Normalization is its significantly reduced effectiveness in the case of small mini-batch sizes. When a mini-batch contains few examples, the statistics upon which the normalization is defined cannot be reliably estimated from it during a training iteration. To address this problem, we present Cross-Iteration Batch Normalization (CBN), in which examples from multiple recent iterations are jointly utilized to enhance estimation quality. A challenge of computing statistics over multiple iterations is that the network activations from different iterations are not comparable to each other due to changes in network weights. We thus compensate for the network weight changes via a proposed technique based on Taylor polynomials, so that the statistics can be accurately estimated and batch normalization can be effectively applied. On object detection and image classification with small mini-batch sizes, CBN is found to outperform the original batch normalization and a direct calculation of statistics over previous iterations without the proposed compensation technique. Code is available at https://github.com/Howal/Cross-iterationBatchNorm .

研究动机与目标

  • 解决批量归一化(BN)在小批量设置下因统计量估计不可靠而导致的性能下降这一长期存在的问题。
  • 克服训练过程中因权重更新导致不同迭代间激活值分布不可比的挑战。
  • 通过利用多个最近迭代的样本,无需同步批量处理,提升统计量估计的质量。
  • 开发一种轻量化、高效的归一化方法,在保持快速推理速度的同时,性能达到或超过 SyncBN。
  • 证明:当适当地进行补偿时,时间维度上的统计量聚合可有效稳定低批量设置下的训练。

提出的方法

  • 提出交叉迭代批量归一化(CBN),其批量统计量基于最近多个训练迭代窗口而非仅当前迭代计算。
  • 通过统计量对网络权重的一阶泰勒多项式展开,补偿因权重变化引起的分布偏移。
  • 利用统计量对权重的梯度,近似当前网络权重下过去激活值的均值和方差。
  • 将前序迭代的补偿后统计量与当前迭代的统计量平均,形成更鲁棒的估计。
  • 通过预计算前序迭代的统计量,避免冗余计算,保持低推理开销。
  • 通过仅存储必要的统计量、梯度和权重状态,实现高效实现。

实验结果

研究问题

  • RQ1当网络权重在迭代间发生变化时,跨迭代统计量是否能提升小批量训练中批量归一化的性能?
  • RQ2如何校正来自不同训练迭代的激活值之间的分布偏移,以实现可靠的统计估计?
  • RQ3在实践中,对统计量关于网络权重的一阶泰勒近似是否足以补偿权重变化?
  • RQ4在图像分类和目标检测任务中,CBN 与 GN、SyncBN 和 BN 等现有归一化方法相比,在准确率和效率方面表现如何?
  • RQ5CBN 是否能在不依赖 GPU 间同步或引入显著计算成本的前提下,实现与 SyncBN 接近的性能?

主要发现

  • 在每 GPU 批量大小为 4 的 ImageNet 上,CBN 达到 70.0% 的 top-1 准确率,显著优于标准 BN(65.1%)和朴素 CBN(66.8%)。
  • 在使用 3 次迭代的时间窗口和一阶泰勒补偿时,CBN 在批量大小为 4 的情况下,相比朴素 CBN 提高 3.2% 准确率,相比标准 BN 提高 4.9% 准确率。
  • CBN 在 ImageNet 和 COCO 目标检测任务上实现了与使用多 GPU 大规模同步批量的 SyncBN 相当的性能。
  • 与 BN 相比,CBN 仅增加 7% 的内存占用和 11% 的 FLOPs,训练速度接近 BN 和 GN,推理速度与 BN 相同。
  • 二阶泰勒补偿未能提升性能,表明一阶近似已足够实现有效补偿。
  • 使用超过一层的补偿不会提升准确率,反而增加计算成本,因此在实际应用中默认采用单层补偿。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。