学界 | 效果超过SGD和Adam,谷歌大脑的「神经网络优化器搜索」自动找到更好的训练优化器

AI 科技评论按:谷歌大脑近期放出了一篇论文「Neural Optimizer Search with Reinforcement Learning」(强化学习的神经网络优化器搜索),用强化学习的方法为神经网络(尤其是深度学习)找到最佳的优化算法/权重更新规则。论文并没有重新制造轮子,但也取得了不错的效果,而且也引起了一定的关注。 AI 科技评论把论文内容简介如下。

要成功训练一个深度学习模型,选择一个适当的优化方法是非常重要的。虽然随机梯度下降法(SGD)通常可以一上手就发挥出不错的效果,不过 Adam 和 Adagrad 这样更先进的方法可以运行得更快,尤其是在训练非常深的网络时。然而,为深度学习设计优化方法是一件非常困难的事情,因为优化问题的本质是非凸问题。

在这篇论文中,谷歌大脑的研究员们讨论了一种方案,它可以自动设计优化方法中的权重更新规则,尤其是对于深度学习架构。这个方案的重点是使用了一个RNN结构的控制器,这个控制器可以给优化器生成权重更新方程。这个RNN结构的控制器是通过强化学习的方式训练的,一个具体的网络结构用它生成的更新规则进行同样次数的训练后,可以把模型准确率最大化。这个过程如下图。

神经网络优化器搜索的总体架构

训练神经网络很慢、很困难,之前有许多人设计了各种各样的方法。近期的优化方法结合了随机方法和批量方法的特点,比如用mini-batch,跟SGD类似,但是实现了更多的启发式方法来估计二阶对角信息,就和无黑塞方法(Hessian-free)或者L-BFGS类似。这样吸收了两种方法优点的方案通常在实际问题中有更快的收敛速度,比如 Adam 就是一个深度学习中常用的优化器,实现了简单的启发式方法来估计梯度的均值和变化幅度,从而能够在训练中更加稳定地更新权重。

之前的许多权重更新规则都借鉴了凸函数分析中的想法,虽然神经网络中的优化问题是非凸的。近期通过非单调学习速率的启发式方法得到的经验结果表明,在神经网络的训练方面我们仍然知之甚少,还有许多非凸优化的方法可以用来改进训练过程。

谷歌大脑的研究员们的研究目标是在人们已经熟悉的领域内为神经网络训练找到更好的更新规则。换句话说,他们没打算靠自己重新建立一套全新的更新规则,而是用机器学习算法在现有的更新规则中找到比较好用的。最近也有研究人员提出类似的方法,用模型学习生成更新数值。这里的关键区别是,谷歌大脑的这项研究是为权重更新生成数学形式的方程,而不是直接生成数值。生成一个方程的主要好处是可以轻松地迁移到更大的任务中,而无需为新的优化问题额外训练别的神经网络。而且,虽然他们设计这个方法的目的不是为了优化更新规则的内存占用的,不过还是能够在得到与 Adam 或者 RMSProp 等同的更新规则的情况下占用更少的内存。

论文中的方法受到了近期用强化学习做模型探索的研究的启发,尤其是在神经网络结构搜索上,其中用了一个 RNN 生成神经网络架构的设置文本。除了把这些关键思想用在不同的应用中,论文中的方法还展现出了一种全新的模式,把原有的输入以灵活得多的方法组合起来,从而让搜索新型的优化器变得可能。

控制器 RNN的总体结构。控制器会迭代选择长度为5的子序列。它首先选择前两个操作数和两个一元函数来应用操作数,然后用一个二进制函数合并两个一元函数的输出。获得的结果b就可以被下一轮子序列选中作为预测,或者成为更新规则。每次的预测都是由一个softmax分类器执行的,最后成为下一轮迭代的输入。

根据论文中的实验结果,在用 CIFAR-10 训练一个小型的卷积网络中,他们的方法比 Adam、RMSProp、带或者不带 Momentum 的 SGD 找到了许多条更好的更新规则,而且这些生成的更新公式中很多都可以轻松地迁移到新的模型架构或者数据集中使用。比如,在小型卷积网络训练中发现的权重更新规则在Wide ResNet 的训练中取得了比 Adam、RMSProp、带或者不带 Momentum 的 SGD 更好的结果。 对于 ImageNet 数据集,他们新找到的更新规则在目前最先进的移动设备级别模型的 top-1 和 top-5 正确率基础上继续提升了最高 0.4%。同样的更新规则在谷歌的神经机器翻译系统上也取得了不错的成果,在WMT 2014 英文到德文的翻译任务中最高能带来0.7BLEU的提升。

更多详细内容参见原论文:https://arxiv.org/abs/1709.07417 。 AI 科技评论编译

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-09-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

10大深度学习架构:计算机视觉优秀从业者必备(附代码实现)

? 来源:机器之心 作者:FAIZAN SHAIKH 本文长度为3000字,建议阅读5分钟 本文包括深度学习领域的最新进展、keras 库中的代码实现以及论文...

2119
来自专栏量子位

DeepMind提出训练网络新方法,快速找到最佳超参数和模型

安妮 编译自 DeepMind官方博客 量子位 出品 | 公众号 QbitAI 从围棋到雅达利游戏、再到图像识别和语言翻译,神经网络在各领域已经崭露头角。 一直...

3428
来自专栏重庆的技术分享区

1吴恩达Meachine-Learing之监督学习和非监督学习

873
来自专栏AI科技评论

视频 | 神经网络平常都在做些啥?可视化特征解释了一下

来源/ Arxiv Insights 翻译/ 龙翔 校对/ 凡江 整理/ 廖颖 喜欢机器学习和人工智能,却发现埋头苦练枯燥乏味还杀时间?油管频道 Arx...

35310
来自专栏机器之心

10 大深度学习架构:计算机视觉优秀从业者必备(附代码实现)

选自Analytics Vidhya 作者:FAIZAN SHAIKH 机器之心编译 参与:路雪、李亚洲、黄小天 近日,Faizan Shaikh 在 Ana...

2608
来自专栏算法channel

它的梯度去哪儿了?

斯坦福 NLP 第 9 课介绍了 RNN 语言模型的一个问题:梯度消失现象。那么什么是梯度消失? 为什么 RNN 会出现梯度消失呢? 梯度消失问题需要引起重视吗...

862
来自专栏新智元

【干货】深度人脸识别的 Caffe 实现(附模型开源地址及论文下载)

【新智元导读】本论文对人脸识别和验证任务提出一种新的损失函数,即中心损失。中心损失和softmax损失联合监督学习的CNN,其对深层学习特征的人脸识别能力大大提...

38710
来自专栏AI科技大本营的专栏

机器学习101:我们天天都在说的机器学习,究竟该怎么入门?

为了使大家对机器学习有一个基本的认识,在这篇文章中,我们将对以下四个主题做简要的介绍: 什么是机器学习? 机器学习模型的训练。 模型参数的优化。 神经网络。 即...

2625
来自专栏AI研习社

传统算法如何转化成神经网络?| 回顾

在当今AI时代中,CNN和RNN都被广泛关注,并且有很多相关讨论,而最基础的神经网络DNN,它的研究和曝光度却相对较少。DNN是所有其它神经网络的基础,所以对它...

35112
来自专栏机器之心

NAACL 2018 | 最佳论文:艾伦人工智能研究所提出新型深度语境化词表征

预训练词表征(Mikolov et al., 2013; Pennington et al., 2014)是很多神经语言理解模型的关键部分。然而,学习高质量词表...

1200

扫描关注云+社区