其他

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

2017-11-28 专注报道AI 量子位
安妮 编译自 DeepMind官方博客
量子位 出品 | 公众号 QbitAI

从围棋到雅达利游戏、再到图像识别和语言翻译,神经网络在各领域已经崭露头角。

一直被大家忽视的是,在特定领域应用神经网络是在研究开始时就确定好的,比如用哪种类型的神经网络、用怎样的方法和数据训练它。最近DeepMind的一项研究表明,这些超参数可以通过经验、随机搜索或计算密集的搜索过程来选择。

在这篇名为《Population Based Training of Neural Networks》的论文中,研究人员提出一种训练神经网络的新方法,能让实验者快速选择最佳的超参数和模型完成任务。这种PBT(Population Based Training)法能够同时训练和优化一系列网络,快速找到最优设置。

更重要的是,PBT法不会增加计算开销。它可以像常规技术一样快速完成,并且容易集成到现有的机器学习pipeline中。

两种优化法

PBT技术是两种最常用的超参数优化方法的混合,即随机搜索手动调整

随机搜索中,神经网络群被独立地进行并行训练,训练结束后选择性能最好的模型。这就意味着只有一小部分神经网络将被优质的超参数训练,但是剩下大部分网络无法接受更好的训练,因此这种方法浪费计算资源。

 超参数的随机搜索中许多超参数是并行且独立的

如果换用手动调整,研究人员首先需要推测哪个是最优的超参数,然后再训练模型提高模型表现。这个过程需要持续不断地进行,直到神经网络性能让研究人员满意为止。

这种方法的结果不错,但耗时太长,有时需要花上几个星期甚至几个月。虽然贝叶斯优化等方法可以将这个过程自动化,但耗时仍然很长,需要许多连续训练才能找到最好的超参数。

 手动调整和贝叶斯优化等方法仍然低效

PBT来了

终于到了PBT大显身手的时候了!

PBT技术与随机搜索类似,都是从用随机超参数并行训练很多神经网络开始。但是,给个网络不会被独立训练,而是用其他神经网络群的信息来精炼超参数并协调模型间的计算资源。

随着神经网络群训练地进行,开发和探索过程为周期性的,确保群中的所有“工作者”基础性能良好。此外,新的超参数也在不断探索中。

也就是说,PBT可以快速利用好的超参数,将更多的训练时间投入到有最好的模型中。更重要的是,它可以在整个训练过程中调整超参数值,自动学习最佳结构。

 基于群的神经网络训练示意图

实验结果

实验表明,PBT在整个任务领域非常有效。例如,研究人员在一系列具有挑战性的强化学习问题中测试这个算法。结果显示,PBT在所有情况下均能迅速找到好的超参数,并给出了超出目前最先进基线的结果。

此外,PBT对训练生成的GAN也有效。研究人员用PBT框架将最大化衡量视觉保真度的指标Inception Score,将结果从6.45改善到6.9。

研究人员还把PBT应用到谷歌最先进的机器翻译神经网络中,它们都经过了手动调整的超参数的时间表,需要几个月才能完成。通过PBT,研究人员能够找到匹配甚至超过现有的性能的超参数schedule,而无需任何手动调试,同时通常只需要训练一次。

 在CIFAR-10和FeUdal网络(FuN)对吃豆小姐的训练/粉色圆点代表初始agent,蓝色圆点是最后的agent

最后,附研究论文下载地址:

file:///C:/Users/annie/Desktop/population_based_training.pdf

DeepMind博客介绍:

https://deepmind.com/blog/population-based-training-neural-networks/

加入社群

量子位AI社群11群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot4入群;


此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。


进群请加小助手微信号qbitbot4,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存