设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

让神经网络训练速度加快4倍!谷歌大脑团队提出“数据回送”算法(2)

发布时间:2019-07-22 20:26 所属栏目:19 来源:AI前线小组 译
导读:作者在两个语言建模任务、两个图像分类任务和一个目标检测任务上验证了数据回送的效果。对于语言建模任务,作者在 LM1B 和 Common Crawl 数据集上训练了 Transformer 模型。对于图像分类任务,作者在 CIFAR-10 数据

作者在两个语言建模任务、两个图像分类任务和一个目标检测任务上验证了数据回送的效果。对于语言建模任务,作者在 LM1B 和 Common Crawl 数据集上训练了 Transformer 模型。对于图像分类任务,作者在 CIFAR-10 数据集上训练了 ResNet-32 模型,在 ImageNet 数据集上训练了 ResNet-50 模型。对于目标检测任务,作者在 COCO 数据集上训练了 SSD 模型。

论文研究的主要问题是数据回送是否能够加速训练。作者用达到训练目标所需的“新鲜”样本数量衡量训练时间。因为新样本的数量与训练流程中上游步骤的数量成正比,因此,在回送因子小于或等于 r 时,新样本的数量与实际时间亦成正比。

让神经网络训练速度加快4倍!谷歌大脑团队提出“数据回送”算法

表 1 任务总结

对于任务,作者运行了一组没有数据回送的初始实验,并且调整参数以在实际计算预算内获得最佳的性能。作者选择了比初始实验中观察到的最佳值稍差的目标值。目标的微小变化并不会影响结论。表 1 总结了实验中使用的模型和目标值。

对每个实验,作者独立调整学习速率、动量和其它控制学习速率的参数。作者使用准随机搜索来调整元参数。然后选择使用最少的新样本达到目标值的试验。作者在每个搜索空间重复这个元参数搜索 5 次。实验结果中的所有图都显示了这 5 次实验所需的新样本的平均数,用误差条表示最小和最大值。

实验评估了在标准神经网络训练流程中添加数据回送的效果。作者实验了三种不同的数据回送:数据增强前的样本回送,增强后的样本回送,以及批回送。

3.1 数据回送可减少训练所需的新样本数量

图 3 显示了表 1 中所有任务的数据回送效果,回送因子为 2。除一种情况外,所有情况下数据回送达到目标性能所需要的新样本数更少。唯一的例外(ResNet-50 上的批回送)需要与基线相同数量的新样本——说明数据回送虽然没有带来好处,但也不会损害训练。在训练中插入回送越早,所需的新样本就越少:与批回送相比,样本回送需要的新样本更少,并且数据增强之前的回送需要的新样本比增强之后回送需要的新样本更少。对于 ResNet-50 或 SSD,没有观察到数据回送和批归一化之间的任何负交互作用。

让神经网络训练速度加快4倍!谷歌大脑团队提出“数据回送”算法

图 3 回送因子为 2 时,数据回送降低或不改变需要达到目标性能的新样本数量。点划线表示重复样本与新样本价值相同时的期望值。

3.2 数据回送可以缩短训练时间

图 4 显示了不同的 R 值(上下游处理时间的比例)对应不同的回送因子 e 的训练时间变化。如果 R=1,数据回送会增加,或不像预期的那样显著缩短训练时间。如果 R>1,e≤r 的任何设置都能缩短训练时间,设置 e=R 可以最大程度地缩短训练时间。设置 e>R 不会缩短 LM1B 数据集上 Transformer 的训练时间,但它确实为 ImageNet 上的 ResNet-50 提供了加速。这些结果表明,围绕 e=R 的最佳值附近的回送因子,数据回送可以缩短训练时间,尤其是 e≤R 的设置。

让神经网络训练速度加快4倍!谷歌大脑团队提出“数据回送”算法

图 4 不同 R 值对训练时间变化的影响

3.3 在回送因子的合理上限内,数据回送是有效的

图 5 显示了 Transformer 在 LM1B 上训练时,回送因子高达 16 的影响。批尺寸为 1024 时,最大有效回送因子介于 4 和 8 之间;超过此值,所需新样本的数量就会大于较小回送因子所需的样本数量。随着回送因子的增加,所需的新样本数量最终会超过基线,但即使是一个大于 16 的回送因子,所需的新样本仍然比基线少得多。批尺寸为 4096 时,最大有效回送因子甚至大于 16,这表明较大的批尺寸支持更大的回送因子。

让神经网络训练速度加快4倍!谷歌大脑团队提出“数据回送”算法

图 5 回送因子上限为 16 时,样本回送减少了所需新样本的数量。点划线表示重复样本与新样本价值相同时的期望值。

3.4 批尺寸的增加对数据回送的影响

对于较大的批尺寸,批回送的性能更好,但样本回送有时需要更多的 shuffle 操作。图 6 显示了回送因子为 2 时,不同批尺寸的效果。随着批尺寸的增加,批回送的性能相对于基线保持不变或有所提高。这种影响是有道理的,因为随着批尺寸接近训练集的大小,重复的批数据会接近新的批数据,因此,在限制范围内,批回送必须通过回送因子减少所需的新样本数量。另一方面,图 6 显示了随着批尺寸增加,样本回送的性能相对于基线的要么保持不变,要么变差。这是由于随着批尺寸的增加,每批中重复样本的比例也随之增加,因此实际中,批尺寸较大的样本回送的表现可能更像较小的批尺寸的表现。较小的批尺寸可能会增加所需的 SGD 更新步数,这可以解释图 6 中的样本回送结果。增加重复样本的乱序数量(以增加内存为代价)可以提升较大批尺寸时样本回送的性能,因为降低了每批中重复样本的概率。

让神经网络训练速度加快4倍!谷歌大脑团队提出“数据回送”算法

图 6 随批尺寸增加,批回送的表现相对于基线保持不变或有所提升,而样本回送的表现相对于基线保持不变或有所降低。点划线表示重复样本与新样本价值相同时的期望值。

3.5 Shuffle 程度越高,数据回送表现更好

图 7 显示了增加数据回送的 shuffle 缓冲区大小(以增加内存为代价)的效果。虽然之前的所有批回送实验中没有 shuffle 操作,但如果重复批处理被打乱,批回送的性能会提高,而更多的乱序数量会带来更好的性能。同样,样本回送的性能也随着 shuffle 缓冲区大小的增加而提高,即使它对基线没有帮助。这是因为如第 3.4 节所述,更多的乱序数量降低了每批数据中重复样本的可能性。

让神经网络训练速度加快4倍!谷歌大脑团队提出“数据回送”算法

图 7 shuffle 程度越高,数据回送的效果越好

3.6 数据回送不损害表现性能

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读