ON LARGE-BATCH TRAINING FOR DEEP LEARNING: GENERALIZATION GAP AND SHARP MINIMA

关于深度学习的大批训练:generalization gap &sharp

ABSTRACT

随机梯度下降(SGD)方法及其变体是许多深度学习任务的选择算法。这些方法在小批量的情况下运行,其中一小部分训练数据,比如32-512个数据点,被采样来计算梯度的近似值。在实践中已经观察到,当使用较大的批处理时,模型的质量会下降,这可以通过模型的泛化能力来衡量。**我们研究了在大批量情况下泛化下降的原因,并给出了支持大批量方法趋向于收敛于训练和测试函数的急剧极小值这一观点的数值证据,**众所周知,急剧极小值导致较差的泛化。相比之下,小批量方法始终收敛于平面最小化器,我们的实验支持一个普遍的观点,即这是由于梯度估计中的固有噪声造成的。我们讨论了几种策略,试图帮助大批量方法消除这种泛化差距

  1. INTRODUCTION
    深度学习已经成为大规模机器学习的基石之一。深度学习模型被用于在包括计算机视觉、自然语言处理和强化学习在内的各种任务上取得最先进的结果;参见(Bengio et al., 2016)及其参考文献。这些网络的训练问题是非凸优化问题之一。数学上,这可以表示为
    在这里插入图片描述
    其中fi为数据点i2f1的损失函数;2;;Mg表示模型预测与数据的偏差,x为待优化权重向量。优化这一功能的过程也称为网络训练。随机梯度下降(SGD) (Bottou, 1998;Sutskever et al., 2013)及其变体通常用于训练深度网络。这些方法通过迭代地采取形式的步骤来最小化目标函数f:
    在这里插入图片描述
    Bk 属于1;2;;M为从数据集中采样的批次,k为迭代k时的步长,这些方法可以解释为使用有噪声梯度的梯度下降,通常称为带有批次大小jBkj的小批次梯度。SGD和它的变种被用在一个小批量的制度,其中jBkj 远小于M和典型的jBkj 属于32;64;;512。这些配置在实践中已成功地应用于大量应用中;参见e.g. (Simonyan & Zisserman, 2014;Graves等,2013;Mnih等,2013)。这些方法的许多理论性质是已知的。这些保证包括:(a)强凸函数的收敛性和非凸函数的不动点收敛性(Bottou et al., 2016), (b)鞍点避免(Ge et al., 2015);Lee等(2016)和©输入数据的鲁棒性(Hardt等,2015)。然而,**随机梯度方法有一个主要的缺点:由于迭代的顺序性和批量小,并行化的途径有限。**同时,也有一些努力将SGD与深度学习并行化(Dean et al., 2012;Das等,2016;Zhang et al., 2015),获得的速度和可伸缩性往往受到小批量大小的限制。**提高并行性的一个自然途径是增加批处理大小jBkj。这增加了每次迭代的计算量,可以有效地分布。然而,实践者发现这导致泛化性能的损失;参见例(LeCun et al., 2012)。换句话说,与小批方法相比,使用大批方法训练的模型在测试数据集上的性能往往更差。在我们的实验中,我们发现即使对于较小的网络,泛化的下降(也称为泛化间隙)也高达5%。本文给出的数值计算结果说明了大批量方法的这一缺陷。我们观察到泛化间隙与大批量方法得到的极小化器的显著锐度相关。这激发了修复泛化问题的努力,因为在不牺牲泛化性能的情况下使用大量的训练算法将能够扩展到比目前可能的更多的节点。这可能会大大减少训练时间;**我们在附录C中提供了一个理想化的性能模型来支持这种说法。。。。论文组织如下。。。。在本节的其余部分中,我们定义了本文使用的符号,并在第2节中介绍了我们的主要发现及其支持的数字证据。在第3节中,我们探讨了小批量方法的性能,在第4节中,我们简要讨论了我们的结果与最近的理论工作之间的关系。最后,我们提出了一些开放的问题,涉及泛化差距、急剧极小值和使大规模培训可行的可能修改。在附录E中,我们提出了一些解决大批量培训问题的尝试。
  2. NOTATION
    我们使用符号fi来表示损失函数和第i个数据点对应的预测函数的组成。权重向量用x表示,下标k表示迭代。我们使用术语小批量(SB)方法来表示SGD,或其变体之一,如ADAM (Kingma &(Ba, 2015)和ADAGRAD (Duchi et al., 2011),条件是梯度近似是基于一个小的小批量。在我们的设置中,批量Bk是随机采样的,每次迭代都保持其大小不变。我们使用术语big -batch (LB)方法来表示任何使用大型微型批处理的训练算法。在我们的实验中,ADAM被用来探索小批量或大批量方法的行为。
  3. DRAWBACKS OF LARGE-BATCH METHODS
  4. OUR MAIN OBSERVATION
    如第1节所述,从业者在使用大批量方法训练深度学习模型时发现了泛化的差距。有趣的是,尽管大批方法通常产生与小批方法类似的训练函数值,但这是不存在的。造成这种现象的原因可能有以下几点:**(1)LB方法对模型过拟合;LB方法被吸引到鞍点;(三)LB方法缺乏SB方法的探索性,容易在最接近初始点的极小点上放大;(iv) SB和LB方法收敛于具有不同泛化性质的定性不同的极小化器。**本文提供的数据支持后两个猜想。本文的主要观察结果如下
    缺乏泛化能力是由于大批量方法往往收敛到训练函数的急剧极小值。这些极小化器的特征是r2f(x)中有大量的正特征值,且泛化效果较差。相比之下,小批量方法收敛于具有大量小特征值r2f(x)的平面极小化方法。我们观察到,深度神经网络的损失函数景观是这样的,大的批量方法被吸引到具有敏锐极小值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值