2.1.2 AutoML的起源与发展
AutoML(Automated Machine Learning,自动化机器学习),即一种将自动化和机器学习相结合的方式,是一个新的研究方向,它可以使计算机独立完成更复杂的任务,从而解放人类的双手。
在AutoML发展前,传统的机器学习需要经历数据预处理、特征选择、算法选择和配置等,而传统的深度学习则需要经历模型架构的设计和模型的训练。上述这些步骤都需要人工来操作,不仅耗时耗力,而且对专业人员的需求也比较大,结合现实生活中人们日益增长的需求,这限制了人工智能在其他领域的应用发展。
因此,出现了这样的想法:将机器学习中的数据预处理、特征选择、算法选择等步骤与深度学习中的模型架构设计和模型训练等步骤相结合,将其放在一个“黑箱”里,通过黑箱,我们只需要输入数据,就可以得到我们想要的预测结果。中间这个“黑箱”的运行过程,不需要人工的干预便可以自动完成,而这个自动化的系统就是我们这本书的重点——AutoML。
图2-1为AutoML的一个通用运行流程,也就是上面提到的,将所有运行流程都封装在一个“黑箱”中,我们只需要输入数据集,便可得到预测结果。
AutoML主要关注两个方面——数据的获取和预测。目前已经出现了很多AutoML平台(见2.3节),用户在使用这些平台时,可以使用自己带的数据集,识别标签,从而得到一个经过充分训练且优化过的模型,并用该模型进行预测。大多数平台都会提示用户上传数据集,然后标记类别。在此之后,数据预处理、选择正确的算法、优化和超参数调整等步骤都是在服务器上自主进行的。最后,平台将公开一个可用于预测的REST端点。这种方法显著改变了训练机器学习模型中涉及的传统工作流。
一些AutoML平台还支持导出与运行Android或iOS的移动设备兼容的、经过充分训练的模型。开发人员可以快速地将模型与他们的移动应用程序整合在一起,而无须学习机器学习的基本知识。
图2-1 AutoML通用流程
许多公司将AutoML作为一种服务提供给用户。Google Cloud AutoML、Microsoft Custom Vision和Clarifai的图像识别服务都是早期的AutoML使用者。另外很多大公司内部也都有自己的平台,例如Uber、OpenAI、DeepMind等都在NAS任务上做研究。从发展趋势来看,AutoML是未来人工智能发展的一个重要方向,但现阶段的研究成果成熟度和实际产品应用成熟度都存在巨大的提升空间。
AutoML完全适合于认知API和定制机器学习平台。它提供了适当的定制级别,而非强制开发人员执行复杂的工作流。与以往被视为“黑箱”的认知API相比,AutoML虽然公开了相同程度的灵活性,但是结合了自定义数据和可移植性。
随着每一个平台供应商都试图实现机器学习的大众化,AutoML正在成为人工智能的未来。图2-2是基于AutoML平台所具有的功能,在AutoML平台上可以实现多个领域的融合,既可以完成语音领域的任务,如自动语音识别系统、聊天机器人、文本语音系统;也可以完成声纹领域的任务,如声纹识别系统;还可以完成图像领域的任务,如计算机视觉、图像识别、目标检测等。
图2-2 AutoML平台具备的功能
2.2 AutoML的研究意义
2.2.1 AutoML的研究动机
传统的机器学习在解决问题时,首先需要对问题进行定义,然后针对特定问题收集数据,由专家对数据特征进行标定、提取特征、选择特征,然后根据所选特征训练模型、对模型进行评估,最后部署到应用上,以解决最初提出的问题。其中数据收集、特征提取、特征选择、模型训练和模型评估的过程,是一个迭代的过程,需要反复进行、不断优化才能得到较优的模型。这个过程非常耗时费力,那么AutoML呢?AutoML可以将传统机器学习中的迭代过程综合在一起,构建一个自动化的过程,实现自动特征工程、自动管道匹配、自动参数调整、自动模型选择等功能,从而减少时间和人力等资源的浪费。图2-3所示是传统机器学习和自动化机器学习的对比。
图2-3 传统机器学习和自动化机器学习对比
(1)传统机器学习是一个烦琐且耗时的过程
传统的AI模型训练往往要经历特征分析、模型选择、调参、评估等步骤,这些步骤需要经历数月的时间,如果完全没经验,时间会更长。AutoML虽然也需要经历这些步骤,但是通过自动化的方式,可以减少这些步骤的时间。选择怎样的参数,被选择的参数是否有价值或者模型有没有问题,如何优化模型,这些步骤在从前是需要依靠个人的经验、知识或者数学方法来判断的。而AutoML可以完全不用依赖经验,而是靠数学方法,由完整的数学推理的方式来证明。通过数据的分布和模型的性能,AutoML会不断评估最优解的分布区间并对这个区间再次采样。所以可以在整个模型训练的过程中缩短时间,提升模型训练过程的效率。
(2)传统机器学习有一定难度,准入门槛高
模型训练的难度使得很多初学者望而却步,即使是数据专家也经常抱怨训练过程是多么令人沮丧和变化无常。没有经过一定时间的学习,用户很难掌握模型选择、参数调整等步骤。
AutoML可以降低使用机器学习的门槛,它作为一个新的AI研究方法,将机器学习封装成云端产品,用户只需提供数据,系统即可完成深度学习模型的自动构建,从而实现自动化机器学习。
AutoML将会成为机器学习发展的最终形态,即机器自己完成学习任务,这样基于计算机强大计算能力所获得的模型将优于人类对它定义的模型。从使用的角度来讲,必定会有更多非专业领域的人受益于AutoML的发展。
图2-4展示的是一个使用AutoML进行图片分类的简单问题。首先上传图片并对图片进行标注;接着被标注过的图片会输入到视觉处理系统中,由视觉处理系统根据上传的图片,对标注区域的特征进行提取,并进行特征的预处理,之后根据图片特征,自动构建神经网络结构并训练该模型;经过不断地评估和优化,最后得到一个预测模型。
图2-4 使用AutoML进行图片分类