社会焦点

【干货】ICLR

字号+ 作者: 来源: 2017-05-22

【干货】ICLR,吴恩达深度学习基础教程,loadrunner参数化详解,怎么让思考更加有深度,让课堂发生深度学习心得,深度思考比勤奋更重要

新智元编译

来源:The Morning Paper

作者:Adrian Colyer

编译:闻菲

  【新智元导读】ICLR-17 最佳论文《理解深度学习需要重新思考泛化》引起过广泛争议,但弄清深度神经网络泛化本质无疑是重要的问题。新智元在取得本文作者 Adrian Colyer 授权后,编译了他阅读该论文的感想,也欢迎留下你的看法。

  【编者按:有关《理解深度学习需要重新思考泛化》论文介绍见文末;灰色加粗字体代表引自论文;红色加粗是新智元编辑加的】

  (文/Adrion Colyer)这篇论文有很多优点:结果简单易懂,还有些出乎意料,会让你在接下来很长一段时间思考这一切可能意味着什么!

  作者一开始提出的问题是:

  “泛化好的神经网络和泛化不好的神经网络有什么区别?对这一问题做出满意的回答,不仅有助于更好地理解神经网络,还可能带来更正确(principled)可靠的模型架构设计。”

  作者说“泛化好”的意思,就是简单指“是什么原因导致在训练数据上表现很好的网络,在(没有接触过的)测试数据上表现也很好?”(与迁移学习不同,迁移学习做的是将一个训练好的网络用于另外一个相关但不同的问题)。

  花点时间想一下,这个问题基本可以归结为:“为什么神经网络效果这么好?”至于泛化,一个是只记住部分训练数据而后将其重复出来,一个则是真正对可以用来进行预测的数据集产生一些有意义的发现(intuition),这两者的区别就是泛化。

  所以,要是我们对“为什么神经网络表现(泛化)这么好?”给出的回答是:“我们真的不知道!”——事情就有些尴尬了。

  不可思议的随机标签案例

  故事从一个熟悉的地方开始——CIFAR 10(含有 5 万幅训练图像,分为 10 个类,1 万幅验证图像)和 ILSVRC(ImageNet)2012(1,281,167 训练数据,5 万幅验证图像,1000 个类别)数据集和 Inception 网络架构的变体。

  使用训练数据训练网络,然后在“训练数据集”上错误为 0,这没什么好奇怪的。这充分说明了过拟合——记住训练样本,而不是学习对特征进行真正的预测。我们可以使用正则化技术应对过拟合,设计出泛化性能更好的网络。这个话题我们稍后再说。

  仍然使用相同的训练数据,但这次将标签打乱(使标签和图像中的内容不再具有真正的对应关系)。使用这些标签随机的数据训练网络,会得到什么?训练错误还是 0!

  “在这种情况下,实例和分类标签之间不再有任何关系。因此,学习是不可能发生的。直觉告诉我们,这种不可能会在训练过程中很清楚地表现出来,比如训练不收敛,或者收敛速度大幅减慢。让我们感到意外的是,有多个标准架构的训练过程的好些属性,在很大程度上都没有受这种标签转换的影响。”

  正如作者所言,“深度神经网络很容易拟合随机标签”。从第一个实验中可以看出以下 3 个关键点:

  1. 神经网络的有效容量足以记住整个数据集;

  2. 对标签随机的数据进行优化很容易。事实上,与标签正确的训练过程相比,随机标签的训练时间也只增加一个小的常数因子;

  3. 将标签打乱仅仅是做了一个数据转换,其他所有关于学习问题的属性都没有改变。

  不过,如果你把使用随机标签训练的网络在测试数据集上跑一遍,结果当然不会好,因为网络实际上并没有从数据集中学到什么。用专业一点的话说,就是网络的泛化误差很高。

  综上可得:

  “……通过将标签随机化,我们可以强制模型不受改变、保持同样大小、超参数或优化器的情况下,大幅提升网络的泛化误差。我们在 CIFAR 10 和 ImageNet 分类基准上训练了好几种不同标准架构,证实了这一点。”

  换句话说:模型本身、模型大小、超参数和优化器都不能解释当前最好的神经网络的泛化性能。因为在其他条件都不变的情况下,唯独泛化误差产生大幅变动,只能得出这一个答案。

  更加不可思议的随机图像案例

  不仅仅打乱标签,把图像本身也打乱,会发生什么呢?或者,干脆用随机噪声代替真实图像??

  论文给出的图中,将这一实验标记为“高斯”实验,因为作者为每幅图像生成随机像素的方法,是使用了匹配原始图像数据集均值和方差的高斯分布。

  结果,网络的训练错误依然为 0,而且所用的时间还比随机标签更少!对此,一种假说是,随机标签图像都属于一个类别,但由于交换了标签,不得不作为不同类别的图像数据进行学习,而随机像素图像彼此之间更分散。

  作者团队做了多次实验,将一系列不同程度和类型的随机性加入数据集:

  • 真实标签(原始数据集,没做修改)

  • 部分损坏的标签(将其中一部分标签打乱了)

  • 随机标签(把所有标签都打乱)

  • shuffle 像素(选择一个像素排列,然后将其统一[uniformly]用于所有图像)

  • 随机像素(对每幅图像单独做一个不同的随机排列)

  • 高斯方法(如上文所述,给每幅图像增加随机生成的像素)

  •   【干货】ICLR

      一路下来,网络仍然能够完美地拟合训练数据。

      “此外,我们进一步改变了随机性的数量,在无噪声和完全噪声的情况下平滑地插入数据集。这样一来,标签还是保有某种程度的信号,从而会造成一系列间接的学习问题。随着噪声水平的提高,我们观察到泛化误差呈现出稳定的恶化。这表明神经网络能够理解数据中的剩余信号,同时用暴力计算适应噪声部分。”

      对我而言,最后一句话是关键。我们在设计模型架构的过程中,某些决定显然会影响模型的泛化能力。当数据中没有其他真实信号时,世界上泛化性能最好的网络也不得不退回去诉诸于记忆。

      所以,也许我们需要一种方法,将数据集真正的泛化潜力梳理清楚,同时弄明白给定模型架构获取这种潜力效果如何。对此,一个简单的方法是在同一个数据集上训练不同的架构!——当然,我们一直都在这么做。但这对于我们初衷——理解为什么一些模型比其他模型泛化得更好——仍然没什么用处。

      正则化方法救场?

      模型架构本身显然不足以作为一个合格的正则化函数(不能防止过拟合/记忆)。但是,常用的正则化技术呢?

      “我们表明,显式正则化方法,如权重衰减、dropout 和数据增强,都不能充分解释神经网络的泛化误差:显式正则化确实可以提高泛化性能,但其本身既没必要也不足以控制泛化误差。”

      【干货】ICLR

    转载请注明出处。


    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 百度首席科学家吴恩达离职,下一位是谁?

      百度首席科学家吴恩达离职,下一位是谁?