模型泛化不必随机训练,全批量GD媲美SGD,网友:计算成本负担不起

机器之心报道
编辑:小舟、陈萍
泛化一定需要随机训练吗?
近来机器学习模型呈现出一种向大模型发展的趋势 , 模型参数越来越多 , 但依然具有很好的泛化性能 。 一些研究者认为泛化性能得益于随机梯度下降算法(SGD)所带来的随机噪声 。 但最近一篇ICLR2022的投稿《StochasticTrainingisNotNecessaryforGeneralization》通过大量实验证实全批量的梯度下降算法(GD)可以达到与SGD不相上下的测试准确率 , 且随机噪声所带来的隐式正则化效应可以由显式的正则化替代 。
模型泛化不必随机训练,全批量GD媲美SGD,网友:计算成本负担不起
文章图片
论文地址:https://arxiv.org/pdf/2109.14119.pdf
该论文随即在社区内引发了一些讨论 , 有人质疑论文的含金量 , 觉得个例不具代表性:
模型泛化不必随机训练,全批量GD媲美SGD,网友:计算成本负担不起
文章图片
也有人表示这篇论文就像一篇调查报告 , 提出的观点和证明过程并无新意:
模型泛化不必随机训练,全批量GD媲美SGD,网友:计算成本负担不起
文章图片
图源:知乎用户@SummerClover
虽然内容有些争议 , 但从标题上看 , 这篇论文应该包含大量论证 , 下面我们就来看下论文的具体内容 。
随机训练对泛化并不是必需的
随机梯度下降算法(SGD)是深度神经网络优化的支柱 , 至少可以追溯1998年LeCun等人的研究 。 随机梯度下降算法成功的一个核心原因是它对大型数据集的高效——损失函数梯度的嘈杂估计通常足以改进神经网络的参数 , 并且在整个训练集上可以比全梯度更快地进行计算 。
人们普遍认为 , 随机梯度下降(SGD)的隐式正则化是神经网络泛化性能的基础 。 然而该研究证明非随机全批量训练可以在CIFAR-10上实现与SGD相当的强大性能 。 基于此 , 该研究使用调整后的超参数 , 并表明SGD的隐式正则化可以完全被显式正则化取代 。 研究者认为这说明:严重依赖随机采样来解释泛化的理论是不完整的 , 因为在没有随机采样的情况下仍然可以得到很好的泛化性能 。 并进一步说明:深度学习可以在没有随机性的情况下取得成功 。 此外 , 研究者还表示 , 全批量训练存在感知难度主要是因为:优化特性和机器学习社区为小批量训练调整优化器和超参数所花费的时间和精力不成比例 。
具有随机数据增强的全批量GD
SGD相对于GD有两个主要优势:首先 , SGD的优化过程在稳定性和超出临界批量大小的收敛速度方面表现出质的飞跃 。 其次 , 有研究表明 , 小批量上由步长较大的SGD引起的隐式偏差可以用等式(5)和等式(7)中导出的显式正则化代替 。
模型泛化不必随机训练,全批量GD媲美SGD,网友:计算成本负担不起
文章图片
该研究对假设进行了实证研究 , 试图建立训练 , 使得在没有来自小批量的梯度噪声的情况下也能实现强泛化 , 核心目标是实现全批量性能 。 因此该研究在CIFAR-10上训练了一个用于图像分类的ResNet模型进行实验 。
对于基线SGD , 该研究使用随机梯度下降进行训练、批大小为128、Nesterov动量为0.9、权重衰减为0.0005 。
小批量SGD的验证准确率达到了95.70%(±0.05) 。 小批量SGD提供了一个强大的基线 , 在很大程度上是独立于小批量处理的 。 如下表1所示 , 在有替换采样时也达到相同的准确率95.70% 。 在这两种情况下 , 随机小批量处理引起的梯度噪声都会导致很强的泛化 。
然后 , 该研究将同样的设置用于全批量梯度下降 。 用全批量替换小批量 , 并累积所有小批量梯度 。 为了排除批归一化带来的影响 , 该研究仍然在批大小为128的情况下计算批归一化 , 在整个训练过程中将数据点分配给保持固定的一些块 , 使得批归一化不会引入随机性 。 与其他大批量训练的研究一致 , 在这些设置下应用全批量梯度下降的验证准确率仅为75.42%(±00.13) , SGD和GD之间的准确率差距约为20% 。