《Do Deep Nets Really Need to be Deep》论文阅读

https://arxiv.org/abs/1312.6184
Lei Jimmy Ba, Rich Caruana
NIPS 2014 引用量-964

深层神经网络的性能相比浅层网络提升是因为什么?

  • 更多参数
  • 可以在给定相同数量参数的情况下学习更复杂的函数
  • 具有更好的归纳偏差,可以学习更有用的功能,学习层次表示
  • 非卷积网络很难学习到卷积网络学习到的特征表示
  • 当前的优化算法和正则化方法在深层架构中更有效
  • 以上部分或全部都是?
  • 以上都不是?

论文中实验表明,浅层模型能够学习与dnn相同的函数。并且在某些情况下,只需要和dnn相同数量的参数。

实验

  • 深层 CNN ensemble 模型用于 CIFAR-10 用于生成 logits(before the softmax activation.),
  • 使用老师的 logits 作为回归目标来训练学生网络, 从而完成对老师网络的模仿.
  • 通过直接在logits上训练学生模型,学生可以更好地学习老师学到的内部模型,而不会丢失掉因由于softmax的竞争性特性会损失掉输入的信息.

L ( W , β ) = 1 2 T ∑ t ∥ g ( x ( t ) ; W , β ) − z ( t ) ∥ 2 2 \mathcal{L}(W, \beta)=\frac{1}{2 T} \sum_{t}\left\|g\left(x^{(t)} ; W, \beta\right)-z^{(t)}\right\|_{2}^{2} L(W,β)=2T1tg(x(t);W,β)z(t)22

论文中, 选择了不同的 loss 函数用于监督学生和老师的后验分布, -如 KL 散度, L2 距离, 实验表明 L2 距离表现更好.

术语 解释
DNN Deep Neural Net, 3 层 FC 层, 每层包含 2000 ReLU
CNN Conv->Pooling-> 3 层 FC 层, 每层包含 2000 ReLU
ECNN Ensemble of 9 CNN models
SNN Shallow Neural Net Only Consisting of FC w/o Conv, Pooling
SNN-8k, SNN-50k, SNN-400k SNN with 8000, 50,000, and 400,000 hidden units
《Do Deep Nets Really Need to be Deep》论文阅读_第1张图片 《Do Deep Nets Really Need to be Deep》论文阅读_第2张图片
  1. 相对于深层模型, 浅层模型更加容易过拟合(模型容量小, 就拼命记下非泛化特征, 从而拟合训练集?)
  2. 学生模型性能好, 且不容易过拟合
  3. 学生模型的性能不会超过老师(ECNN)的性能, 不过可以看出可以比较接近 ECNN 中单个 CNN 的性能.

为什么通过模仿老师模型学习的学生模型比原始标签上的训练更准确?

  • 教师网络会剔除掉部分错误标签数据
  • 同样,过滤目标可以冲走复杂性,如果p(y|x)中存在复杂区域,考虑到特征和样本密度,难以学习,教师网络为学生提供了更简单、软标签。
  • 从原始的硬0/1标签中学习可能比从教师的条件概率中学习更困难:在TIMIT每个训练样例中,183个输出中只有一个非零,但模拟模型看到大多数输出的非零目标教师模型的不确定性为学生模型提供了更多信息。通过对logits的训练进一步增强了这种好处。
  • 原始的学习目标可以部分依赖于输入中不可得到的特征,但是学生模型的学习目标仅仅依赖于输入的特征, 这是由于由老师模型生成的学习目标是可得到的实际输入(available inputs)的函数。 对于未知特征的依赖通过老师网络所剔除.

上述机制可以看成一种正则化的形式,有助于防止学生模型中的过度拟合。通常,在原始目标上训练的浅模型比深度模型更容易过拟合(why?)—即使使用 dropout, 浅层模型在还未学习到深层模型学习到的准确特征之前就先过拟合了(见Figure2). 模型压缩似乎是一种有效减少这种差距的正则化形式。如果我们对浅层模型有更有效的正则化方法,那么浅层和深层模型之间的一些性能差距可能已经消失。

《Do Deep Nets Really Need to be Deep》论文阅读_第3张图片

学生模型的表征能力与教师模型对比
《Do Deep Nets Really Need to be Deep》论文阅读_第4张图片

如上图所示, x轴显示教师模型的准确性,y轴是模拟模型的准确性。

  • 与对角线平行的线表明,有充分的证据表明学生模型的准确性随着教师模型精确度的提高而持续增加.
  • 学生模型不会运行比老师更好。虽然尺寸不同,两个模型之间以及与老师模型之间存在一致的性能差距,较小的浅模型最终能够通过向更好的教师学习而获得与较大的浅网相当的性能,并且两种模型的准确性仍在继续随着教师准确度的提高而增高.
  • SNN-MIMIC-8k总是比SNN-MIMIC-160K表现更差,SNN-MIMIC-160K的参数是SNN-MIMIC-8k的10倍。这表明如果有更准确的教师和/或更多未标记的数据可用。具有与深模型相当的许多参数的浅模型可能能够学习更准确的函数。

你可能感兴趣的:(经典论文阅读,机器学习)