Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

杜伟、张倩编辑

2015年的ResNet潜力都挖掘出来了吗?新研究:不用蒸馏、无额外数据,性能还能涨一波

基线:我要是用上最新的训练流程,性能还能涨一波。


计算机视觉领域,何恺明等人 2015 年提出的 ResNet(deep residual network,深度残差网络)一直被视为经典架构,它解决了深度 CNN 模型难训练的问题,是 CNN 图像史上的一个里程碑之作。

自提出以来,ResNet 系列模型一直被用作研究中的默认架构,或者新模型提出时用来对比的基线。然而,在过去的几年里,神经网络训练方面的最佳实践已经取得了很大进展。新颖的优化、数据增强等方法提高了训练流程的有效性。

在这篇论文中,独立研究者 Ross Wightman 以及 Facebook AI、巴黎第四大学的两位研究者重新评估了普通 ResNet-50 在加入上述训练进展之后所能达到的性能。

论文链接:https://arxiv.org/pdf/2110.00476.pdf

具体而言,研究者重新评估了使用不同训练方法时普通 ResNet-50 的性能,并在 timm 开源库中分享了有竞争力的训练设置和预训练模型,希望它们可以成为未来研究工作的更好基线。例如,在 ImageNet-val 数据集上,使用研究者更高要求的训练设置,并在无额外数据或蒸馏的情况下,普通 ResNet-50 在分辨率 224×224 下实现了 80.4% 的 top-1 准确率

此外,研究者还报告了其他流行模型使用他们的训练流程时取得的性能结果。

基线也需要与时俱进

在过去的十几年里,人们已经见证了图像分类领域的很多重大进展,这些反映在了 ILSVRC’2012 挑战赛或其他图像分类基准测试结果的改进上。从原理上来讲,性能的提升反映了社区对下面这个问题的最大化求解:

A 为架构设计,T 为训练设置和超参数,N 为测量噪声,其中还包括从大量超参数或方法中选择最大值时经常出现的过拟合。降低 N 的良好做法有几种,比如使用不同的 seed 测量标准差、使用单独的评估数据集或者在迁移任务上对模型进行评估。

暂且撇开 N 不谈,评估 A 或 T 上的进展也构成了一个挑战,这是因为它们的进展随时间推移而变化。当在 (A, T ) 上进行联合优化时,无法保证给定架构 A_1 的最优选择 T_1 依然是另一模型设计 A_2 的最佳选择。因此,即使是在同一训练流程下比较模型时,人们也可能隐式地偏爱某一个模型。

将训练流程与架构各自带来的改进分开的一个好处是确保基线包含来自文献的新「成分」,并在调整超参数方面付出合理的努力。理想状态下,如果没有资源和时间限制,人们可以为每个架构适配最佳的训练流程,如下公式(1)所示:

但在现实中,这种理想状态是不可能的。当比较架构时,大多数论文往往与以往发表论文中的结果进行比较,但被比较的这些架构使用的通常是相对较弱的训练流程,最好的情况下也仅仅是使用类似或相同的流程。

本文作者表示,他们还没有发现专门通过广泛的成分选择和超参数搜索来提升 ResNet-50 训练流程的研究努力。在以往的文献中,ImageNet-1k-val 上报告的针对 ResNet-50 架构的性能范围区间为 75.2% 到 79.5%,具体取决于论文本身。目前还不清楚是否已经投入足够的努力来进一步推动基线。因此,研究者想要填补这方面的研究空白。

研究者探究的是何恺明等人提出的普通 ResNet-50 架构。他们优化训练流程以最大化该模型在原始测试分辨率 224 × 224 下的性能。这里只考虑训练流程(training recipe)。因此,研究者排除了 ResNet-50 的所有变体,如 SE-ResNet-50 或 ResNet-50-D,这些变体通常会在相同的训练流程下提升准确率

3 种不同的训练流程

研究者提出了 3 种具有不同成本和性能的训练流程,以覆盖不同的用例,下表 1 展示了 3 种训练流程的资源使用情况和 top-1 准确率结果。

这 3 种训练流程以实现测试分辨率 224 × 224 下 ResNet-50 的最佳性能为目标。研究者探索了很多使用不同优化器正则化以及超参数合理网格搜索数量的变体。其中,他们主要关注以下三个不同的训练流程:
  • 流程 A1 旨在为 ResNet-50 提供最佳性能,因此 epoch 数量最多(600),训练时间最长(在一个配有 4 个 V100 32GB GPU 的节点上训练 4.6 天)

  • 流程 A2 的 epoch 数量为 300,可与 DeiT 等其他几个优秀训练流程媲美,但批大小更大(2048)。

  • 流程 A3 旨在通过 100 个 epoch 和 2048 的批大小超越普通 ResNet-50 的流程,它在 4 个 V100 16GB GPU 上训练了 15 个小时,并且可能是探索性研究的良好设置。

如下表 2 所示,研究者将用于训练普通 ResNet-50 的不同方法与他们的方法进行了比较,其中只考虑修改了未修改的 ResNet-50 架构(即不考虑其他变体)。此外,研究者不考虑使用蒸馏之类的高级训练设置,或者通过自监督或伪标签预训练的模型。

实验结果

上表 1 总结了文中提出的训练流程的主要特点。研究者表示,就他们所知,使用训练流程 A1 训练的一个普通 ResNet-50 架构在 224×224 分辨率的 ImageNet 图像测试中超越了 SOTA 模型。其他两个训练流程(A2、A3)虽然没有达到 A1 的水平,但也用较少的资源实现了较高的性能。

在下表 3 中,研究者记录了使用本文提出的训练流程训练其他架构时的效果,以测试这些训练流程在其他模型上的泛化能力。在某些情况下,研究者观察到 A2 要优于 A1,这表明超参数不适用于较长的 schedule(通常需要更多的正则化)。

在下表 4 中,研究者对表 3 中的结果进行了补充。

在下表 5 中,研究者记录了使用不同的预训练流程在 7 个细粒度数据集上得到的迁移学习性能数据,并与默认的 PyTorch 预训练进行了比较。总体来看,A1 在大多数下游任务中都达到了最好的性能。

更多细节请参见论文。

理论ResNet
相关数据
何恺明人物

Facebook AI Research研究科学家。Residual Net提出者。

网格搜索技术

网格搜索是一项模型超参数优化技术,常用于优化三个或者更少数量的超参数,本质是一种穷举法。对于每个超参数,使用者选择一个较小的有限集去探索。然后,这些超参数笛卡尔乘积得到若干组超参数。网格搜索使用每组超参数训练模型,挑选验证集误差最小的超参数作为最好的超参数。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

深度残差网络技术

残差网络是为了解决深度神经网络(DNN)隐藏层过多时的网络退化问题而提出。退化(degradation)问题是指:当网络隐藏层变多时,网络的准确度达到饱和然后急剧退化,而且这个退化不是由于过拟合引起的。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

推荐文章
暂无评论
暂无评论~