本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万(2)

时间:2017-08-21 00:13来源:本港台现场报码 作者:www.wzatv.cc 点击:
其中 η 为学习率。该方法被称作随机梯度下降(SGD)。通常,我们并不会只使用一个样本计算损失和梯度,我们每次迭代会使用一个批量的样本更新权重

其中 η 为学习率。该方法被称作随机梯度下降(SGD)。通常,我们并不会只使用一个样本计算损失和梯度,我们每次迭代会使用一个批量的样本更新权重。现在,我们令第 t 次迭代的批量大小为 B_t,且 B_t 的大小为 b。然后我们就可以基于以下方程(3)更新权重:

这种方法叫作小批量随机梯度下降(Mini-Batch SGD)。为了简化表达方式,我们可以说方程(4)中的更新规则代表我们使用权重的梯度∇w_t 更新权重 w_t 为 w_t+1。

2.2 大批量训练的困难

2.3 学习率(LR)

2.4 顶尖的大批量训练

3 ImageNet-1k 训练

3.1 重现和延伸 Facebook 的研究结果

与 facebook 的论文类似,我们使用预热策略(warm-up policy)和线性缩放策略来获取学习率。但是我们和 Facebook 有两点不同:(1)我们将学习率提升得更高,Batch-256 使用的基本学习率是 0.2,而 Batch-8192 使用的基本学习率是 6.4。(2)我们使用多个规则(poly rule)而不是多步规则(multistep rule)来更新学习率。

Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour(Facebook论文):https://arxiv.org/abs/1706.02677

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万

图 1:从这张图片中,我们可以清楚地看到我们使用 8k 批量大小的准确度和 256 批量大小的准确度在 90 个 epoch 中达到同等水平。该实验在一个 NVIDIA DGX-1 工作站上完成。

表 1:ResNet-50 模型在 ImageNet 数据集上使用多个学习率规则的情况。

3.2 使用 AlexNet 训练 ImageNet

3.2.1 学习率的线性缩放和预热策略

我们使用批量为 512 的 BVLC-AlexNet 作为我们的基线,其在 100 个 epoch 中实现了 0.58 的准确度。在该实验中,我们使用多个学习率规则。基本的学习率是 0.01,而多个规则的学习率为 2。我们的目标是使用 Batch-4096 和 Batch-8192 在 100 个 epoch 实现 0.58 的准确度。

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万

表 2:AlexNet 模型使用多个学习率策略在 ImageNet 数据集中的训练情况。我们使用学习率的线性缩放和预热策略,这些是 Facebook 论文(7)中使用的主要技术。

3.2.2 用于大批量训练的批归一化(BN)

为在 AlexNet 上实现大批量训练,我们尝试了许多不同技术(如,数据清洗、数据缩放(data scaling)、多步 LR、最小 LR 调参)。我们观察到只有批归一化(BN)能够提升准确度。

3.2.3 用于大批量训练的层级对应的适应率缩放(LARS)

为了提高大批量 AlexNet 的准确度,我们设计了一个更新学习率的新规则。如前文所述,我们使用 w = w − η∇w 来更新权重。每一层都有自己的权重 w 和梯度 ∇w。标准 SGD 算法在所有层上使用相同的 LR(η)。但是,从实验中我们观察到不同的层可能需要不同的学习率。

码报:继1小时训练ImageNet之后,<a href=atv,大批量训练扩展到了3万" src="http://www.wzatv.cc/atv/uploads/allimg/170821/0019195605_0.png" />

表 3:AlexNet-BN 使用多个 LR 策略在 ImageNet 数据集上的训练情况。

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万

图 2:从上图中,我们清楚地观察到在添加批归一化后,泛化性能变得更好。

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万

表 5:AlexNet_BN 使用 LARS 学习率和多个规则在 ImageNet 数据集上的训练情况。

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万

表 6:AlexNet 模型在 ImageNet 数据集中的训练情况

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万

图 3:所有例子只运行 100 个 epoch。我们能明显观察到 LARS 学习率的影响。

4 实验结果

4.1 系统和库

4.2 实现细节

4.3 训练 ResNet 50 的顶级结果

通过使用 LARS,我们能把 ResNet50 模型的 batch 大小扩展到 32K。我们使用 Batch-256 作为基线。在最高准确度上,8K 的 Batch 损失了 0.3% 的准确度,32K 的 Batch 损失了 0.7% 的准确度。我们相信这些准确度损失能够通过超参数调整弥补。我们的基线要比顶级的结果(7)(17)略低,因为我们并未使用数据增强。

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万

图 4:通过使用 LARS,我们能把 ResNet-50 的批量大小扩展到 32K

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万

表 7:ResNet-50 模型在 ImageNet 数据集上的训练情况

表 8:AlexNet-BN 的速度与时间

4.4 使用大批量的收益

码报:继1小时训练ImageNet之后,大批量训练扩展到了3万

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容