深入理解AutoML和AutoDL:构建自动化机器学习与深度学习平台
上QQ阅读APP看书,第一时间看更新

2.2.2 AutoML的意义和作用

21世纪是一个信息的时代,各行各业都面临着一个同样的问题,那就是需要从大量的信息中筛选出有用的信息并将其转化为价值。随着机器学习2.0的提出,自动化成为了未来机器学习发展的一个方向。如图2-5所示,各行各业都涉及机器学习,机器学习已经融入我们生活的方方面面,比如金融、教育、医疗、信息产业等领域。

图2-5 机器学习可赋能产品

对于一个机器学习的新人来说,如果他想使用机器学习,则会遇到很多的障碍,也会受到很多的限制,例如:该怎样处理数据、如何选择模型、使用怎样的参数、模型效果不好该如何优化等。AutoML使得机器学习大众化,让这些连专业术语都不懂的人,也可以使用机器学习。他们只需要提供数据,AutoML便会自动得出最佳的解决方案。而对于有一定机器学习基础的人来说,则可以自己选择模型、参数,然后让AutoML帮助训练模型。

AutoML带来的不仅仅是自动化的算法选择、超参数优化和神经网络架构搜索,它还涉及机器学习过程的每一步。从数据预处理方面,如数据转换、数据校验、数据分割,到模型方面,如超参数优化、模型选择、集成学习、自动化特征工程等,都可以通过AutoML来完成,从而减少算法工程师的工作量,使他们的工作效率得到进一步提升。

图2-6所示为2018年各人工智能行业的资金投入量,其中机器学习领域的资金投入量最大,说明了机器学习对于现在的人工智能的重要性。在其他领域,自然语言处理、计算机视觉、智能机器人、语音识别等,资金投入量也不容小觑。AutoML可以融合上述方面,实现自动化。目前,人工智能领域也确实是朝着这个方向发展,将各个行业融合在一起,只需要一个AutoML的服务器,即可实现各个领域的融合,方便用户的使用,使其更快地融入我们的现实生活,方便我们的生活。

(1)AutoML解决了人工智能行业人才缺口的瓶颈

对于急速发展的人工智能领域来说,人才的培养显得有些不足。人工智能的发展时时刻刻都在变化,而培养一批该行业的专业人员通常需要几年的时间。以青年人群为例,从上大学开始,学校才会根据专业对他们进行培养。如果选择计算机专业,本科教育通常只会让他们了解到计算机的基础知识,使其具备基本的编程能力;通常到研究生阶段,才会接触到机器学习等复杂的人工智能。这就需要至少6年的时间才能培养出一批机器学习领域的从业人员。这样长的人才培养周期是无法跟上人工智能行业快速发展的脚步的,而AutoML就很好地解决了这一问题。AutoML可以提供自动化的服务,对于曾经需要人工参与的数据处理、特征处理、特征选择、模型选择、模型参数的配置、模型训练和评估等方面,实现了全自动,仅凭机器就可以独立完成这一系列工作,不需要人工干预,从而减少了人力资源的浪费,解决了人才紧缺的问题。

图2-6 2018年各人工智能行业资金投入量

但是,这就涉及另一个问题了,既然机器可以完成大部分的工作,是否会造成相关专业人员的失业问题呢?其实,这个答案必然是否定的,AutoML可以解决人才紧缺的状况,但是并不代表它能取代专业人士。现有的AutoML平台虽然可以完成这些步骤的自动化处理,但是其中的规则仍然需要人工设定,也就是说,专业人士并不会面临失业的困境,而是要做更高端的工作。

(2)AutoML可以降低机器学习的门槛,使AI平民化

前文已经提到过很多次,机器学习的自动化可以降低机器学习的入门门槛。无论是机器学习新人、机器学习行业从业者,还是机器学习行业专家,都可以很好地适应AutoML,并使用它提供的服务。对于机器学习新人来说,只需要提供数据集上传至AutoML服务器,即可得到预测结果;对于机器学习行业的从业者而言,可以自主选择其中的参数;对于机器学习行业专家来说,可以在AutoML平台设置更多的参数,或者进一步研发AutoML。

(3)AutoML可以扩大AI应用普及率,促进传统行业变革

AutoML可以涉及图像识别、翻译、自然语言处理等多种AI技术与产品。以自然语言处理为例,比如一个小的电商网站想对收集到的大量用户评价进行分析,了解这些评价是正面的还是负面的,以及提到了哪方面的问题。从前需要人工进行标注,现在用AutoML自然语言处理,就可以很简单地训练一个属于自己的模型,自动化地做标注和分析。

如今,AI技术的普及和发展,使得各个行业都逐步意识到AI技术对于产业、产品方面的优化作用。但是,作为金融、制造、消费、医疗、教育等传统企业,从无到有应用AI的成本往往不低,使得很多企业虽然有着需求但对于应用AI望而却步。

AutoML作为这类问题的解决方案,使得越来越多的科技企业开始研发AutoML平台,目的就是为不懂技术的传统企业提供使用AutoML技术的捷径,从而达到人人皆可用AI的局面。AutoML作为一个新的AI研究方法,扩展了AI研究能够到达的边界,然后又在其上构建了AutoML的应用平台及产品,让AI的应用得到了较为有效的扩展,让更多行业都可以用AI解决现实世界中的问题。

2.3 现有AutoML平台产品

2.3.1 谷歌Cloud AutoML

1.简介

Cloud AutoML(https://cloud.google.com/automl)是一套机器学习产品,通过利用Google最先进的元学习、迁移学习和神经架构搜索技术,使机器学习专业知识有限的开发人员也能根据业务需求训练高质量模型。Cloud AutoML主要提供以下3个领域的AutoML服务:图像分类、文本分类以及机器翻译。在图像分类领域,谷歌提供了大量标注良好的人类图像供开发者使用,同时提供了标注工具允许开发者自行对图像进行标注。

2.使用方式

谷歌Cloud AutoML系统提供了图像用户界面,以及Python API、Java API和Node.js API等使用方式。

首先来看看图形用户界面(见图2-7),它按照数据准备、训练、评估、预测等步骤进行组织,使用者只需要按照规定执行一步就可以完成整个过程。

图2-7 Cloud AutoML图形用户界面

再来看看通过API的方式进行接口调用,以Python为例,如图2-8所示。

图2-8 Cloud AutoML的API调用

使用者可以根据自身的习惯和需要,选择图形界面方式或者API方式并使用自己熟悉的语言去完成整个流程,从而保证该平台的通用性。从这个角度而言,该平台既可以有效服务入门级使用者,也可以服务专家级算法工程师并与大型项目对接。

Cloud AutoML中重要的一环Cloud AutoML Vision代表了深度学习去专业化的关键一步。企业不再需要招聘人工智能专家来训练深度学习模型,只需要有简单基础的人通过Web图像用户界面上传几十个示例图像,点击一个按钮即可完成整个深度神经网络的构建与训练,同时完成后可以立即部署于谷歌云上进入生产环境。

3.迁移学习与元学习的运用

Cloud AutoML利用了元学习与迁移学习。元学习与迁移学习可以有效利用过去的训练经验与训练数据,这意味着用户不再像过往那样需要提供海量的数据进行模型训练,而只需要提供较少的数据就可以完成一个图像分类器的训练并应用于特定场景。这背后是谷歌大量的基础训练数据源和训练经验与记录的支撑。

另外,迁移学习与元学习的应用涉及用户数据隐私与平台性能的权衡问题。如果Cloud AutoML可以将用户的数据与训练经验都积累起来并提供给其他用户使用,那么该平台的底层数据积累便会越来越雄厚,其使用效果也会越来越好。但是,大多数客户都不会希望自己的数据被泄漏,因此上述的美好愿景也不一定能实现。