参与高璇 路雪

微软&中科大提出新型自动神经架构设计方法NAO

近期,来自微软和中国科学技术大学的刘铁岩等人发表论文,介绍了一种新型自动神经架构设计方法NAO,该方法由三个部分组成:编码器、预测器和解码器。实验证明,该方法所发现的架构在CIFAR-10上的图像分类任务和PTB上的语言建模任务中都表现强劲,在计算资源明显减少的情况下优于或持平于之前的架构搜索最佳方法。

从几十年前 [13, 22] 到现在 [48, 49, 28, 39, 8],无人干预的神经网络架构自动设计一直是机器学习社区的兴趣所在。关于自动架构设计的最新算法通常分为两类:基于强化学习(RL)的方法 [48, 49, 37, 3] 和基于进化算法(EA)的方法 [42, 35, 39, 28, 38]。在基于 RL 的方法中,对架构组件的选择被看作是一个动作。一系列动作定义了神经网络的架构,其开发集准确率被用作奖励。在基于 EA 的方法中,搜索是通过架构组件的变异和再组合来进行的,性能更优的架构会被筛选出来继续进化。

可以很容易观察到,基于 RL 和 EA 的方法本质上都是在离散的架构空间中执行搜索。因为神经网络架构的选择通常都是离散的,例如 CNN 中的滤波器大小还有 RNN 单元中的连接拓扑(connection topology)。然而,在离散空间中直接搜索最优架构是很低效的,因为随着选择的增加,搜索空间会呈指数增长。本研究提出一种优化网络架构的新方法,将架构映射到一个连续的向量空间(即网络嵌入),利用基于梯度的方法在该连续空间进行优化。一方面,与自然语言的分布式表示类似,架构的连续表示在表示拓扑信息时更加紧凑和有效; 另一方面,由于更加平滑,在连续空间中进行优化比在离散空间内直接搜索容易得多。

研究者将这种基于优化的方法称为神经架构优化(NAO),如图 1 所示。NAO 的核心是一个编码器模型,负责将神经网络架构映射到一个连续表示(图 1 左侧蓝色箭头)。在连续表示上建立一个回归模型来逼近架构的最终性能(如开发集上的分类准确率,图 1 中间黄色部分)。这里值得注意的是,回归模型类似于之前研究中的性能预测器 [4, 27, 11]。新方法与之的区别在于如何利用性能预测器:之前的研究 [27] 使用性能预测器作为启发来选择已生成的架构,以加速搜索过程,而新方法直接优化模块,并通过梯度下降获得更好网络的连续表示(图 1 中间底部黑色箭头)。然后利用优化的表示来产生预测性能更好的新神经网络架构。为了实现这一点,NAO 的另一个关键模块被设计成解码器,从连续表示中恢复离散架构(图 1 右侧红框箭头)。解码器是配备了注意力机制LSTM 模型,可以实现精准恢复。这三个组件(即编码器、性能预测器和解码器)在多任务设置中接受联合训练,这有利于连续表示:恢复架构的解码器目标能进一步改善架构嵌入的质量,更有效地预测性能。

图 1:NAO 的总体框架。原始架构 x 通过编码器网络映射到连续表示 e_x。然后通过最大化性能预测器 f 的输出将 e_x 优化为 ex',然后使用解码器网络将 ex'转换为新架构 x'。

研究者进行了大量实验来验证 NAO 在图像分类和语言建模任务上的有效性。使用之前研究 [48, 49, 37, 27] 常用的架构空间,通过 NAO 找到的架构在 CIFAR-10 上达到了 2.07% 的测试集误差率(使用了 cutout 正则化 [12])。此外,在 PTB 数据集上,该架构实现了 55.9 的困惑度,也超过了神经架构搜索方面的之前最优方法。此外,研究者还展示了:使用最近 [37] 提出的 ENAS 中的权重共享机制来减少子模型参数空间中的较大复杂度,该方法可以提高发现强大的对流和循环架构的效率,例如,在 1 个 GPU 上花费不到 10 小时。研究者将很快发布代码和模型。

论文:Neural Architecture Optimization

论文链接:https://arxiv.org/abs/1808.07233

摘要:自动神经架构设计非常有助于发现强大的神经网络结构。现有的方法,无论是基于强化学习(RL)还是进化算法(EA),都是在离散空间中进行架构搜索,效率非常低。本文提出了一种基于连续优化的自动神经架构设计方法。这种新方法被称为神经架构优化(NAO)。该方法有三个关键部分:(1)编码器,将神经网络架构嵌入/映射到连续空间;(2)预测器,将网络的连续表示作为输入,并预测其准确率;(3)解码器,将网络的连续表示映射回其架构。性能预测器和编码器使我们能够在连续空间中执行基于梯度的优化,以找到潜在的准确率更高的新架构嵌入。然后将这个更优的嵌入使用解码器解码到网络。实验表明,该方法所发现的架构在 CIFAR-10 上的图像分类任务和 PTB 上的语言建模任务中都表现强劲,在计算资源明显减少的情况下都优于或持平于之前的架构搜索最佳方法。其中 CIFAR-10 图像分类任务的测试集误差率为 2.07%,PTB 语言建模任务的测试集困惑度为 55.9。在两个任务中发现的最优架构可被成功迁移到其他任务,如 CIFAR-100 和 WikiText-2。此外,结合最近提出的权重共享机制,我们在计算资源都很有限的情况下(在一个 GPU 上 10 小时)在 CIFAR-10 和 PTB 上发现了功能强大的架构,前一个任务上的最优模型误差率为 3.53%,后一个任务上的困惑度为 56.3。

表 1:CIFAR-10 数据集上不同 CNN 模型的表现。

B 是单元内的节点数。N 是发现的正常单元(normal cell)被展开形成最终 CNN 架构的次数。F 表示滤波器大小。#op 是对单元中一个分支的不同操作数,是自动架构设计算法的架构空间尺度指标。M 是经过训练以获得所需性能的网络架构总数。/ 表示该标准对特定算法无意义。NAONet-WS 表示 NAO 发现的架构和权重共享方法。

表 2:CIFAR-100 数据集上不同 CNN 模型的表现。NAONet 代表 NAO 在 CIFAR-10 上发现的最优架构。

表 3:PTB 数据集上不同模型和技术的表现。与 CIFAR-10 实验类似,NAO-WS 代表具备权重共享机制的 NAO。

表 4:WT2 数据集上不同模型和技术的表现。NAONet 代表 NAO 在 PTB 上发现的最优架构。

理论论文微软亚洲研究院中科大
1
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

梯度下降技术

梯度下降是用于查找函数最小值的一阶迭代优化算法。 要使用梯度下降找到函数的局部最小值,可以采用与当前点的函数梯度(或近似梯度)的负值成比例的步骤。 如果采取的步骤与梯度的正值成比例,则接近该函数的局部最大值,被称为梯度上升。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~