0
本文作者: 高云河 | 编辑:郭奕欣 | 2017-04-26 10:05 | 专题:ICLR 2017 |
雷锋网AI科技评论按:4月24日-26日,ICLR 2017于法国土伦举办。雷锋网AI科技评论编辑赴前线带来该会议的一线报道。期间,雷锋网也将围绕会议议程及论文介绍展开一系列的覆盖和专题报道,敬请期待。
神经网络是功能强大而又灵活的模型,在图像,语音以及自然语言理解等学习任务上有良好的效果。尽管神经网络很成功,但设计一个好的神经网络仍然十分困难。为了能够使设计神经网络变得简单,谷歌大脑团队发表了一篇名为《Neural architecture search with reinforcement learning》的文章,该文章使用循环网络来生成神经网络中的模型描述,并用强化学习训练这个RNN,以最大限度的提高验证集中生成的架构的准确性。
该论文的作者之一Quoc V. Le是机器学习大牛吴恩达先生在斯坦福大学时期的博士生,而雷锋网了解到,该论文将会在今天的 ICLR会议上作为第四个Contributed talk进行讨论。
以下为雷锋网AI科技评论据论文内容进行的部分编译。
过去几年中,许多深度神经网络在语音识别,图像识别,机器翻译等富有挑战性的任务中取得极大的成功。伴随着神经网络的发展,研究人员的重点从特征设计转移到了架构设计,比如从SIFT和HOG算法,转移到了AlexNet,VGGNet,GoogleNet,以及ResNet等网络架构设计中。尽管这些方法似乎变得更简单了,但设计网络架构仍然需要大量的专业知识并耗费大量时间。
谷歌大脑团队提出了神经架构搜索(Neural Architecture Search),使用基于梯度的方法以找到最优的架构,过程如上图。由于神经网络的结构可以由特定的变长字符串指代,因此可以使用循环神经网络(控制器)生成该字符串。使用真实数据训练由字符串指代的网络(“子网络”),并在验证集上得到一个准确率。之后使用强化学习训练RNN,将准确率作为reward信号,即可以计算策略梯度,以便更新控制器。因此,在下一个迭代周期,控制器有更大的可能会生成一个能够得到更高准确率的架构。换种说法,控制器能够学习如何改善它的搜索。
该论文的结果展示了神经架构搜索能够设计出很好的模型,在CIFAR-10数据集上的图像识别,神经架构搜索能够找到一个新颖的卷积网络模型,该模型比目前人工设计的最好的模型更好,在测试集上得到了3.84的错误率,同时速度是目前最好的人工模型的1.2倍。在Penn Treebank数据集的语言模型中,神经架构搜索设计出的模型比先前RNN和LSTM架构更好,困惑度(perplexity)为62.4,比目前最好的人工方法提高了3.6.
使用控制器生成神经网络架构的超参数,为了灵活性,控制器选择为循环神经网络。下图为预测只具有卷积层的前馈神经网络,控制器将生成的超参数看作一系列符号。
在实验中,如果网络的层数超过一定值,则生成架构会停止。该值遵循一定的策略,并随着训练过程增加。一旦控制器RNN完成了架构的生成,就开始构建并训练具有该架构的神经网络。在网络收敛之后,记录网络在验证集中的准确率,并对控制器RNN的参数进行优化,以使控制器所提出的架构的预期验证准确率最大化。
控制器预测的模型描述可以被看作设计子网络的一系列action。在训练子网络收敛之后,该子网络会在保留数据集上得到一个准确度R。使用准确度R作为reward信号,并使用强化学习训练控制器。
CIFAR-10数据集上的卷积架构学习
搜索空间为卷积结构,使用了非线性层以及批归一化(batch normalization)。对于每个卷积层,控制器需要在[1,3,5,7]中选择滤波器的宽度和高度,在[24,36,48,64]中选择滤波器数量。
RNN控制器为两层LSTM,每层有35个隐藏单元。使用学习率为0.0006的ADAM优化器训练。控制器权值在-0.08到0.08之间平均初始化。并且进行分布式训练,使用了800个GPU同时训练800个网络。当RNN控制器确定了一个架构之后,子网络就被构建,并训练50个周期。在控制器训练过程中,控制器每确定1600个网络架构,网络的深度就增加2,初始的网络深度为6。
在控制器训练了12800个架构之后,得到了最高的验证集准确率,与其他方法的准确率对比见下图:
Penn Treebank数据集上循环网络架构学习
训练过程与CIFAR-10实验基本相同,最终结果如下:
总结:该论文提供了一种使用RNN构建神经网络模型的方法。通过使用循环神经网络作为控制器,该方法可以灵活地在不同的结构空间中搜索。该方法在一些具有挑战性的数据集上有着很好的性能,也为自动构建高质量神经网络架构提供了一个新的研究方向。
ICLR委员会最终决定
评价:该篇论文是提交给会议的论文中最好的几篇之一。评委们都很欣赏该想法,并认为实验设计得严密,有趣,引人注意。尤其令人感兴趣的是实验结果表明生成模型的性能比目前广泛使用的模型更好(例如LSTM)。
决定: 接受(作为Oral文章)
评委评论:
打分:9分:所有接受论文中的Top 15%,强烈推荐
评价:该论文探索了自动架构搜索领域的一个重要部分。尽管从技术上看,目前计算能力仍然紧张,但是随着未来技术的进步,这种权衡会变得更好。
该论文覆盖了标准的视觉和文字任务,并在许多数据集上进行了测试,展示了在标准RNN和CNN搜索空间之外仍然有改进的余地。尽管我们希望这个方法能够应用到更多的数据集上,但是现在已经能够充分的展示出该方法不仅能与人工设计的架构不相上下,甚至还能有所超越。这也意味着将一种方法应用到一个特定的数据集上,已经不需要在每个步骤上都手动进行设置了。
该论文是一篇课题有趣,实验结果良好的一篇文章。我强烈推荐接受。
评委评论:
打分:9分:所有接受论文中的Top 15%,强烈推荐
评价:该论文提供了一种基于actor-critic架构的神经网络结构搜索。该方法将DNN看作一种可变长度序列,并使用强化学习来寻找目标架构,作为一个actor。在强化学习的背景下,节点选择是一个action,架构的误差作为reward。一个双层自回归LSTM作为控制器和critic。该方法在两个较难的问题上进行实验,并与人工创建的多种架构进行对比。
这是一个非常激动人心的文章。人工选择架构是很困难的,并且很难知道最优的结果跟手工设计的网络之间相距多远。该方法很新颖。作者很详细的阐述了细节,也指出了需要进行的改进的地方。测试的数据很好的展示了该方法的能力。能够看到生成架构和人工架构之间的区别很有趣。文章写得很清晰易懂。相关方法的覆盖面和对比都很详细。
如果能够知道训练所需要的时间,以及不同时间/资源比例所训练处模型的质量等数据就更好了。总之,这是一个极好而有趣的文章。
一个很好的文章:
打分:9分:所有接受文章的Top 15%,强烈推荐
评价:该文章提出了使用强化学习和循环神经网络来针对特定任务设计网络架构的方法。这篇文章的想法很有前景,并且在两个数据集上的实验结果表明了这个方法很扎实。
文章的优点:
使用RNN来生成网络的描述,使用RL训练RNN,这个想法很有趣且很有前景。
生成的模型与人工设计的很相似,这也表明了人类的专家指示和生成网络架构是兼容的。
文章的缺点:
网络的训练时间过长,即使使用了大量的计算资源。
实验并没有提供生成架构的泛化能力。如果能够看到生成架构在其他相似但不同的数据集上的表现就更好了。
总之,我相信这是一篇很好的文章。但是仍需要更多的实验来展示它相较于人工设计模型的潜在优势。
想要深入了解该方法的请阅读原论文:ICLR 2017
谷歌大脑团队也在Tensorflow在GitHub的仓库中开源了代码:github
雷峰网版权文章,未经授权禁止转载。详情见转载须知。
本专题其他文章