将强化学习用于深度学习选模型+调参:谷歌AutoML背后的技术解析

简介:


AutoML 是 Google 最新的产品,能够根据问题自动确定最优参数和网络结构。本文章就关注解析 AutoML 背后的技术,由于 AutoML 缺乏技术文档,我们的解析有不到之处,还请多多更正。

罗马不是一天建成的。AutoML 并非一蹴而就,而是 Google 的研究者在过去几年不断思考中产生的理论与实践结合的完美产物。下图是 Google 的 AutoML 探索之路。

8E33D316715D0D09402946953DEF2F250F6E5700


人工网络结构搜索(Inception-ResNet 与 Inception V4)


Alexnet 在 IMAGENET 取得冠军之后,Google 意识到了深度学习是未来的趋势,于是投入巨资进行神经网络的研究。从 Deepmind 被收购,Hinton 加入 Google,Tensorflow 的开源中可见 Google 对于 Deep Learning 的重视与远见。Google 在不断的调参数中发现了著名的 Inception 网络,并且结合 ReNet,发现了 Inception-ResNet,V4 和 Xception。这些发现让 Google 注意到了神经网络结构会对结构产生巨大影响,但是找到最优的结构需要耗费大量的人力和物力,并且对于一个新的数据集还需要投入同样的资源搜索合适的结构,这样的人工搜索是不能够 scalable 的。Inception-ResNet 的网络结构请参考论文:https://arxiv.org/pdf/1602.07261.pdf。Inception 系列网络跟 ResNet 的结果比较。

CB72A0D038D2F23694EB82B812D1695392F1F639

神经网络搜索初探:Neural Architecture Search with Reinforcement Learning(ICLR 2017 Best Paper)

为了增加网络结构搜索的 scalability,Google Residency Program 的成员 Barrret Zoph 在 Quoc Le 的带领下开始了神经网络自动调参的尝试,Neural Architecture Search with Reinforcement Learning 就是对这一工作的总结。该论文获得了 ICLR 2017 的 Best Paper。Barret Zoph 的工作成功在 CIFAR 和 PTB 上面搜索到了 state-of-the-art 的 CNN 和 LSTM 结构,最优 CNN 与 LSTM 结构对比如下:


EDA8056B67A79702A0AB06E10CF509BCA45805CF


Barret Zoph 使用强化学习进行网络结构搜索,网络框架图如下图:

F9148B9376CD61C6D49EF708CB9C90BD7AAEE422


Controller 是由 RNN 构成能够产生每层网络的 Kernel 大小和 skip connection 的连接,产生了网络结构之后,使用网络结构的准确率作为 Reward function。Controller 会根据 reward function 的反馈进行网络结构调节,最后会得到最优的网络结构。Controller 生成网络结构预测如下图:

FD21552E985B407AAC0E577A06B6F5A149BBDCCA


本篇论文会对 controller 预测的网络进行 SGD 学习,网络收敛之后的准确率为 Reward,然后使用 reinforcement learning 的 policy gradient 进行 controller 权值更新,policy gradient 公式如下:


期望值用下面的公式进行近似:


为了保证训练稳定,引入了 baseline,公式如下:


为了保证收敛速度,作者引入了 asynchronous 权值更新,在每个 GPU 中分配多个网络结构进行训练,跟 asynchronous reinforcement learning 的 idea 类似。该论文的 distribution 结构如下图:

574AA7F0ACA9D9A0F510CC2639363EF126A9B40F

本篇论文能够避免手动调参数,但是得到网络搜索需要 800GPU 搜索几个月的时间,最近 Google 使用 P100 可以在一周左右训练出模型,本论文仅仅在 CIFAR 上面进行实验,在大规模数据集 IMAGENET 上面的使用受限。

Large Scale Evolution of Image Classifiers(ICML 2017)


本篇论文通过 large scale evolution 的办法来搜索最优的神经网络,由于本人能力有限,我们不对这篇论文进行技术解析。该论文的结构搜索过程如下图:

391B43E7E8A57A9D22D47C902F9BE91A53906C69


有趣的现象是,evolution 搜索偏向于没有 skip connection 的神经网络。通过 evolution 办法搜索到的神经网络比 ResNet 结果好,但是低于 DenseNet,如下图:

66D26541C7BF72FA2850E491BCC24C5F3B319AF0


神经网络搜索技术实用之路探索


为了让结构搜索的工作能够实用,Google 的研究者从 progressive Search,Transferable architecture 和 Bayesian 的角度进行探索,并且取得了进展。

Progressive Neural Architecture Search(PNAS)


本篇论文提出了通过 progressive 的办法进行网络搜索,会比 RL 方法快 2 倍,比 evolution 方法快 5 倍。


与之前的方法不同,本篇论文是在一个网络的基础上面加上新的 cell,然后使用类似与 A*搜索(Branch and Bound)的办法,搜索到最优的网络结构。Progressive 方法示意图如下:

1E1ECEED3F9CCDB6E5039BC38A64FD5A4B2C40D9


PNAS 所使用的 Cell 结构如下:

80AF3F0E3572E68AD9E6848F9E5573113ABC8899

Learning Transferable Architecture for Scalable Image Recognition

本篇论文是集大成者,Barret Zoph 在之前全部技术的基础上面,成功地将自动结构搜索在 IMAEGNET,COCO 等实用性的物体分类和检测任务上面成功运用。结果太 AMAZING 啦。竟然超过了 ResNet-FPN,COCO 物体检测结果如下:

AEEFDDE6013671665A571881C7DE18EABCDB38C6

1DAA4ADC84263AF289550DA7A8EF5D6B63CB2B3D

Barret Zoph 首先在 CIFAR 上面使用之前的方法搜索出最优 cell,然后将 cell 重复的运用在 IMAGENET 上面(真的就是这么简单有效 >_<)。最优单个 cell 的结构如下图:

2796F35CB38262B8970D9DBA4FCF5755C0CAB384


可能 AutoML 用的就是这种技术吧。

总结

Google 在大规模的调参中发现了手动调参不能够适应大数据时代的需求。于是进行从 reinforcement learning 和 evolution 两个角度进行了自动调参的初探。为了改进网络结构搜索的时间,Google 提出了 Progressive Search 和 Transferable Architecture 的办法。从中我们可以感受到 Google 一步一个脚印的做事方法,希望 AI 公司和个人都能够从中获得一些收益 >_<。


from:http://tech.ifeng.com/a/20180202/44868903_0.shtml



目录
相关文章
|
1天前
|
XML JavaScript 数据格式
Beautiful Soup 库的工作原理基于解析器和 DOM(文档对象模型)树的概念
Beautiful Soup 使用解析器(如 html.parser, lxml, html5lib)解析HTML/XML文档,构建DOM树。它提供方法查询和操作DOM,如find(), find_all()查找元素,get_text(), get()提取信息。还能修改DOM,添加、修改或删除元素,并通过prettify()输出格式化字符串。它是处理网页数据的利器,尤其在处理不规则结构时。
6 2
|
1天前
|
机器学习/深度学习 传感器 自动驾驶
探索基于深度学习的图像识别技术在自动驾驶领域的应用
【5月更文挑战第10天】 随着人工智能技术的飞速发展,特别是深度学习在图像处理和识别方面的突破性进展,自动驾驶汽车逐渐成为现实。本文将深入探讨深度学习技术在图像识别领域的应用,以及如何通过这些技术提高自动驾驶系统的性能和安全性。我们将分析卷积神经网络(CNN)在车辆检测、行人识别和交通标志识别中的作用,并讨论数据增强、迁移学习和对抗网络等策略如何帮助提升模型的泛化能力和鲁棒性。此外,文中还将涉及深度学习模型在实时处理和嵌入式系统部署时面临的挑战及其解决方案。
|
1天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【5月更文挑战第10天】 随着人工智能技术的飞速发展,基于深度学习的图像识别技术已成为自动驾驶系统不可或缺的核心组成部分。该技术通过模拟人类视觉系统处理与理解环境信息的过程,赋予自动驾驶车辆高度准确和实时的环境感知能力。本文首先概述了深度学习在图像识别领域的关键技术与方法,包括卷积神经网络(CNN)及其变体、循环神经网络(RNN)等,并探讨了这些技术在自动驾驶系统中的具体应用,如车辆检测、行人识别、交通标志识别以及道路场景理解。随后,文章分析了当前技术面临的主要挑战,包括数据集的多样性与质量、模型泛化能力、实时处理要求及系统的鲁棒性问题。最后,展望了未来图像识别技术在自动驾驶领域的发展趋势,特
|
1天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶汽车中的应用
【5月更文挑战第10天】 随着人工智能技术的飞速发展,尤其是深度学习在图像识别领域的突破,自动驾驶技术迎来了新的发展机遇。本文将深入探讨基于深度学习的图像识别技术是如何被集成到自动驾驶汽车系统中,并分析其对提高车辆环境感知能力、决策系统准确性和整体安全性的影响。通过对比传统算法与深度学习方法的性能差异,我们展示了深度学习在处理复杂交通场景中的优势,以及在实时性要求极高的环境下的挑战和应对策略。
6 0
|
2天前
|
机器学习/深度学习 TensorFlow API
Python深度学习基于Tensorflow(3)Tensorflow 构建模型
Python深度学习基于Tensorflow(3)Tensorflow 构建模型
10 2
|
2天前
|
机器学习/深度学习 数据采集 算法
探索基于深度学习的图像识别技术
【5月更文挑战第9天】 在本文中,我们将深入分析并讨论一种前沿技术——基于深度学习的图像识别。这一技术已经成为计算机视觉领域的重要分支,并在医疗、安防、自动驾驶等多个行业中得到广泛应用。文章首先概述了深度学习的基本理论,然后重点探讨了卷积神经网络(CNN)在图像处理中的应用,最后通过一个实际案例来展示该技术的有效性和潜力。我们旨在为读者提供一个清晰、系统的技术概览,以及对未来发展趋势的展望。
|
2天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【5月更文挑战第9天】 随着人工智能技术的飞速发展,深度学习已成为推动自动驾驶领域进步的关键力量。本文聚焦于基于深度学习的图像识别技术,并探讨其在自动驾驶系统中的实际应用。文章首先简述了深度学习的基本原理及其在图像处理中的优势,随后详细分析了卷积神经网络(CNN)和递归神经网络(RNN)等关键模型在车辆环境感知、行人检测以及交通标志识别方面的应用实例。最后,文中提出了当前技术面临的挑战及潜在的解决策略,旨在为未来自动驾驶技术的发展提供参考。
|
3天前
|
机器学习/深度学习 传感器 算法
【OpenCV】告别人工目检:深度学习技术引领工业品缺陷检测新时代
【OpenCV】告别人工目检:深度学习技术引领工业品缺陷检测新时代
|
5天前
|
机器学习/深度学习 自然语言处理 算法
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
|
6天前
|
机器学习/深度学习 边缘计算 计算机视觉
基于深度学习的图像识别优化技术研究
【5月更文挑战第5天】 在当前的计算机视觉领域,图像识别技术已取得显著进展,尤其是深度学习方法的广泛应用。然而,随着数据量的日益增加和模型复杂度的提升,如何提高图像识别的效率与准确性成为新的挑战。本文提出了一种基于改进卷积神经网络(CNN)的图像识别优化技术,旨在减少模型参数量、加速推理过程,并保持甚至提升识别精度。通过引入深度可分离卷积、注意力机制以及量化剪枝策略,该技术在多个标准数据集上显示出了卓越的性能。

推荐镜像

更多