您的位置:首页 > 理论基础 > 计算机网络

谷歌大脑AutoML最新进展:不断进化的阿米巴网络

2018-03-16 00:00 585 查看
原作 Esteban Real
Root 编译自 Google Research Blog
量子位 出品 | 公众号 QbitAI
自然界用了5亿年时间。才把神经系统从最原始的雏形——阿米巴(Amoeba)变形虫分化出可对外界环境刺激做出响应的内浆,进化到现在的高度复杂的人脑。如今我们人脑,相对目前阶段的机器来说,可以轻而易举完成各种复杂的任务。而机器的算法模型要做到同样表现(能力范围还非常局限),必须得靠大量的在AI领域里深耕多年的专家才行。像认猫、识图、辨别基因突变、或者是诊断疾病这些专项的任务,每一个有效的模型的搭建和调试都必须重度依赖AI专家的经验。有没有什么方法,训练出一个据外界环境的变化,像阿米巴变形虫那样即时调整出最优的生存策略,不断自我进化获取最优结果的算法呢?

自进化的AmoebaNet

还真的有。谷歌大脑今日就在研究博客更新,他们已经研究出了一种拥有很强的自我进化能力的神经网络,AmoebaNet。这个工作的研究基础是2002年Stanley和Miikkulainen的神经进化拓扑学。而其他研究机构,OpenAI,Uber实验室,还有DeepMind他们也有在研究自进化的算法。谷歌本身有强大的算力优势。所以谷歌大脑团队在琢磨,除了采用强化学习这种方法,怎么样才能能让图像分类器的迭代速度加快。迭代速度快还不够,出来的效果也必须好,最好还不需要重度依赖专家。毕竟现在问题那么多,AI专家根本不够用。快、好、省。这就是谷歌大脑要AmoebaNet满足的三个点。

做到快、好、省的思考路径

2017年ICML(国际机器学习大会),谷歌大脑发表了一篇论文Large-Scale Evolution of Image Classifiers。这个工作采用了非常简单的神经网络,以及简单的初始设定,让算法自己去进化出网络架构。当时这个算法的效果就已经可以媲美人工手调的模型了。这项工作出来之后,大家还是挺激动的。因为这意味着越来越多的AI应用可以一定程度上减少模型人工搭建调试的压力。这下,对没有时间进阶成一个AI专家的用户来说,也能获得一个效果越来越好的模型了。谷歌大脑思考的下一个问题是,人工手调和自我进化结合的模型,效果会不会比单独的要好?(人机结合疗效好?)所以,谷歌大脑最近的一篇论文Regularized Evolution for Image Classifier Architecture Search就开始采用更为复杂些的网络以及优化过的初始设定,还用上了谷歌最新的TPUv2芯片。这一次,谷歌大脑把最高配的硬件,AI专家的经验,以及自我进化的算法全砌上,就看在CIFAR-10和ImageNet上跑的效果怎么样了。

先看算法自我迭代的过程&效果

下图出自谷歌大脑的第一篇论文,每一个点代表用CIFAR-10训练后得到的神经网络。

[b]△ 神经网络进化的实验过程。四张表代表了不同时期进化得到的神经网络架构,最右的是精确性表现最好的神经网络架构。前面三个都是最好的架构的前身。[/b]刚开始,整个神经网络群都没有隐藏层,组成架构都是上千个一样的简单种子模型。
一开始用的种子模型(这一步还没有结合AI专家的经验),每次自我迭代之后,评估神经网络的分类表现。把表现最好的,也就是分类结果最准确的神经网络挑出来,当作母代模型,用于下一次迭代。然后在母代模型的基础上,做微调,进化生成更多的子代模型,归进整个神经网络群中(相当于进化生物学里的种群的概念)。表现不是最好的模型就没有变异进化的机会。谷歌大脑第一篇论文的工作涉及到的变异都很简单。比方说,随机移除一个卷积层,或者在随意两层之间加一个连接,或者是改变学习的速率等等。该工作的结果可以看出来自我进化算法的巨大潜力,虽然搜索空间的质量可能麻麻地(dei)。举个栗子。如果把其中一个种子模型改成Inception-ResNet分类器的话,那么可能会得到一个错误的结论:现在这个算法表现还不错,得到一个比较满意的结果了。但是这样操作的话,我们就把这次的变异操作硬编码了(把这次行为固定下来了,以后不好改),这样的话就变成以最终结果数值为导向,而不是终极效果目标为导向了。把其他可能性灭掉后,就达不到进化的目的了。在这个工作里,谷歌大脑把人工操作的部分压缩到最小范围,包含对ReLUs和批标准化层的干预。

再看人机结合后的模型效果

在上一次工作之后,谷歌大脑想减少模型进化过程中的试错成本。采用2017年Zoph的类inception模块,有效地把搜索空间缩小,并固定了神经网络的架构,其中网络上节点的模块是可以替换掉的。

[b]△ 2017年Zoph引入的类inception模块。[/b]最左边的那个图,指的是整个神经网络的外部架构,输入的数据从底部往上处理。最右边的图,是神经网络节点上的模块内部框架。整个网络的目标是产出精确性最高的输出结果。人机结合后模型的变异,是随机重连输出,或者随机替换模块。最后进化出来的模型是高质量的。

不同方法得到的模型效果对比


[b]△ 自进化、强化学习、随机搜索产生的模型对比。[/b]从图可以看出,在训练的早期,自我进化的模型用最少的算力就获得了最好的效果。另外,自我进化模型很重要的一个特征是,最旧的、很久没获得变异机会的模型会被弃掉。这样整个神经网络群的进化速度会越来越快。更多细节可以参考论文。最后,附阿米巴网络AmoebaNet论文地址: https://arxiv.org/abs/1802.01548& 编译来源: https://research.googleblog.com/2018/03/using-evolutionary-automl-to-discover.html你可能感兴趣 href="http://mp.weixin.qq.com/s?__biz=MzIzNjc1NzUzMw==&mid=2247495096&idx=1&sn=cb25eec7088e96f416bc1df2a6c2df10&chksm=e8d05acadfa7d3dca298cef87ed9bf836a81d9501be6210cac5c9a2f6fdc1a4dc81b10348229&scene=21#wechat_redirect" target=_blank>别翻墙了,谷歌机器学习速成课25讲视频全集在此谷歌开源语义图像分割模型DeepLab-v3+ | 附代码首个72量子比特的量子计算机问世,谷歌出品破解AI大脑黑盒迈出新一步!谷歌现在更懂机器,还开源了研究工具DIY发现新行星操作指南 | 谷歌开源了行星发现代码绿幕通通扔掉 ੧ᐛ੭ | 谷歌AI实时「抠」背景

加入社群量子位AI社群15群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot6入群;
此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。
进群请加小助手微信号qbitbot6,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。


量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: