编辑推荐: |
本文主要介绍AutoML的发展主要集中在四个细分方向,AutoML的应用现状,AutoML在人工智能服务云平台的应用规划,希望对您的学习有所帮助。
本文来自于微信公众号:我们的开心,由火龙果软件Alice编辑、推荐。
|
|
一、AutoML诞生背景
在机器学习领域,为特定业务场景构建高质量的机器学习模型是一个耗时、复杂的过程,企业利用机器学习赋能业务也存在诸多痛点:技术门槛高、建模过程复杂、建模周期长(数据预处理、特征工程、算法选择、超参调整)等。
为进一步降低机器学习建模门槛,提升机器学习建模自动化水平,改变机器学习需要专家付出大量精力的“手工作坊”建模方式,学术界、工业界对自动化机器学习开展了大量的研究、探索。
二、AutoML的定义
AutoML(Automated Machine Learning)是将机器学习应用于实际问题的一个端到端的自动化过程,本质是将机器学习各个流程的方法进行选择、组合、优化。AutoML的基本流程如下图黄色区域所示:
图1 AutoML基本流程
从解决问题的角度看:AutoML需要在给定的数据集上应用特征工程、为算法设置超参数以及生成和调整神经网络。
从机器学习系统角度看:AutoML可看作是一个高度封装的,可在给定数据和场景上自适应学习,通过大量数学推理、验证以保证强泛化能力的系统。
从自动化角度看:AutoML强调易于使用,可看作是设计一系列高层的控制模块去调整优化机器学习模型,最终实现端到端流水线的自动化设计而无需人工干预。
图2 AutoML简化了建模流程
三、AutoML发展现状
AutoML技术发展主要集中在四个细分方向:
自动化特征工程(Auto FE):自动处理数据集,创建有意义的可解释的特征用于模型训练。
超参数优化(HPO):定义搜索空间和搜索策略,找出在当前特征集中表现最优的算法和超参数。
元学习(Meta learning):从计算机科学的角度看,元学习是指机器学习算法“学着去学习”:在子任务上训练“学到”的知识,可以归纳、应用到新的任务场景,以更快地学习新任务。
神经架构搜索(NAS):自动创建神经网络结构,设计人工神经网络。
01.自动化特征工程
特征工程是一个将原始数据进行加工转换的过程,应用特征工程所产生的特征可更好地揭示数据之间的关系,模型的性能也会因此得到提升,但这一过程通常耗时耗力。自动化特征工程旨在简化这一过程——自动从原始数据中创建有意义的可解释的特征。
开源社区中,用户数较多的自动化特征工程组件有Featuretools、tsfresh。
Featuretools
Featuretools是一个使用深度特征合成(Deep Feature
Synthesis)算法执行自动化特征工程的框架,擅长将时间和关系数据集转换为用于机器学习的特征矩阵。
tsfresh
tsfresh(Time Series Feature extraction based on scalable
hypothesis tests)可以自动地从时间序列数据中提取大量特征,这些特征描述了时间序列数据的基本特征,如峰值数量、平均值、最大值等。
02.超参数优化
为提高模型的性能(模型所使用的评价指标)、可解释性、鲁棒性,对模型进行超参数优化(Hyperparameter
Optimization) 至关重要。当前常用的优化算法有网格搜索、随机搜索、强化学习、贝叶斯优化、进化算法等。
表1:部分开源库对超参数优化算法的支持
03.元学习
元学习指机器学习算法在子任务上训练“学到”的知识,可以归纳、应用到新的任务场景,以更快地学习新任务。首先,我们需要收集学习过的任务、模型的元数据。它们包括算法超参数设置、网络架构、模型评估结果(比如准确性和训练时间)等。然后,模型从这些元数据中学习、提取和传递经验,这些经验将指导算法寻找针对新任务的最佳模型。
元学习系统必须满足如下三个要求:
1. 该系统必须包括一个子学习系统。
2. 该系统从不同领域或单个任务的先前任务的学习中,总结提取经验。
3. 学习偏差必须动态选择。
04.神经架构搜索
神经架构搜索的意义在于解决深度学习模型的网络的设计以及调参问题,其主要研究方向有:搜索空间、搜索策略以及性能评估策略。神经架构搜索的主要开源组件有:德州A&M大学AutoKeras、微软NNI、华为Vega等。
搜索空间
搜索空间指的是可用于设计和被优化的神经网络结构,常见的搜索空间有链式结构搜索、模块结构搜索、水平结构搜索。
表2:常见的搜索空间
图3 常见的几种搜索空间
搜索策略
搜索是一个迭代的过程,每一次迭代,都会生成一个新的子网络,由于NAS中的搜索空间巨大,所以需要使用搜索策略进行搜索剪枝(神经网络的架构搜索可以看作是大规模的超参数优化问题)。目前常用的搜索策略有网格搜索、随机搜索、贝叶斯优化、进化算法、强化学习等。
性能评估策略
性能评估的任务是更快地评估网络结构的性能,这样可以节省计算资源,更快地执行神经网络架构搜索,常用的评估策略有:
1. 使用训练集的子集进行训练
2. 使用低保真度图片进行图像相关任务训练
3. 共享权重
4. 使用代理模型预测模型性能
四、AutoML的应用现状
01.业界产品与场景实践
AutoML是这几年被业界普遍看好的新技术,目前在国内外领先的互联网公司已被逐渐应用。
产品方面,云计算厂商是主要推动者,Google作为AutoML的提出和尝鲜者,在Google Cloud
AutoML平台中提供了视觉、自然语言、结构化数据等多个场景下的自动化机器学习支持。微软在Azure
Machine Learning平台中支持模型结构搜索和超参数搜索。百度云也推出了EasyDL平台将自研的AutoDL/ML技术推向市场。阿里云推出PAI-AutoML服务帮助众多中小企业用户提升了模型的准确性。此外,许多初创公司也涌入AutoML领域,典型代表有H2o.ai、R2.ai等。
金融应用案例方面,中国平安使用R2.ai提供的AutoML技术完善了其Health Konnect大数据分析平台,加速了个人健康风险预测模型的迭代。
H2o.ai与富国银行、花旗集团、PayPay等金融企业合作,在客户流失预测、信用风险评分、反洗钱、欺诈识别等场景运用了AutoML技术优化业务能力。
02.农行技术探索
农业银行在AutoML领域一直跟踪理论与开源技术发展趋势,积极调研各类平台,并基于开源技术栈初步尝试将AutoML能力应用到金融场景。
算法实践方面,结合业务现状重点尝试自动化特征工程、自动化模型选择与超参调整,支持现有经典机器学习场景的AutoML实现。同时,深度神经网络方向也初步探索基于NAS进行图像识别、NLP等场景的自动化建模。
基础设施方面,重点探索如何充分利用算力加速训练过程,支撑更大的模型训练规模。一方面研究GPU虚拟化与云化调度,探索模型分布式训练过程的资源调度、监控方案。另一方面探索引入KubePipeline将模型训练过程规范化管理,同时进一步提升计算资源利用率。
应用场景方面,在小微企业结算户转有贷户机器学习项目中,基于行内自主研发的人工智能服务云平台实现了自动化特征工程以及自动化超参数优化过程。小微企业结算户转有贷户机器学习项目拟通过大数据分析建模,学习小微企业贷款客户的特点,从现有小微企业结算客户中寻找有潜力的客户,展开针对性的营销,使其转化为贷款客户。技术人员以AutoML建模过程与人工建模过程作为对比,设计多组对照实验证明:相较于未经深度优化的人工构建模型,自动化特征工程结合自动化模型选择及模型超参调整生成的模型准确率提升了2.37%,精确率提升了15.61%,召回率提升了0.22%,可见在AutoML在效果上等同甚至优于简单人工建模。从经济性方面考量,自动化机器学习亦可大幅节省分析师的精力,提升机器学习建模效率。基于前期的调研和实践,人工智能服务云平台已开始着手自动化机器学习平台的建设规划。
五、AutoML在人工智能服务云平台的应用规划
AutoML是人工智能系统高度自动化的产物,其工业化应用需要成熟的人工智能基础设施支撑,涉及到大数据、计算资源虚拟化与调度、MLOps、模型运行监测等技术栈。所以AutoML系统的建设重点在于人工智能服务云平台基础技术框架的统一与完善,在可控的统一框架下垂直领域的AutoML模型开发可采用生态共建策略。
基础设施方面,AutoML系统涉及到样本库、训练任务管理、模型发布、模型运行管理四个环节的自动化集成。这些基础设施与人工智能服务云平台现有基础架构相通,可以通过扩展AI基础设施覆盖其非结构化数据、异构算力管理等需要。
1.完善大数据技术栈:人工智能模型使用的训练与标注数据包括结构化、非结构化数据样本。为了支持多样化的训练数据管理需求与灵活的“读模式”数据探索,大数据技术栈亟需升级到数据湖、湖仓一体模式,并大力完善云原生的数据存储、计算分离基础架构。
2.统一计算资源管理与调度系统:人工智能模型应顺应云原生趋势,基于云计算技术栈,实现异构算力虚拟化、计算资源统一调度,从而支撑各类模型算法充分利用算力,进行高效率、分布式训练。
3.扩展MLOps支撑:模型一体化训练发布、容器化构建是人工智能模型标准化交付的核心。为了支持模型的实时化训练与推断,自动化模型发布需要扩展实时特征发布功能。
4.模型运行管理透明化:基于云上服务网格技术栈,提供模型灰度运行、上下线管理、流量管理,权限管理等公共基础功能。此外针对人工智能模型还需要支持模型ABTest实验、模型性能实时监测。
图4 AutoML系统基础设施
算法应用方面,AutoML可设计为向导模式驱动的自动化过程,引导分析师依次进行训练样本集选择、训练任务构建、训练任务托管执行、模型性能评估、模型发布、模型运行管理,即可快速实现模型开发与部署。其中训练任务可根据各垂直领域进行抽象,通过采购、开源引入等方式积累针对垂直场景的可复用预训练任务。
数字化转型是农业银行面临的重大挑战与战略机遇,而人工智能技术的推广与业务赋能是充分发掘数据价值,降本增效,业务创新的关键。AutoML有望解决当前人工智能技术栈技术门槛过高、数据科学家难培养的瓶颈,可以更有力地支撑人工智能模型全面赋能各业务线的长尾需求。未来农业银行将继续夯实人工智能服务云平台的基础设施,打造覆盖深度学习、经典机器学习建模的AutoML引擎,支持基于人工智能的业务快速创新与迭代。
六、总结与展望
AutoML的核心价值在于,设计实现了一种允许计算机自动化构建机器学习模型的机制。该机制与数据的自动化机制可以无缝对接。未来计算机系统将拥有在一个给定数据流上,对给输入的问题进行自动化机器学习模型发现,自动化部署、监控,自动化模型更新的能力。一方面,全流程自动化的AutoML系统将以超低成本实现机器学习模型大量场景赋能。另一方面,去掉了人工干预的环节,会极大节省人工智能服务云平台为了满足人工干预设计的一系列功能,简化人工智能服务云平台的设计架构,降低实现成本。
当然,相对于AutoML上限极高的应用前景,其技术的发展尚处于早期阶段,要达成更远大的目标,技术人员除了要关注人工智能各技术领域发展带来的人工智能方法论革新,还需要重点考虑AutoML技术在效率方面的改进:
1.提高问题空间搜索效率,强化学习算法、进化算法被应用于AutoML搜索策略,例如Google提出的AutoML-zero方法。
2.提高AutoML模型训练效率,通过迁移学习和权重共享等方法改进AutoML训练过程加速网络收敛速度,例如ENAS算法、元学习。
3.提高算法性能,通过算法并行化、分布式训练方式提升训练速度。
|