本文重点介绍了不使用批量归一化(bn)构建图像识别的卷积残差神经网络。尽管通常情况下,没有bn的网络难以运行或扩展到更大的批处理大小,但本文提出的网络能够处理大批量数据,并且比之前的最新方法(如lambdanets)更有效。训练时间与准确率如图表所示,在imagenet上达到相同的top-1准确性评分时,nfnet的训练速度比effnet-b7快8.7倍。此模型是没有使用其他训练数据的最新技术,也是新的最佳迁移学习方法。nfnets目前在全球排行榜上排名第二,仅次于使用半监督预训练和额外数据的方法。

BN存在哪些问题?当数据通过网络传播时,它会在各个层中经历不同的转换。然而,如果网络构建不当,这种传播可能会变得更糟。在机器学习中,将数据集中在均值周围并缩放为单位变量是一种好的做法,但随着层数增加,特别是在使用ReLU等激活函数时,仅提取信号的正部分会导致中间表示变得非常偏斜且不居中。如果数据具有良好的条件数(即,以均值为中心,不太偏斜等),当前机器学习方法将表现得更好。

BN有三个显著缺点。首先,它是一种非常昂贵的计算,这会导致内存开销。你需要计算平均值和缩放,并将它们存储在内存中以用于反向传播算法,这增加了某些网络中评估梯度所需的时间。
其次,BN在模型训练和推理时引入了行为差异。因为在推理时你不希望这种批量依赖,而是希望能够适应单个数据点,并且这两种操作的结果应该相同。
第三,BN打破了小批量训练实例之间的独立性。这意味着批处理中的其他示例变得重要。
这有两个主要后果。首先,批大小将影响批量归一化。如果你使用小批量,平均值将是一个非常有噪声的近似;然而,如果你使用大批量,平均值将是一个很好的近似。我们知道对于某些应用来说,大批量训练是有利的,它们稳定了训练,减少了训练时间等。
其次,分布式训练变得非常麻烦。例如,如果你使用数据并行性,将批处理数据分为三个不同的部分,这些部分在三个不同的机器上进行前向传播。如果所有三个网络中都有一个BN层,那么技术上你需要将信号转发到BN层,然后你必须在BN层之间传递批处理统计信息,因为否则整个批次中没有平均值和方差。这使得网络可以“欺骗”某些损失函数。

论文贡献:作者提出了自适应梯度裁剪(AGC),该方法基于梯度范数与参数范数的单位比例来裁剪梯度。他们证明了AGC允许我们训练具有更大批处理量和更强大数据增强功能的无规范化网络。
作者设计了一个称为NFNet的无规范化ResNet系列,该系列在ImageNet上针对各种训练等待时间设置了最佳验证精度。NFNet-F1模型达到与EfficientNet-B7相似的精度,同时训练速度提高了8.7倍,最大的模型在没有额外数据的情况下,设定了一个全新的高度(86.5% top-1精度)。
作者还提到,在对3亿张带有标签的大型私有数据集进行预训练后,对ImageNet进行微调时,NFNet与批归一化网络相比,其验证准确率要高得多。最佳模型经过微调后可达到89.2%的top-1精度。
自适应梯度裁剪(AGC):梯度裁剪通常用于语言建模以稳定训练,最近的工作表明,与梯度下降相比,它允许有更大的学习率进行训练。梯度裁剪通常是通过约束梯度的模来实现的。具体来说,对于梯度向量G =∂L/∂θ,其中L表示损失,θ表示包含所有模型参数的向量,标准裁剪算法在更新θ之前对梯度进行裁剪:

在训练过程中,优化器为了达到全局最小值而进行巨大的跳跃并不是一件好事,因此梯度裁剪只是说,无论何时任何参数的梯度非常大,我们都会裁剪该梯度。如果梯度是好的,我们肯定会再次看到它,但如果梯度是坏的,我们想要限制它的影响。问题在于它对限幅参数λ非常敏感,原因是它不具有自适应性。
AGC所做的是,它可以缩放梯度,不仅可以将梯度缩放到其自己的范数,还可以将梯度裁剪为比率(梯度的大小/梯度所作用的权重是多少)。乍一看可能会有些困惑,详细请看论文第4页,以更清晰地理解AGC。
裁剪阈值λ是必须调整的标量超参数。根据经验,作者发现,虽然这种削波算法使他们能够以比以前更高的批次大小进行训练,但训练稳定性对削波阈值的选择极为敏感,在改变模型深度、批大小或学习速率时需要细粒度调整。作者通过选择与梯度范数成反比的自适应学习速率来忽略梯度的比例。
注意,最优裁剪参数λ可能取决于优化器的选择、学习率和批大小。根据经验作者发现对于大批量生产,λ应该更小。
自适应梯度裁剪(AGC)的消融:

例如,如果你比较图1中的批规范网络(NF-ResNet和NF-ResNet + AGC),你可以看到在一定的批大小(2048)之后,非AGC会简单地崩溃,而AGC会占上风。这似乎是大批量生产的隐藏问题。作者抱怨说λ的裁剪阈值是非常挑剔的。在图2中,你可以看到λ对批大小有一个至关重要的依赖,另外上图显示在小批次大小下,可以在相当大的阈值上进行裁剪。对于大批量,必须将阈值保持在非常低的水平,因为如果将阈值修剪得更高则会崩溃。
最后本篇论文的地址:
https://www.php.cn/link/287a9108c7aea65458fe49a61319e02a High-Performance Large-Scale Image Recognition Without Normalization, 11 Feb 2021.
作者:Nakshatra Singh
原文地址:https://www.php.cn/link/b3b34ad981273adad88546e295a0ff21
deephub翻译组
以上就是NFNETS论文解读:不使用BN的高性能大规模图像识别的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号