[论文解读] Snapshot Ensembles: Train 1, get M for free
本论文在一个模型上使用循环余弦学习率调度训练,以获得多个表现良好的快照,并在测试时进行集成,从而在不增加额外训练成本的情况下提升准确性。
Ensembles of neural networks are known to be much more robust and accurate than individual networks. However, training multiple deep networks for model averaging is computationally expensive. In this paper, we propose a method to obtain the seemingly contradictory goal of ensembling multiple neural networks at no additional training cost. We achieve this goal by training a single neural network, converging to several local minima along its optimization path and saving the model parameters. To obtain repeated rapid convergence, we leverage recent work on cyclic learning rate schedules. The resulting technique, which we refer to as Snapshot Ensembling, is simple, yet surprisingly effective. We show in a series of experiments that our approach is compatible with diverse network architectures and learning tasks. It consistently yields lower error rates than state-of-the-art single models at no additional training cost, and compares favorably with traditional network ensembles. On CIFAR-10 and CIFAR-100 our DenseNet Snapshot Ensembles obtain error rates of 3.4% and 17.4% respectively.
研究动机与目标
- 推动降低高精度集成的训练成本。
- 利用 SGD 访问多个局部极小值来创建显式快照。
- 使用循环余弦学习率调度生成并保存多个模型快照。
- 证明在相同训练预算下,快照集成可以在不同架构和数据集上提升性能。
- 展示与数据增强、随机深度和批量归一化的兼容性。
提出的方法
- 在使用余弦退火调度的情况下,围绕 M 个学习率循环训练一个网络。
- 在每个循环结束时获取并保存模型参数的快照。
- 在测试时,将最近的 m 个快照进行平均以形成集成。
- 循环学习率函数 per Loshchilov & Hutter (2016) 控制循环长度和重启率。
- 使总训练时间等同于标准的单模型训练;在无额外训练成本的情况下获得集成收益。
- 在 CIFAR-10、CIFAR-100、SVHN、Tiny ImageNet 和 ImageNet 上,对 ResNet、Wide-ResNet 和 DenseNet 架构进行评估。
实验结果
研究问题
- RQ1是否能够在不增加训练成本的情况下,从单一路径中沿着多个局部极小值形成一个集成?
- RQ2循环余弦学习率调度是否能产生适合集成的多样且互补的快照?
- RQ3M 的循环数量和重启尺度对不同数据集和架构的集成性能有何影响?
- RQ4在相同训练预算下,Snapshot Ensemble 与传统集成和隐式集成方法相比如何?
主要发现
| 方法 | CIFAR-10 | CIFAR-100 | SVHN | Tiny ImageNet |
|---|---|---|---|---|
| 单一模型 | 5.52 | 28.02 | 1.96 | 46.50 |
| NoCycle Snapshot Ensemble | 5.49 | 26.97 | 1.78 | 43.69 |
| SingleCycle Ensembles | 6.66 | 24.54 | 1.74 | 42.60 |
| Snapshot Ensemble ( α0=0.1 ) | 5.73 | 25.55 | 1.63 | 40.54 |
| Snapshot Ensemble ( α0=0.2 ) | 5.32 | 24.19 | 1.66 | 39.40 |
| Wide-ResNet-32 (Single model) | 5.43 | 23.55 | 1.90 | 39.63 |
| Dropout | 4.68 | 22.82 | 1.81 | 36.58 |
| NoCycle Snapshot Ensemble | 5.18 | 22.81 | 1.81 | 38.64 |
| SingleCycle Ensembles | 5.95 | 21.38 | 1.65 | 35.53 |
| Snapshot Ensemble ( α0=0.1 ) | 4.41 | 21.26 | 1.64 | 35.45 |
| Snapshot Ensemble ( α0=0.2 ) | 4.73 | 21.56 | 1.51 | 32.90 |
| DenseNet-40 (Single model) | 5.24 ∗ | 24.42 ∗ | 1.77 | 39.09 |
| Dropout | 6.08 | 25.79 | 1.79 ∗ | 39.68 |
| NoCycle Snapshot Ensemble | 5.20 | 24.63 | 1.80 | 38.51 |
| SingleCycle Ensembles | 5.43 | 22.51 | 1.87 | 38.00 |
| Snapshot Ensemble ( α0=0.1 ) | 4.99 | 23.34 | 1.64 | 37.25 |
| Snapshot Ensemble ( α0=0.2 ) | 4.84 | 21.93 | 1.73 | 36.61 |
| DenseNet-100 (Single model) | 3.74 ∗ | 19.25 ∗ | - | - |
| Dropout | 3.65 | 18.77 | - | - |
| NoCycle Snapshot Ensemble | 3.80 | 19.30 | - | - |
| SingleCycle Ensembles | 4.52 | 18.38 | - | - |
| Snapshot Ensemble ( α0=0.1 ) | 3.57 | 18.12 | - | - |
| Snapshot Ensemble ( α0=0.2 ) | 3.44 | 17.41 | - | - |
- Snapshot Ensembles 在与相同预算训练的基线相比,错误率通常有所降低。
- 在 CIFAR-10 和 CIFAR-100 上,使用 DenseNet 时,某些设置下错误率分别为 3.44% 和 17.41%。
- 在 ImageNet(ResNet-50)上,双循环的 Snapshot Ensemble 在 23.33% 降至 24.01% 的单模型基础上实现了提升。
- 使用 2–8 个循环的集成可以超过单一模型,且在非常大的集成中收益递减。
- NoCycle 变体表现不如循环学习率调度,凸显了循环化学习率对有效多样化的重要性。
- 该方法在最小甚至零额外训练成本下提升了准确性,并且与其他提升准确性的技术兼容。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。