深度学习之不依赖归一化
我们知道,为确保机器学习模型的数据处理准确性,通常需要对数据进行归一化处理。这种处理方式将数据压缩至统一的区间内,使输出范围限制在0至1之间。传统观点认为,归一化有助于模型更平缓地寻找最优解,从而更容易达到最佳性能水平。
最近这一“常规智慧”正受到挑战。DeepMind的研究团队提出了一种无需归一化的深度学习模型——NFNet,即便如此,它在大型图像分类任务中仍取得了业内领先的性能。
NFNet,是一种不采用归一化处理的ResNet网络。具体来说,该研究的贡献有以下几点:
1. 提出了自适应梯度修剪(Adaptive Gradient Clipping,AGC)方法。该方法基于梯度范数与参数范数的比例来调整梯度,研究证实了AGC能够训练更大批次和非归一化网络,即使在大规模数据增强的场景下。
2. 设计了名为Normalizer-Free ResNets的新网络结构。该网络在ImageNet验证集上不仅在训练等待时间上表现出色,还达到了业界顶尖水平。NFNet-F1模型在训练速度提升8.7倍的实现了与EfficientNet-B7相似的准确率。而NFNet的最大版本更是设立了全新的SOTA基准,无需额外数据即可实现86.5%的top-1准确率。
3. 在针对拥有3亿张带标签的大型私有数据集进行预训练后,NFNet对ImageNet进行微调,能够获得比使用批归一化的模型更高的Top-1准确率,最高可达89.2%。
研究方法与架构
在摒弃归一化的趋势中,研究者致力于通过其他手段提升深度ResNet的准确率。DeepMind的这项研究建立在“Normalizer-Free ResNet(NF-ResNet)”之上,这是一种无需归一化层即可达到训练和测试准确率的预激活ResNet。
NF-ResNet采用了特定的残差块结构,其中h_i代表第i个残差块的输入,f_i代表第i个残差分支计算的函数。
为进一步拓展NF-ResNet的应用范围,研究者探索了梯度裁剪策略。梯度裁剪常用于语言建模中以保持训练的稳定性。近期研究表明,与梯度下降相比,梯度裁剪允许以更高的学习率进行训练,从而加速收敛速度。该研究假设梯度裁剪是有效扩展NF-ResNet至大批量训练的关键。
借助自适应梯度裁剪(AGC)方法,研究团队设计了无需归一化的架构,该架构在准确率和训练速度上均实现了SOTA水平。
实验结果与对比
在ImageNet数据集上,NFNets与其他模型进行了详细的对比。NFNets-F5已达到SOTA的top-1准确率86.0%,相较EfficientNet-B8有所超越;而NFNet-F1在测试准确率上与EfficientNet-B7相当,同时其训练速度显著提升。NFNet的变体在经过大规模预训练后,针对ImageNet进行微调,可获得高达89.2%的top-1准确率。
Andrew Brock表示,尽管网络的信号传递和训练规律仍有待深入理解,但无归一化的方法已经提供了一个强有力的范例,并证明了深入这种理解能力可以有效提升生产效率。