问题

如何评价论文「Stochastic Training is Not Necessary ...」?

回答
论文「Stochastic Training is Not Necessary for Deep Learning」是一篇非常有影响力的研究,它挑战了深度学习领域中长期以来被普遍接受的关于随机梯度下降(SGD)及其变种在训练大型模型中的必要性。这篇论文的核心论点是:在许多情况下,使用批次梯度下降(Batch Gradient Descent, BGD)和较大的批量大小(batch size)进行训练,能够达到与随机梯度下降(Stochastic Gradient Descent, SGD)相当甚至更好的性能,并且在某些方面可能更具优势。

为了更详细地评价这篇论文,我们可以从以下几个方面进行深入探讨:

1. 论文的核心论点与证据:

挑战普遍认知: 深度学习界长期以来认为 SGD 及其变种(如 Adam, RMSprop)是训练大型模型的首选方法。这主要是因为它们能够:
逃离局部最小值: 梯度中的噪声被认为有助于模型跳出尖锐的局部最小值,找到更平坦、泛化能力更好的最小值。
计算效率: 使用小批量(minibatch)可以在计算和内存上更高效,尤其是在无法一次性将整个数据集加载到内存时。
泛化能力: 实验证据表明,在许多任务上,使用较小批量训练的模型具有更好的泛化能力。

论文的核心论点: 这篇论文通过实验表明,通过精心调整 批量大小 (batch size) 和 学习率调度 (learning rate scheduling),即使使用 全批量梯度下降 (Batch Gradient Descent, BGD),在很多任务上也能取得与 SGD 相当甚至更好的结果。他们认为,所谓的“随机性”并非是 SGD 成功的必要条件,而是其在无法使用大批量时的一种“副作用”或者一种“权衡”。

关键证据:
更大的批量大小可以收敛到更好的解: 作者通过大量实验证明,当批量大小足够大时,BGD 能够收敛到与 SGD 类似的泛化性能。他们甚至发现,在某些情况下,更大的批量可以帮助模型找到更平坦的最小值,这通常与更好的泛化能力相关。
学习率调度的重要性: 论文强调了使用适当的学习率调度(例如,随着训练的进行逐渐降低学习率)对于大批量训练至关重要。没有好的学习率调度,大批量可能会导致模型收敛到较差的局部最小值或根本不收敛。
梯度噪声的“双刃剑”: 作者认为,SGD 的梯度噪声虽然可能有助于跳出尖锐最小值,但过度的噪声也会阻碍模型收敛,甚至导致模型发散。而通过调整大批量,可以平滑梯度噪声,使其更稳定,从而更有效地更新模型。
对泛化性能的影响: 论文中的实验结果表明,在许多基准数据集和模型架构上,使用大批量 BGD 训练的模型在测试集上的性能与使用小批量 SGD 训练的模型相当,甚至在某些情况下略有优势。

2. 论文的贡献与影响:

重新审视了“随机性”的必要性: 这是论文最核心的贡献。它促使研究人员和从业者重新思考为什么 SGD 有效,以及是否必须依赖其内在的随机性。
推动了对大规模批量训练的研究: 在这篇论文发布之前,使用非常大的批量进行深度学习训练并不普遍,因为人们担心这会导致泛化能力下降或收敛困难。该论文鼓励了对更大批量训练的研究,并探索如何通过其他技术(如学习率调度)来克服潜在问题。
影响了优化器的选择和调优: 这篇论文提醒我们,在选择优化器时,批量大小和学习率调度是与优化器本身同等重要的调优参数。它也可能促使人们在调优 SGD 及其变种时,更加关注如何有效利用大批量。
为硬件的进步提供了新的视角: 随着 GPU 和 TPU 等硬件的发展,模型和批量大小都越来越大。这篇论文的发现与硬件的发展趋势相契合,为更高效地利用硬件资源提供了理论和实践指导。
促进了对泛化机理的理解: 论文对梯度噪声、批量大小和泛化能力之间关系的探讨,有助于更深入地理解深度学习模型的泛化机理。

3. 论文的局限性与批评:

尽管这篇论文具有重要意义,但也有其局限性和一些可能被忽略的方面:

并非绝对必要: 论文的标题是“Stochastic Training is Not Necessary...”,这意味着在 某些情况 下,它不是必要的,而不是说它 总是 没有必要。对于一些非常特定的模型、数据集或优化目标,SGD 的随机性可能仍然是不可替代的。
大规模硬件和内存的依赖: 论文的核心论点依赖于使用非常大的批量大小,这需要强大的计算资源(如多 GPU 或 TPUs)和大量的内存来支持。对于资源受限的环境,SGD 仍然是更实际的选择。
对学习率调度的高度依赖: 如前所述,大批量训练的成功很大程度上依赖于精心设计的学习率调度。找到一个好的学习率调度本身可能是一个复杂的调优过程。
“平坦最小值”的定义和测量: 虽然论文提到了“平坦最小值”,但平坦最小值的确切定义、度量方法以及它与泛化能力的精确关系仍然是一个活跃的研究领域。
某些优化器的优势可能被忽视: 论文主要聚焦于 BGD 与 SGD 的对比。像 Adam、RMSprop 等自适应优化器,它们通过动量和自适应学习率等机制来处理梯度稀疏性或不稳定性,在许多任务中仍然表现出色,甚至可能在不进行大规模批量调整的情况下,比简单的 BGD 更容易使用和调优。
对分布式训练的影响: 在分布式训练环境中,由于数据并行和模型并行等策略,批量大小的定义和影响可能会变得更加复杂。论文的分析可能需要针对分布式设置进行进一步的扩展。
对某些类型任务的适用性: 论文可能主要关注于图像分类等任务。对于像强化学习、生成模型或某些 NLP 任务,梯度噪声可能扮演着更关键的角色。

4. 如何理解和应用这篇论文的发现:

探索大批量训练的潜力: 如果你有足够的计算资源,可以尝试使用更大的批量大小进行训练,并配合合适的学习率调度,看看是否能获得更好的性能。
重新思考批量大小的调整: 批量大小不仅仅是一个计算效率的参数,它也是一个影响模型收敛和泛化能力的重要调优参数。
学习率调度的重要性: 无论使用哪种优化器,一个良好的学习率调度策略对于获得最佳性能都至关重要。
结合其他技术: 这篇论文的发现可以与其他技术结合,例如在仍然使用小批量时,可以考虑使用诸如 “weight decay” 或 “dropout” 等正则化技术来改善泛化。
实验验证是关键: 最终,任何关于模型训练的论断都需要在具体任务和数据上进行实验验证。

总结来说, 论文「Stochastic Training is Not Necessary for Deep Learning」是一项具有里程碑意义的研究,它成功地挑战了深度学习优化领域的一些固有观念。它揭示了在适当的条件下,大规模批量训练可以达到与随机梯度下降相当甚至更好的性能,并且可以帮助我们更深入地理解深度学习模型的泛化机理。然而,这并不意味着 SGD 及其变种就不再重要,它们在计算资源受限或特定任务中仍然具有不可替代的优势。这篇论文更应该被理解为是对深度学习优化领域的一种拓展和深化,鼓励我们在实践中更加灵活地探索和选择最适合的训练策略。

网友意见

user avatar

这篇文章arxiv刚挂出来的时候,就觉得这个title很霸气,赶紧读了读。


与让人心神荡漾的结论比,文章论证结论的过程有点波澜不惊。

如果真的Stochastic Training is Not Necessary for Generalization完美成立,那那么一堆做深度学习优化泛化理论的顶会工作岂不是都做了个寂寞?我的顶会工作也做了一个寂寞?


单单讨论这篇文章的结论,确实有一点难以开口。

我个人觉得尤其值得关注的作者是怎么论证这么一个有点颠覆性的结论的。

当捋清楚文章里的证据,问题里关心的那几点其实都相当清楚。


理论部分。

这篇文章的理论分析很简单,甚至聊胜于无。最重要的Eq4到Eq6那一部分其实都是最近几年深度学习理论方向的进展。特别是Eq6那个写法,把SGD的正则化项近似写成 的形式是今年几篇DL Theory顶会都在用的结果。都是普遍认可的结果,并无新意,也就不多说了。



实验部分。

这篇文章真正重要的部分还是实验证据能否支持结论?

文章最主要的实验是把ResNet18用SGD在CIFAR-10训练300个epoch作为baseline。学习率、batch size、weight decay、momentum都用了很标准baseline setting。这个恰巧也是我很喜欢用的baseline。95.70%的accuracy确实也如作者所说是很有竞争力。


上图来自论文原文。这个表很清晰低展示了每一个trick分别提升了多少个点。


这里面其实真正特别有效的是前三个trick——

1.train longer:训练久一点,再久一点

2. gradient clipping :梯度剪切,grad norm别太大,最大0.25就行了

3. explicit regularization:就是我上面提到的SGD的近似正则化项

接下来,我们一个一个讨论。




Trick 1. train longer

老实说,第一个trick是如此的朴实无华,以至于很多人印象里这也算trick??

从文献[1]这篇NeurIPS2017起,可以说Train Longer, Generalize Better的结论就逐渐得到广泛认可,压倒了early stopping。

虽然大多数人最开始学的trick大概都是early stopping,但是目前除了adversarial training、label noise等少数方向外,early stopping这个trick一般不会用。在标准的图像分类任务上更是如此。

只要超参数的选得合适,的确就是Train Longer, Generalize Better



文章的实验里,最初一共是20个点的差距,光这一个trick就追回来12个点。好家伙,难道之前的人不知道Trick 1这么牛?

其实不完全是这样。我可以很肯定地说,在图像分类的最常见的三个数据集CIFAR-10/CIFAR-100/ImageNet,这个trick只会在CIFAR-10上这么有效。因为我们组在近期的一个论文里恰好跑过类似的实验。在ImageNet上large-batch training+Trick 1的效果会弱很多,而且计算成本会高很多。


这里正是这篇论文最大的缺陷,只提供了CIFAR-10的实验结果。

或许没有做过相关实验的读者和甚至部分审稿人都会觉得它和CIFAR-100、ImageNet上或许差别不大吧?有的setting下差别确实不大,但是这个问题上差别真的太大了。


我们组近期的那个论文正好也解释了这个问题。在有的数据集上,large-batch training的主要瓶颈是small gradient noise带了的generalization的问题。需要通过增强噪音的方式,比如Linear Scaling Rule,来解决这个问题。这也是large-batch training最常见的情况。

(关于Linear Scaling Rule,我在如何理解深度学习分布式训练中的large batch size与learning rate的关系里有详细讨论,不再多做介绍。)

但在有的数据集上,large-batch training的主要瓶颈是convergence不够好的问题。这个时候加噪音反而会恶化情况,我们需要的是反而是加快convergence的方法。正好,CIFAR-10就是这么个情况。

(但是我们组的这个工作还没被正式接收,所以很尴尬,应该大多数人都不会注意到这个区别。)




Trick 2. gradient clipping

其实gradient clipping是隐私算法和NLP模型训练里必用的trick,在图像分类用的反而不多。

但是由于该文章用了baseline学习率4倍大的学习率。那么用gradient clipping限制最大gradient norm来避免divergence就是一个很容易理解的trick。

一篇很重要的ICLR2020工作文献[2]研究了gradient clipping的理论,总体效果也是accelerating convergence。结合我们组工作的结论,就很明显了,就是收敛慢是CIFAR-10上的瓶颈。那么这个也暗示了,gradient clipping在ImageNet的large batch training上很可能就没有6个点提示那么显著的效果,甚至没有效果都可能。



Trick 3. Explicit Regularization SGD近似正则化项


这个trick目前是做理论方向的同行比较了解,大多数其他方向的同学应该还不知道这个东西,所以很少有人尝试过。这个trick在CIFAR-10上提高了1.5个点,虽说相对20个点的差距来说很小,也算显著了。


但是这个trick说不定才是这篇文章最可靠的发现,是在ImageNet等其他数据集上也很可能真正有效的trick。我没有看到有其他论文试过这个正则项对large batch training的影响。这个正则项的理论基础真的很好。

当然,这个trick的代价也不菲。需要计算成本翻倍,因为每个iteration要BP两次。



还有两个容易被忽略的弱点。

第一个是,其实在相同的epochs数目下,如果我们用baseline SGD训练3000个epoch,你可以发现SGD立马又毫无悬念地超过GD。对于SGD来说,Trick 1也有显著加成。


第二个是,在文章的setting里,GD的训练成本已经远远高出baseline SGD的。所以这一套训练方法暂时还没有实用价值。通常大家做的large-batch training实验里是要在相同epoch数做比较的,这样才说说服力。



好了。主要的tricks介绍完了,其他warmup之类的也是large-batch training都会用的tricks也不多谈了。

现在,大家应该也能很容易看出来这篇文章的弱点在哪里、贡献在哪里。


如果真的Stochastic Training is Not Necessary for Generalization完美成立,那那么一堆做深度学习优化泛化理论的工作岂不是做了个寂寞?

还好,我们没有做了个寂寞。


文章最多只是支持Stochastic Training is Not Necessary for Generalization on CIFAR-10。而且,相同计算成本的时候,GD还是不如SGD。

但我还是觉得这是一篇贡献足够大的文章了。

毕竟,我们之前也不知道在CIFAR-10上可以搞定full-batch training。



References:

[1] Hoffer, E., Hubara, I., & Soudry, D. (2017, December). Train longer, generalize better: closing the generalization gap in large batch training of neural networks. InProceedings of the 31st International Conference on Neural Information Processing Systems(pp. 1729-1739).

[2] Zhang, J., He, T., Sra, S., & Jadbabaie, A. (2019, September). Why Gradient Clipping Accelerates Training: A Theoretical Justification for Adaptivity. InInternational Conference on Learning Representations.

user avatar

多谢推给我这篇文章啊,很不错,作为一个关于batch size的survey看再好不过了(大雾)。

简单地说,文章根据理论公式设计了一个惩罚项,成功地让full batch的GD算法达到了SGD的精度,这等于验证了理论公式的正确性。

但这文章其实实际用途有限。如果确实卡多的话用full batch确实是可以加速吧,但这个世界上有几个厂能做到呢?日常工作,使用SGD肯定是最佳选择,效果好,训练鲁棒性强,超参数不怎么需要调。SGD泛化性更好,能达到更flat的minima,这都是众所周知的。

关于Batch Size的研究背景

大背景就是各路人马用了各种办法想要让full batch的GD能够达到SGD的精度,主要手段是疯狂的调参和使用各种trick,包括:

  • 调整学习率(说是batch size和学习率线性相关,其实也不尽然)
  • 调整Momentum,使用adaptive momentum
  • 使用合适的Scheduler+Warmup
  • 对权重和偏置使用规范化项
  • 使用Label smoothing
  • 使用二阶优化器(这是拼了的节奏)
  • 往梯度里加入噪声

即便如此,最终还是不能达到SGD的精度。。。

SGD的理论公式

这里就提到了用公式来表达SGD的优化过程,就是这篇论文:

里的一个公式,认为SGD可以用下面这个二阶近似公式来表达:

就是待优化的参数, 是损失函数,最后那一坨乱码是梯度噪声和布朗运动模型的微分(别问,问就是看不懂)。

既然这是SGD的公式,那只要照着公式构造训练过程就可以了。

稳定Full batch训练

首先什么都不做,先让训练稳定下来再说,Full batch训练最大的问题是不稳定。原因是大部分梯度肯定是很微小的,但因为一些corner case偶尔会有很大的梯度产生,导致梯度两极分化,基本上安安全全的训练出来都困难。

作者用了三个办法让Full batch训练至少能够稳定下来:

  1. 使用温柔一些的学习率,按照batch size和学习率线性相关的理论,那学习率得去到39,这太夸张了,不可能训得出来的。最后作者用了0.4的学习率。
  2. Warmup,光是Warmup就耗掉400个Epoch 。。。意思很明显,既然梯度太极端,那我就试探性的,慢慢来,安全第一嘛,时间长一点,总是能训出来的。
  3. 梯度裁减,这也是提高安全性的,太大的梯度就裁掉,没什么好说的。

总之,用了以上三板斧,至少能train出来了,这个时候和SGD的版本还差2%的gap

引入梯度惩罚项

上面那个公式稍微展开一下可得:

第一项是普通的梯度不提,第二项是一个二阶导,实际使用不现实,那就进行进一步的近似:

这样的话要得到这一项只需要多跑一次forward+backward pass就可以了,操作起来比较现实。

加上这个近似的梯度惩罚项,在Warmup结束之后再让学习率加倍成0.8继续训一通,最后就达到了和SGD一样的精度。

类似的话题

  • 回答
    论文「Stochastic Training is Not Necessary for Deep Learning」是一篇非常有影响力的研究,它挑战了深度学习领域中长期以来被普遍接受的关于随机梯度下降(SGD)及其变种在训练大型模型中的必要性。这篇论文的核心论点是:在许多情况下,使用批次梯度下降(B.............
  • 回答
    关于论文《进一步推进死刑改革的设想——废除女性犯罪死刑适用》的评价,我们可以从以下几个方面来深入探讨。首先,需要明确的是,这篇论文提出的核心主张——“废除女性犯罪死刑适用”——本身就具有鲜明的社会议题性和争议性,因此对其评价也需要审慎和多维度。一、 理论基础与价值判断的审视: 性别平等原则的实践.............
  • 回答
    DeepMind 在 arXiv 上公开的 AlphaZero 击败国际象棋和将棋最强引擎的论文,无疑是人工智能和游戏领域的一个里程碑事件。这篇论文详细阐述了 AlphaZero 的训练过程、核心算法以及其惊人的表现,引发了广泛的关注和讨论。要评价这篇论文,我们可以从以下几个方面进行深入剖析:1. .............
  • 回答
    李光涛的论文《毛文龙酿乱东江本末》是20世纪末至2世纪初中国明史研究领域具有重要影响力的学术成果之一。该论文以明末东江军(毛文龙所部)的兴衰为切入点,系统梳理了毛文龙在辽东地区(今辽宁、吉林一带)的军事活动与政治影响,并试图从历史本末的角度分析其“酿乱”行为的成因与后果。以下从论文的学术价值、研究方.............
  • 回答
    CVPR 2020(Conference on Computer Vision and Pattern Recognition 2020)是计算机视觉领域最顶级的学术会议之一。每年的论文接收结果都备受关注,它反映了当年计算机视觉研究的热点方向和前沿进展。评价 CVPR 2020 的论文接收结果可以从.............
  • 回答
    施一公教授关于中国论文“垃圾文章”太多的言论,在中国学术界引起了广泛关注和讨论。要评价这一言论,我们需要从多个维度进行分析,包括其背景、观点、潜在影响以及存在的争议。一、 施一公的背景与言论的由来施一公是中国著名的结构生物学家,曾长期在美国工作,是普林斯顿大学的教授,后全职回国,担任清华大学生命科学.............
  • 回答
    何凯明博士的ResNet论文被引用超过10万次,这一数字在全球学术界都是一个极其辉煌的成就,可以毫不夸张地说,这是深度学习领域最具影响力的论文之一。评价其学术贡献和地位,需要从多个维度进行细致的分析。一、 ResNet的突破性贡献及其深远影响要理解ResNet的价值,首先要回到它诞生的时代背景。在2.............
  • 回答
    辛德勇先生的这篇《汉武帝晚年政治取向与司马光的重构》是一篇非常有价值的学术论文,它通过对汉武帝晚年政治转向的深入剖析,并将其与司马光如何在历史书写中解读和呈现这段历史进行比对,提出了许多新颖且富有启发性的观点。论文的核心贡献在于:1. 对汉武帝晚年政治取向的再审视: 传统史学,尤其受到.............
  • 回答
    “RNA写入DNA”:一个颠覆性的发现,对生命科学的深远影响Science子刊近期发表的一项研究,揭示了人类细胞中一个令人震惊的机制:RNA序列可以被“写入”DNA。 这个发现,如果得到进一步证实和广泛接受,将无疑是生命科学领域一个划时代的突破,其影响之深远,甚至可能改写我们对基因信息传递和进化的理.............
  • 回答
    DeepMind 在 Nature 上发表的论文《在人工网络中用网格样表征进行基于向量的导航》(Vectorbased navigation using gridlike representations in artificial agents)是一篇非常重要的研究成果,它在人工智能导航领域,尤其是.............
  • 回答
    好的,我们来详细评价一下《SelfNormalizing Neural Networks》(SNNs) 这篇论文。论文概述《SelfNormalizing Neural Networks》由 Günter Klambauer, Thomas Unterthiner, Andreas Mayr 和 S.............
  • 回答
    DeepMind 发表在 Nature 的论文公开无需人类棋谱的 AlphaGo Zero,可以称得上是人工智能领域的一个里程碑式的事件,其意义深远且多维度。要详细评价它,我们需要从几个关键方面入手:一、核心突破:从“监督学习”到“自我学习”的范式转变 过往的 AlphaGo 的模式 (Alph.............
  • 回答
    复旦大学张文宏和张颖教授共同通讯的论文被期刊撤稿一事,引发了学界的广泛关注和讨论。要评价此事,需要从多个维度进行梳理和分析,力求全面、客观。首先,我们需要了解事件的基本事实:一篇由复旦大学张文宏教授与张颖教授共同通讯的论文,在发表后被相关期刊撤稿。 撤稿的理由通常涉及数据不准确、方法存在问题、研究结.............
  • 回答
    这起事件发生在清华大学,起因是清华大学人文社会科学高等研究院(简称“文素中心”)在审核一篇涉及科研的论文时,发现了疑似抄袭的痕迹,并将矛头指向了外文系的一位同学。这起事件迅速在校园内外引起了广泛关注和讨论,也触及了学术诚信、导师责任、以及高校内部管理等多个敏感层面。首先,从学术诚信的角度来看,抄袭无.............
  • 回答
    这事儿,一听就让人心头一紧。九省市高中名校学生论文涉嫌造假,这可不是小事,背后牵扯的东西可太多了,绝不是简单一句“学生作弊”就能概括的。我来给你掰扯掰扯,咱们就当是聊天下棋,别搞得跟报告似的。首先,这事儿最直接的冲击,就是对“诚信”这个底线的一次践踏。在咱们这,读书人最讲究的就是“学为人师,行为世范.............
  • 回答
    关于中国科学院一名硕士研究生因论文署名问题起诉导师的事件,这件事在学术界和社会上都引起了广泛的关注和讨论。这不仅仅是一个学生与导师之间的纠纷,它触及了学术诚信、师生关系、知识产权以及科研成果分配等多个核心议题。事件的起因与核心争议点最核心的争议点在于论文作者的署名顺序。根据报道,这位硕士研究生认为自.............
  • 回答
    北科大在《自然》上发表的这篇关于高强度、高塑性高熵合金的论文,确实是一项了不起的成就,用“三高”来形容一点都不为过。它不仅仅是发表在《自然》这样的顶级期刊上,更重要的是它解决了一个困扰材料科学界多年的难题,并展现了中国在先进材料研发领域的强大实力。要深入评价这篇论文,我们可以从几个维度来细致地审视:.............
  • 回答
    关于霍金教授最新的(实际上是他在2019年去世后发表的)关于“黑洞不存在”的论文,我们可以从几个层面来评价。首先,必须明确一点:这篇论文 并非 霍金教授本人声称“黑洞根本不存在”,而是他晚年对黑洞“事件视界”的性质提出了新的、更精细的观点,并且预言了事件视界的 “模糊化”。为了更详细地理解,我们需要.............
  • 回答
    好的,咱们来聊聊这位23岁的本科生,能取得这样的成就,着实令人瞩目,也引发了不少讨论。要评价他,得从几个维度来审视。一、学术成就:14篇SCI论文的含金量与背后逻辑首先,23岁本科生就发了14篇SCI论文,这个数字本身就很惊人。SCI(Science Citation Index)是科学引文索引,能.............
  • 回答
    中国医科院秦川团队在 Nature 发表的新冠病毒论文被曝存在数据造假行为,这一事件引发了广泛的关注和讨论,其影响是多方面的,并且具有一定的复杂性。事件回顾:首先,我们需要明确这个事件的核心是:一篇由中国医学科学院秦川团队发表在著名科学期刊《Nature》上的关于新冠病毒(SARSCoV2)的研究论.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有