传统的机器学习在解决问题时,首先需要对问题进行定义,然后针对特定问题收集数据,由专家对数据特征进行标定、提取特征、选择特征,然后根据所选特征训练模型、对模型进行评估,最后部署到应用上,以解决最初提出的问题。其中数据收集、特征提取、特征选择、模型训练和模型评估的过程,是一个迭代的过程,需要反复进行、不断优化才能得到较优的模型。这个过程非常耗时费力,那么AutoML呢?AutoML可以将传统机器学习中的迭代过程综合在一起,构建一个自动化的过程,实现自动特征工程、自动管道匹配、自动参数调整、自动模型选择等功能,从而减少时间和人力等资源的浪费。图2-3所示是传统机器学习和自动化机器学习的对比。
图2-3 传统机器学习和自动化机器学习对比
(1)传统机器学习是一个烦琐且耗时的过程
传统的AI模型训练往往要经历特征分析、模型选择、调参、评估等步骤,这些步骤需要经历数月的时间,如果完全没经验,时间会更长。AutoML虽然也需要经历这些步骤,但是通过自动化的方式,可以减少这些步骤的时间。选择怎样的参数,被选择的参数是否有价值或者模型有没有问题,如何优化模型,这些步骤在从前是需要依靠个人的经验、知识或者数学方法来判断的。而AutoML可以完全不用依赖经验,而是靠数学方法,由完整的数学推理的方式来证明。通过数据的分布和模型的性能,AutoML会不断评估最优解的分布区间并对这个区间再次采样。所以可以在整个模型训练的过程中缩短时间,提升模型训练过程的效率。
(2)传统机器学习有一定难度,准入门槛高
模型训练的难度使得很多初学者望而却步,即使是数据专家也经常抱怨训练过程是多么令人沮丧和变化无常。没有经过一定时间的学习,用户很难掌握模型选择、参数调整等步骤。
AutoML可以降低使用机器学习的门槛,它作为一个新的AI研究方法,将机器学习封装成云端产品,用户只需提供数据,系统即可完成深度学习模型的自动构建,从而实现自动化机器学习。
AutoML将会成为机器学习发展的最终形态,即机器自己完成学习任务,这样基于计算机强大计算能力所获得的模型将优于人类对它定义的模型。从使用的角度来讲,必定会有更多非专业领域的人受益于AutoML的发展。
图2-4展示的是一个使用AutoML进行图片分类的简单问题。首先上传图片并对图片进行标注;接着被标注过的图片会输入到视觉处理系统中,由视觉处理系统根据上传的图片,对标注区域的特征进行提取,并进行特征的预处理,之后根据图片特征,自动构建神经网络结构并训练该模型;经过不断地评估和优化,最后得到一个预测模型。
图2-4 使用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解决现实世界中的问题。