前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学界 | 神经优化器搜索:利用强化学习自动搜索最优化方法

学界 | 神经优化器搜索:利用强化学习自动搜索最优化方法

作者头像
机器之心
发布2018-05-09 17:48:04
1.2K0
发布2018-05-09 17:48:04
举报
文章被收录于专栏:机器之心

选自arXiv

机器之心编译

参与:路雪

本论文通过强化学习的方式采样不同的更新规则而得出更加优秀的优化方法,这些不同的优化规则通过采样的概率和其在子网络的性能而得出该规则的重要性。本文提出的这种优化方法可以移植到不同的神经网络架构中,并有十分优秀的性能。机器之心对该论文进行了简要地介绍。

论文地址:http://proceedings.mlr.press/v70/bello17a/bello17a.pdf

我们提出了一种可自动探索优化算法的方法,该方法重点关注深度学习架构。我们训练了一个循环神经网络控制器生成特定域语言(domain language)中的字符串,该语言描述一系列基于原函数(比如梯度及其运行平均数(running average)等)的数学更新方程。控制器通过强化学习进行训练以在若干个 epoch 之后最大化模型的性能。在 CIFAR-10 中,我们的方法发现了一些更新规则优于许多常用的优化器,比如 Adam、RMSProp,或在卷积网络模型中带有和不带有动量的优化器。这些优化器也可以转移到不同的神经网络架构,并非常优秀地执行,包括谷歌的神经机器翻译系统。

图 1. 神经优化器搜索(Neural Optimizer Search)概览。

图 2. 一些常用优化器(如 SGD、RMSProp、Adam)的计算图。这里,我们展示了 Adam 在第一步和第二步的计算过程。蓝色框代表输入基元(input primitive)或临时输出(temporary output),黄色框代表一元函数,灰色框代表二元函数。g 代表梯度,

代表梯度的偏差修正估计,

代表二阶梯度的偏差修正估计。

图 3. 控制器 RNN 概览。控制器可以迭代选择 length 5 的子序列:首先选择第 1 和第 2 个操作数 op1 和 op2,然后将两个一元函数 u1 和 u2 应用到两个操作数(operand)上,最后二元函数 b 连接一元函数的输出。然后 b(u1(op1); u2(op2)) 成为可在后续组预测中作为操作数,或者成为更新规则。每一个预测都由最后的 softmax 分类器得出,然后作为下一个时间步的输入。

图 4. 随着采样优化器不断增加,控制器奖励也随着时间不断上升。

图 5. 神经优化器搜索(Neural Optimizer Search)中两个最好的优化器间的对比,它们都使用双层卷积网络架构。优化器 1 指

,优化器 2 指

图 6. 神经网络优化器搜索中的一个优化器和 Rosenbrock 函数上著名的优化器之间的对比。优化器 1 指

。黑点代表最佳结果。

图 7. 神经优化器搜索中两个最好的优化器间的对比,它们使用 Wide ResNet 架构。优化器 1 指

,优化器 2 指

表 1. 神经网络优化器搜索和 Wide-ResNet 架构上的标准优化器在 CIFAR-10 上的性能对比。Final Val 和 Final Test 指在 300 个 epoch 上训练之后的最终验证和测试准确度。Best Val 指在 300 个 epoch 上的最佳验证准确度,Best Test 指验证准确度最高的 epoch 上的测试准确度。对于每一个优化器,我们根据验证准确度报告 7 个学习率在对数尺度上的最佳结果。

表 2. 我们的优化器与强大的基线 GNMT 模型中的优化器 ADAM 在 WMT 2014 英语转德语翻译任务上的性能对比。

本文为机器之心编译,转载请联系本公众号获得授权。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档