查看原文
其他

谷歌AutoML凭什么成为“下一代AI黑科技”?

Vincent AI前线 2018-08-06


策划编辑|Vincent

编辑|Debra

AI 前线导读:1 月 18 日,因为一条博客,AI 界炸锅了,谷歌云首席科学家李飞飞和谷歌云研发负责人李佳宣告 Cloud AutoML 的问世。什么是 AutoML?简单来说,就是不论你有没有机器学习相关的背景,哪怕你是个小白,都可以通过 AutoML 简单、高效地进行工作所需的模型训练,甚至被称为“下一代”机器学习系统。AI 前线将为你带来最全面的全球 AutoML 系统盘点,作为本系列的第一章,我们会从基础开始,让你全面了解 AutoML 及其功能,同时带来谷歌 AutoML 系统的详尽解析,话不多说,我们开始吧!

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)
为什么我们需要 AutoML?

在谈论这个问题之前,我们需要先弄清楚机器学习的一般步骤。

其实,不论是图像识别、语音识别还是其他的机器学习项目,其结构差别是很小的,一个效果好的模型需要大量的经验来调优。实现过程有以下步骤:

  • 数据预处理

  • 特性选择

  • 模型算法选择

  • 调参

  • 上线后模型的再优化

  • 效果评估

在 AI 浪潮再次兴起的背景下,许多企业都对 AI 跃跃欲试,但因为相关人才在全球都呈现稀缺,企业想招人也不见得招得到,要不就是得重金聘请,像是美国顶尖 AI 科学家的年薪已经达到美国国家美式足球联盟(NFL)四分卫的水平(平均 270 万美金 / 年),甚至还有的已经超过 NBA 球星的平均薪水(2017 年数据:平均 800 万美金)。因此,对有意尝试或导入 AI 的企业来说,“让机器学习得以自动化”具有很大的吸引力。

深度学习技术往往比较复杂,从头开发的难度较大,有一些公司提供了能帮助开发者轻松使用深度学习的自动化深度学习(ADL)平台,比如微软的 CustomVision.AI、谷歌的 Cloud AutoML,国内诸如第四范式、智铀科技等公司也推出了 AutoML 平台。作为 AI 前线 AutoML 专题文章的第一篇,本文将重点介绍谷歌的 Cloud AutoML。

谷歌 Cloud AutoML
概况

AutoML 的概念源自 2012 年学术界提出一个新观念——Programming by Optimization(PbO),字面上的意思是指以最优化程序开发,乍听之下似乎看不出个所以然,这却是一个相当创新的观念,实质上就是要解决编程时人工调校参数的问题。

今年 1 月,谷歌发布了 Cloud AutoML。北京时间 1 月 18 日凌晨时分,李飞飞连发三条推特,发布了谷歌最新 AI 产品——Cloud AutoML Vision,“无需精通机器学习,每个人都能用这款 AI 产品定制机器学习模型。”

链接:https://cloud.google.com/automl



AutoML Vision 是 Cloud AutoML 这个大项目推出的第一项服务,提供自定义图像识别系统自动开发服务。根据谷歌介绍,即使是没有机器学习专业知识的的小白,只需了解模型基本概念,就能借这项服务轻松搭建定制化的图像识别模型。 只需在系统中上传自己的标签数据,就能得到一个训练好的机器学习模型。整个过程,从导入数据到标记到模型训练,都可以通过拖放式界面完成。

除了图像识别,谷歌未来还计划将 AutoML 服务拓展到翻译、视频和自然语言处理等领域。

解析

Google Cloud AutoML 服务使用了三个核心技术,分别是:神经架构搜索技术(Neural Architecture Search Technology)、 learning2learn 以及迁移学习 (transfer learning) 。

通过这些技术把参数以及结构的调整交给机器。运作的概念是机器利用神经架构搜索技术不断测试,找出一个好的参数+神经网络结构的组合,AI 开发人员觉得这个组合不错,认可了之后,机器就会记住,下一次就会做得更快更精准,这就是 learning2learn;或是可以将此组合转移到另外的应用场景下使用,这就是迁移学习。

 AutoML 神经架构

通常来说,机器学习模型是由工程师和科学家小组精心设计的。手动设计机器学习模型的过程是很困难的,因为所有可能的模型的搜索空间可以组合地大,典型的 10 层网络一般具有 10^10 个候选网络。出于这个原因,设计网络的过程往往需要大量的时间和具有重要机器学习专业知识的人进行实验。


GoogleNet 架构。这个网络的设计需要从卷积体系结构的初始版本进行多年的仔细实验和改进。

为了使机器学习模型的设计过程更容易获得,谷歌一直在探索使机器学习模型的设计自动化的方法。在他们研究的许多算法中,演化算法和强化学习算法表现出了很大的希望。

在谷歌内部被称为 Auto ML 的方法中,一个控制器神经网络可以提出一个“子”模型架构,然后可以在特定任务中对其进行训练和评估质量。之后,这种反馈被用来通知控制器如何改进其下一轮提案。经过数千次的重复,新的体系结构生成了。最终,控制器学习为空间区域分配高可能性,以在保持出来的验证数据集上实现更高的准确性,并且对建筑空间区域得分较低的区域的可能性低。以下是这一过程的样子:



这种方法已经被谷歌应用于深度学习中的两个高度基准测试数据集:使用 CIFAR-10 进行图像识别以及使用 Penn Treebank 进行语言建模。在这两个数据集上,该方法可以设计出与机器学习专家设计的最先进模型相媲美的模型。

那么,它会产生什么样的神经网络?举一个例子:经过训练的经常性架构可以预测 Penn Treebank 数据集中的下一个单词。这里左边是由专家设计的神经网络。右边是上述方法创建的经常性架构:



机器选择的体系结构确实与人体设计共享一些共同特征,例如使用加法将输入和以前的隐藏状态组合在一起。但是,有一些值得注意的新元素 :例如,机器选择的体系结构包含乘法组合(右图中最左边的蓝色节点,标记为“ elem_mult ”)。这种类型的组合对于经常性网络并不常见,这可能是因为研究人员没有看到明显的好处。有趣的是,这种方法最简单的形式最近由人类设计师提出,他们也认为这种乘法组合可以实际上减轻梯度消失 / 爆炸问题,这表明机器选择的架构能够发现一种有用的新型神经网络架构。

这种方法也可以证明为什么某些类型的神经网络工作得很好。这里右边的架构有很多通道,所以梯度可以倒退,这可能有助于解释为什么 LSTM RNN 比标准 RNN 更好地工作。

 迁移学习

迁移学习 (Transfer learning) 顾名思义就是就是把已学训练好的模型参数迁移到新的模型来帮助新模型训练。

考虑到大部分数据或任务是存在相关性的,所以通过迁移学习可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习(starting from scratch,tabula rasa)。

Cloud AutoML 通过迁移学习(Transfer Learning)将已训练完成的模型,转移到新的模型训练过程。这样,能够用较少量数据训练出机器学习模型。对于医疗领域而言,这点尤为重要,因为在为罕见疾病和一些特殊案例建模时,往往无法取得足够的训练数据。

 Learning2learn 

Cloud AutoML 通过 learning2learn 功能自动挑选适合的模型,搭配超参数调整技术(Hyperparameter tuning technologies)自动调整参数

AutoML 面临的挑战

谷歌人工智能部门的掌门人 Jeff Dean 对 Auto ML 的出现感到兴奋,因为它帮助 Google“自动解决问题”,但对 AutoML 的使用也提出了独特的问题。

Dean 表示:“由于我们使用的是比传统手工编码软件更多的系统,我认为这给我们带来了很多挑战,我们正在处理这些问题。如果你从数据中学习并且数据已经对它做出了偏差决定,那么学习的机器学习模型本身会使这些偏见永久化。所以我们正在做很多工作,同机器学习社区中的其他人一起,努力研究如何培训没有偏见形式的机器学习模型。”

另一个挑战:如何使用 AutoML 正确设计安全关键系统,为医疗保健等行业创建 AI。已经建立了数十年的计算机科学最佳实践,以便对这些系统进行手工编码,机器制造机器也必须执行相同的步骤。

Dean 表示:在分类狗的种类时发现错误是一回事,但是在安全关键系统中犯下错误完全是另一回事。他说:“我认为这对我们来说是一个非常有意义且重要的应用方向,特别是当我们开始在更安全的关键系统中进行机器学习,比如对医疗保健或自动驾驶汽车进行决策。”

除了谷歌自家大佬提出的一些问题,其他专家也都对 AutoML 发表过看法。

一位不愿透露姓名的技术专家告诉 AI 前线,Cloud AutoML 目前推出的第一项服务是针对 Vision 的,ImageNet 数据集够好够大,所以大多情况下确实能够迁移出不错的效果,而且视觉现在属于比较好做的领域了,如果是 NLP、CTR 这些领域,则要难很多。大家现在有点“谷歌做的肯定都是好的”的心理,不得不说谷歌 PR 能力确实厉害。

当然,通过迁移学习实现 AutoML 这件事情本身确实给了从业者很大的想象空间,可以打破数据孤岛,更低成本地解决更多问题,比如用电商的数据去做传统行业的推荐,或者一个新公司没有数据但可以用其他公司或行业数据来做事情。

谷歌介绍称 AutoML Vision 提供了简洁的图形化用户界面,只需导入数据和拖拽组件就能打造全新模型,更有媒体报道直接突出“无需写一行代码”,那么真的可以不用写代码吗?这位专家讳莫如深地告诉 AI 前线:“不写代码容易做,不写代码能做出好结果难呀。”

What`s Next?

对于整个 AI 领域来说,AutoML 一定是下一个时代发展重点,并且极有可能是机器学习的“大杀器”。但是,对于大多数企业来说,哪怕是谷歌这样的大厂,AutoML 仍然是一个新兴的领域,所有人都在摸索,谁能先人一步抢占技术先机就显得尤为重要。

然而在前不久举办的谷歌 I/O 开发者大会上,除了 Jeff Dean 偶尔提到了 AutoML 以外,并没有任何的专题演讲来对 AutoML 的进展进行讲述,更是让人感觉到这一新型技术的神秘和巨大潜力。

除了谷歌,在国际上如微软这样的大厂也已入局,本系列之后的文章也会提到。当然,各位读者可千万不要以为 AutoML 这样的服务只有国外用户才能享受到,在国内,也有一批公司推出了自家的 AutoML 平台,令人惊喜的是,它们当中有相当一部分是初创公司,在本系列中,我们还会介绍几个国产的 AutoML 平台,请拭目以待!

参考链接

http://developers.googleblog.cn/2017/11/automl.html

https://zhuanlan.zhihu.com/p/27792859

https://www.datasciencecentral.com/profiles/blogs/automated-deep-learning-so-simple-anyone-can-do-it

http://www.mittrchina.com/news/1582

https://www.zhihu.com/question/41979241/answer/123545914

https://www.jianshu.com/p/1430dcc71d15

今日荐文

点击下方图片即可阅读

吴恩达被 diss,人工智能的凛冬将至?



活动推荐

AI 风口已来,人工智能全面爆发,资本大量涌入,政策不断加持,各企业趋之若鹜。我们看到,AI 技术通过各种智能终端离我们越来越近了。在此时刻,中国完全掌握着弯道超车的良机。

GMTC2018 全球大前端技术大会上我们特设“终端 AI”专场,邀请国内外顶尖人工智能技术团队来分享他们是如何把 AI 技术赋能终端设备的。欢迎各位技术人莅临现场与大咖面对面交流。扫描下方二维码或点击“阅读原文”解锁更多大会详情!



AI前线紧跟前沿的AI技术社群

如果你希望看到更多类似的优质内容,记得点个赞再走!

┏(^0^)┛明天见!

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

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