文章来源:企鹅号 - 仲耀晖的碎碎念

tzattack Studio presents

来源:Google AI Blog

编译:仲耀晖

-------------------------------------------------------------------------------------------------------

【导读】使用机器学习去探索神经网络架构

谷歌已经成功将深度学习模型应用到很多应用之中,如图像识别、语音识别及机器翻译。通常情况下,机器学习模型都是由工程师和科学家团队精心设计出来的。这种手动设计的过程是非常困难的,因为模型组件的搜索空间可以非常巨大——一个典型的10层网络模型能有1010种可能的网络。因此,设计网络的过程通常需要花费优秀的机器学习专家大量的时间和经验。

GoogleNet架构——从最初的卷积网络版本设计这样的网络需要多年的精心实验和调优。

为了让设计机器学习模型的过程变得更加简单,谷歌一直在探索自动设计机器学习模型的方法。研究发现,演化学习强化学习有非常大的潜力。本文将探讨强化学习方法所取得的成果。

谷歌将这种方法命名为AutoML,一个控制神经网络提出一个可以在特定任务上训练和评测性能的子模型架构,评测的反馈可以让控制器知道下一轮如何改进它自己提出的模型。谷歌将这个过程重复了无数遍——生成新的架构、进行测试、提供反馈让控制器生成新的架构。最终控制器学习到更大可能地使用能够在验证集上取得更优结果的架构。整个过程如下图:

【转载】      什么是AutoML-LMLPHP

谷歌将这个方法应用到两个重量级的深度学习数据集——CIFAR-10图像识别数据集以及Penn Treebank语言模型数据集。在这两个数据集上,谷歌的方法设计出的模型取得的正确率可以与由机器学习专家设计出的最前沿的模型相媲美。

所以,AutoML设计出了什么样的神经网络?下面是一个循环网络结构的例子,用来在Penn Treebank数据集上预测下一个单词。左边是人类专家设计的,右边是AutoML设计的:

【转载】      什么是AutoML-LMLPHP

机器生成的架构和人类设计的架构的确会有一些共性:例如使用加法将输入和前驱隐状态结合起来。但是,也有一些值得注意的新的元素——例如,机器生成的结构包含了一个乘法(右图上最左边标有“elem_mult”的蓝色结点)。这种结合在循环网络中并不常见,可能因为研究人员并没有发现使用它的明显受益之处。有趣的是,这个方法的一个简单的形式最近有人类设计者提出,他们认为这个乘法组合可以实际上避免梯度弥散/爆炸,印证了机器选择的架构能够发现有效的新的神经网络架构。

本方法也启示了为什么一些特定的网络能够如此有效。右图的架构有许多能让梯度反向流动的通道,这同时也解释了为什么长短期记忆循环网络的效果要比标准的循环网络更好。

谷歌想继续仔细分析和测试这些机器生成的网络来帮助器更好地理解它们。如果谷歌成功了,这将激发新的神经网络结构并使得非专家的人员能够根据他们的需求设计神经网络,让机器学习更深远地影响每个人。

-------------------------------------------------------------------------------------------------------

  • 发表于: 2018-08-27
  • 原文链接:https://kuaibao.qq.com/s/20180827G1NMJK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
04-27 02:18