策划编辑|Vincenthtml
编辑|Debra算法
在谈论这个问题以前,咱们须要先弄清楚机器学习的通常步骤。编程
其实,不管是图像识别、语音识别仍是其余的机器学习项目,其结构差异是很小的,一个效果好的模型须要大量的经验来调优。实现过程有如下步骤:安全
数据预处理微信
特性选择网络
模型算法选择架构
调参机器学习
上线后模型的再优化学习
效果评估测试
在 AI 浪潮再次兴起的背景下,许多企业都对 AI 跃跃欲试,但由于相关人才在全球都呈现稀缺,企业想招人也不见得招获得,要不就是得重金聘请,像是美国顶尖 AI 科学家的年薪已经达到美国国家美式足球联盟(NFL)四分卫的水平(平均 270 万美金 / 年),甚至还有的已经超过 NBA 球星的平均薪水(2017 年数据:平均 800 万美金)。所以,对有意尝试或导入 AI 的企业来讲,“让机器学习得以自动化”具备很大的吸引力。
深度学习技术每每比较复杂,从头开发的难度较大,有一些公司提供了能帮助开发者轻松使用深度学习的自动化深度学习(ADL)平台,好比微软的 CustomVision.AI、谷歌的 Cloud AutoML,国内诸如第四范式、智铀科技等公司也推出了 AutoML 平台。做为 AI 前线 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)自动调整参数。
谷歌人工智能部门的掌门人 Jeff Dean 对 Auto ML 的出现感到兴奋,由于它帮助 Google“自动解决问题”,但对 AutoML 的使用也提出了独特的问题。
Dean 表示:“因为咱们使用的是比传统手工编码软件更多的系统,我认为这给咱们带来了不少挑战,咱们正在处理这些问题。若是你从数据中学习而且数据已经对它作出了误差决定,那么学习的机器学习模型自己会使这些偏见永久化。因此咱们正在作不少工做,同机器学习社区中的其余人一块儿,努力研究如何培训没有偏见形式的机器学习模型。”
另外一个挑战:如何使用 AutoML 正确设计安全关键系统,为医疗保健等行业建立 AI。已经创建了数十年的计算机科学最佳实践,以便对这些系统进行手工编码,机器制造机器也必须执行相同的步骤。
Dean 表示:在分类狗的种类时发现错误是一回事,可是在安全关键系统中犯下错误彻底是另外一回事。他说:“我认为这对咱们来讲是一个很是有意义且重要的应用方向,特别是当咱们开始在更安全的关键系统中进行机器学习,好比对医疗保健或自动驾驶汽车进行决策。”
除了谷歌自家大佬提出的一些问题,其余专家也都对 AutoML 发表过见解。
一位不肯透露姓名的技术专家告诉 AI 前线,Cloud AutoML 目前推出的第一项服务是针对 Vision 的,ImageNet 数据集够好够大,因此大多状况下确实可以迁移出不错的效果,并且视觉如今属于比较好作的领域了,若是是 NLP、CTR 这些领域,则要难不少。你们如今有点“谷歌作的确定都是好的”的心理,不得不说谷歌 PR 能力确实厉害。
固然,经过迁移学习实现 AutoML 这件事情自己确实给了从业者很大的想象空间,能够打破数据孤岛,更低成本地解决更多问题,好比用电商的数据去作传统行业的推荐,或者一个新公司没有数据但能够用其余公司或行业数据来作事情。
谷歌介绍称 AutoML Vision 提供了简洁的图形化用户界面,只需导入数据和拖拽组件就能打造全新模型,更有媒体报道直接突出“无需写一行代码”,那么真的能够不用写代码吗?这位专家讳莫如深地告诉 AI 前线:“不写代码容易作,不写代码能作出好结果难呀。”
对于整个 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