Skip to main content
QUICK REVIEW

[论文解读] Automated Progressive Learning for Efficient Training of Vision Transformers

Changlin Li, Bohan Zhuang|arXiv (Cornell University)|Mar 28, 2022
Advanced Neural Network Applications被引用 4
一句话总结

本文提出 AutoProg,一种自动渐进式学习框架,通过在训练过程中动态且高效地扩展模型容量,加速视觉Transformer(ViT)的训练。通过将增长时序优化建模为子网络架构搜索问题,并利用带有参数复用的弹性超网络进行一次性性能估计,AutoProg 在 ImageNet 上实现了高达 85.1% 的训练加速,且在 DeiT 和 VOLO 模型上均无精度损失。

ABSTRACT

Recent advances in vision Transformers (ViTs) have come with a voracious appetite for computing power, high-lighting the urgent need to develop efficient training methods for ViTs. Progressive learning, a training scheme where the model capacity grows progressively during training, has started showing its ability in efficient training. In this paper, we take a practical step towards efficient training of ViTs by customizing and automating progressive learning. First, we develop a strong manual baseline for progressive learning of ViTs, by introducing momentum growth (MoGrow) to bridge the gap brought by model growth. Then, we propose automated progressive learning (AutoProg), an efficient training scheme that aims to achieve lossless acceleration by automatically increasing the training overload on-the-fly; this is achieved by adaptively deciding whether, where and how much should the model grow during progressive learning. Specifically, we first relax the optimization of the growth schedule to sub-network architecture optimization problem, then propose one-shot estimation of the sub-network performance via an elastic supernet. The searching overhead is reduced to minimal by recycling the parameters of the supernet. Extensive experiments of efficient training on ImageNet with two representative ViT models, DeiT and VOLO, demonstrate that AutoProg can accelerate ViTs training by up to 85.1% with no performance drop. Code: https://github.com/changlin31/AutoProg

研究动机与目标

  • 为解决大规模视觉Transformer(ViTs)训练带来的高计算成本与环境负担,这些模型的计算开销随模型规模和数据量的增加而急剧上升。
  • 通过重新思考每个训练步骤中所有参数的作用,特别是早期训练阶段,提升训练效率。
  • 开发一种可泛化的、自动化的渐进式学习方案,适用于ViT,避免手动调整超参数。
  • 通过基于实时性能反馈动态调整模型增长,实现无损训练加速。
  • 通过参数复用和一次性超网络估计,降低渐进式学习中的搜索开销。

提出的方法

  • 提出一种称为动量增长(Momentum Growth, MoGrow)的增长算子,利用有效的动量更新机制,在模型容量扩展期间弥合性能差距。
  • 将增长时序优化重新构型为子网络架构搜索问题,以实现自动化、自适应的增长决策。
  • 引入一种弹性超网络,实现对子网络性能的一次性估计,显著降低搜索成本。
  • 在训练各阶段复用超网络中的参数,以最小化计算开销并保持高效性。
  • 采用自适应正则化(AdaReg),根据模型规模动态调整数据增强强度和丢弃率,提升训练稳定性和性能。
  • 采用两阶段训练流程:首先训练一个子网络,然后使用优化后的增长参数将其扩展至完整容量。

实验结果

研究问题

  • RQ1渐进式学习能否实现自动化,以在不降低性能的前提下,对多种ViT架构实现一致的训练加速?
  • RQ2如何在不进行昂贵重训练或超参数调优的情况下,高效优化增长时序?
  • RQ3一次性超网络估计与参数复用在多大程度上能降低渐进式学习中的搜索开销?
  • RQ4基于动量的权重初始化(MoGrow)在模型增长过程中是否优于插值或随机初始化等标准方法?
  • RQ5自适应正则化对ViT渐进式训练中的收敛性和精度有何影响?

主要发现

  • AutoProg 在 VOLO-D1 上实现了高达 85.1% 的训练加速,且在 ImageNet 上 top-1 准确率无任何下降,证明了其无损加速能力。
  • 所提出的 MoGrow 增长算子相比基线方法将最终准确率提升了 0.2%,并将超网络性能提升了 2.73%。
  • 权重复用使 VOLO-D1 的加速比提升 12.3%,达到 65.6% 的加速,且无精度损失。
  • 自适应正则化对 VOLO-D1 至关重要,其缺失会导致 1.2% 的精度下降;但在 DeiT-S 上无效,使用后模型无法收敛。
  • 在 DeiT-S 上,AutoProg 在无 AdaReg 时实现 40.7% 的加速;在 VOLO-D1 上使用 AdaReg 时实现 85.1% 的加速,表明其在不同模型间具有强大泛化能力。
  • 消融实验证实,MoGrow、权重复用和 AdaReg 均为 AutoProg 达到最优性能的关键组件。

更好的研究,从现在开始

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

无需绑定信用卡

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