神经网络开始放飞自我!都是因为架构搜索新算法

雷锋网:雷锋字幕组出品系列短视频《 2 分钟论文 》,带大家用碎片时间阅览前沿技术,了解 AI 领域的最新研究成果。

雷锋网本期论文:结合分层表示的高级架构搜索

Hierarchical Representations For Efficient Architecture Search

观看论文解读

说到学习算法,为什么我们不让神经网络学习其自身的架构呢?

终于有人提出了。这个新算法正是关于架构搜索的。

到目前为止,这并不是第一个可以解决这个问题的办法。但它无疑是艺术层面上的一个显著的进步。它代表了作为有机体的神经网络结构,可以通过遗传算法编程使其进化。

两分钟论文节目之前有提到过,神经网络技术发展十分迅速,在十年前就已经解决了那些人们认为完全不可能解决的问题。当我们想利用它来解决一些问题的时候,我们需要选择正确的神经网络。问题是,我们要如何去建立正确的神经网络架构呢?

针对典型的神经网络结构,我们至少要知道在这个网络中层的种类和数量,和每一层中使用的神经元的数量。更大一些的神经网络可以通过学习解决方案来处理更加复杂一些的问题。这样一来,事情就变得很简单,只要给出尽可能大的神经网络,我们就能解决问题,并且可以期望得到最好的结果。但是,如果你真的认为答案仅是如此,那太果断了。

建立更大的神经网络是要付出代价的。它们要花更长的时间训练,更糟的是,如果我们有一个过于大的神经网络,就会遇到过拟合的问题。过拟合现象是指学习算法从本质上来说是在记忆训练数据,而实际上并没有进行学习。其结果是,它的知识并不适用于它没见到过的数据。

想象一下,一名学生有着非凡的才能。他能够记下教科书里的所有内容,如果考试内容跟书本上一样,这名学生能够做的非常好,但是,即使考试内容有最细微的偏差,这名学生也将会做的非常糟糕。人们喜欢称之为死记硬背,但是这种方式跟任何一种学习方法都无法相比。一个较小的神经网络就像一名知识量较少的学生。他们更倾向于选择一种方式来完成他们的家庭作业,这种方式会完成得更好。这就是过拟合现象。它是众多现代学习算法的弊端。

使用L1、L2正则化或者dropout方法在某种程度上可以防止过拟合现象。这些方法通常有所帮助,但是没有一种方法是非常高效的。因此,虽然算法本身是学习算法,但是出于某种原因,我们必须人为设计其网络结构,正如我们讨论的一些结构,实际上他们明显优于其他的结构。我们要完成长期的反复测试以求解决结构中的错误,从而人为地找到最好的结构。

在这个图表中,水平的X轴表示进化的步骤数目,垂直的Y轴表示随着时间的推移进化后架构的性能。最后,在花了一天半时间完成了几千个进化步骤之后,此算法找到的最好的网络架构只是稍稍逊色于适合许多经典数据集的现有的最好的神经网络。

请仔细阅读本篇文章,并与最先进的神经网络和其他的架构搜索方法进行比较。这篇文章里有很多容易读懂的结果。需要注意的是,这是初步工作,在过程中仍需要使用数百显卡。假如你知道神经网络是如何应用于AlphaGo的,那么它的计算成本会在一年多的时间里减少10倍。

关注雷锋网的学霸们请阅读论文获得更多细节:

https://arxiv.org/pdf/1711.00436.pdf

来源 / Two Minute Papers

翻译 / 严谨文

校对 / 凡江

整理 / 雷锋字幕组

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171227A0J4UY00?refer=cp_1026

扫码关注云+社区