当前位置:首页 > 新闻 > 正文

可降低AI应用门槛的自动机器学习技术

发布时间: 2018-10-29 14:20   作者: 陈雨强   来源: 人工智能杂志

  众所周知,金融发展与科技是密切相关的,回顾其发展历程,金融机构一直是信息技术最积极的应用者。总体来看,科技驱动金融经历了金融电子化和信息化、金融网络化和移动化、金融自动化和智能化三个阶段。目前,我们正处于金融自动化和智能化阶段。而人工智能技术,正是金融企业迈向智能化的关键载体。要想推动人工智能在金融行业的快速普及,降低人工智能的应用门槛是关键。因此,自动机器学习技术(AutoML)应运而生,人工智能巨头公司纷纷在该领域发力。

  近几年,人工智能作为新一代技术,在与金融行业的结合过程中,已经取得了初步成效。以人脸识别、语音识别、机器学习为首的人工智能技术已经应用在银行、证券、保险等企业的业务场景中,一定程度上实现了“减本增利”的目标。然而,由于人工智能的门槛过高,很大程度上,制约了其在金融企业中应用普及的速度。

  一、人工智能的本质与痛点

  人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术。此前,很多人把算法作为人工智能发展与应用的关键。诚然,算法的进步与突破是今天人工智能产业落地的重要因素之一,但算法只是人工智能应用中,用于“思考”的方法论。如果没有一个良好的学习和训练环境,就无法完成一个完整的学习过程,也无“智能”可言。

  其实,让机器产生智能与人思考学习的过程类似。此前,在人类心理学研究史上,有一个著名的“库伯学习圈”理论,该理论认为人类学习的过程是由“行动、经验、反思、理论”这四个阶段构成的。简单来说,人们通过行动产生经验,再通过反思经验,学习、总结其中的规律,在新的行为发生时找到最优决策。对应到机器上,“行为”是“行为数据采集”,“反馈”是“反馈数据采集”,“反思”是“人工智能算法”,最终形成的“经验”就是“人工智能模型”。这个模型可辅助业务人员进行商业分析和决策。

  这个过程看似简单,但想要让人工智能真正有所作为,金融企业还需迈过三大门槛。首先是认知门槛。人工智能是一个极其复杂、涉猎广泛的交叉学科,仅有少数人能掌握其核心。 因此,如何让金融从业人员理解人工智能的本质是第一道难题。其次,是数据门槛。大数据分为两种,面向BI的大数据与面向AI的大数据。过去的大数据多数是为BI设计的,BI大数据主要是帮助业务人员去总结一些经验,例如数据库,强调查询和统计功能。AI大数据是为机器所用的数据,需能存取PB级甚至更多的数据,并能支持实时、高效的批量存储。最后,是人才门槛。目前,绝大多数的人工智能均依赖于背后的人类机器学习专家,包括将现实世界问题转换为机器学习问题、收集数据、特征工程、模型调参等,这些任务的复杂性往往超出了非机器学习专家的能力范围。事实上,过于依赖科学家的能力,并不利于人工智能的普及。

  综上所述,要想推动人工智能在金融行业的快速普及,降低人工智能的应用门槛是关键。因此,自动机器学习技术(AutoML)应运而生,Google、微软、百度等AI巨头纷纷在该领域发力。

  二、可大幅降低人工智能应用门槛的AutoML

  机器学习包含了大数据、特征和模型。AutoML则通过技术手段,将人类机器学习专家的经验固化下来,使机器可以自动建模、自动调参,将整个机器学习过程自动化,减少人类专家在整个机器学习过程中的参与。基于该技术,金融企业中无人工智能背景的业务人员也可构建模型,产生接近甚至超越数据科学家的业务效果。

  想要实现该技术,首先要在计算框架上得以支持。

  分布式并行计算框架GDBT(General Distributed Brilliant Technology )

  高维度是机器学习的发展方向,人工智能巨头公司正在使用足够多的特征、更复杂的模型来提升AI的行业应用效果。而数据便是其中的关键。随着企业数据收集能力的提升以及存储代价的降低,大量数据被记录下来。想要充分利用这些数据资源,机器学习系统需要具备可扩展性,才能有效应对数据的快速增长。另外,目前比较流行的计算框架比如Hadoop、Spark,其重点任务大多是ETL类的任务。机器学习计算任务和ETL任务存在着多方面的不同。

  ·计算

  相比于ETL会做的一些相对“简单”的运算,机器学习算法会对数据做相对复杂的运算,以深度学习模型为首的非线性模型计算较为密集。因此,在实际的应用中,需要考虑不同计算资源的特性。同时,也需要调整计算模式来尽可能地降低分布式带来的通讯、同步、灾备等overhead的问题。

  ·通讯

  很多机器学习算法在计算过程中会频繁使用到全局或者其他节点的信息,对网络吞吐和通讯延迟的要求要远高于ETL任务。同时,很多机器学习任务对于一致性的要求要低于ETL任务,在系统的设计上可以使用放松的一致性要求。

  ·存储

  ETL需要处理来源不同的各种数据,很多机器学习算法会对数据做反复的迭代运算,导致大量的中间数据产生。因此,系统对存储的使用效率、访问效率有着更高的需求。

  ·灾备和效率的权衡

  容灾策略有两方面的额外开销。其一是在执行过程中,为了容灾所需要做的诸如状态保存等额外操作,其二是来自于灾难恢复时所需要进行的额外重复计算开销。这两方面的开销是此消彼长的。与ETL计算任务不同,机器学习计算任务流程相对复杂,中间状态较多,在较细的粒度上进行容灾会增加执行过程中的额外开销。因此在容灾策略和容灾粒度上,机器学习计算任务和ETL计算任务之间的权衡点不一样。

  ·资源差异性

  不同的计算、存储、网络通讯资源有着不同的特性,不同的实际应用也会有着不同的资源储备,机器学习需要更好地利用不同资源的特性。同时,相同的机器学习算法可能会在不同的资源、不同的环境下被使用,因此需要机器学习算法系统本身能够做更好的抽象和设计,屏蔽底层资源的差异性,使得开发部署更为方便。

  ·大规模分布式机器学习系统的复杂性

  大规模分布式机器学习系统涉及到的环节较多,计算逻辑复杂,因此整个系统架构设计的清晰度、执行过程的可理解性、执行的可追踪性、实际系统的可运维性是至关重要的。同时,分布式系统也会带来通讯、同步等额外开销,在不同的数据规模下,需要权衡分布式overhead和收益。

  第四范式针对以上问题,开发了针对机器学习任务自主开发的分布式并行计算框架GDBT,其在计算、通讯、存储、灾备等方面针对机器学习任务进行了深入优化,该框架能够对接多种不同的计算平台和数据源。

  GDBT计算框架最主要的特点是对分布式支持数据并行化和计算并行化,即通过优化算法和机制,实现机器与机器之间的协作而不是简单地分工,以减少无效的数据传输过程。实际结果表明,在3000万条大数据环境下,GDBT的速度较Spark提升416 倍,帮助用户节省了99.76%的数据处理时长,而随着数据量的增大,GDBT的这一优势会更加明显。当数据量大到其它开源工具已无法工作的时候,GDBT的计算时间依然呈线性增长。其次,GDBT计算框架能够同时支持连续、离散这两种数据的融合训练,将描述事件的特征由几十个提升至上百亿之多,保证模型可以充分利用对某件事情产生影响的最多特征数量。

  自动化特征工程技术—FeatureGO

  AutoML技术的核心是将建模过程自动化,建模过程包含了数据导入、数据清洗、数据转换、特征工程、模型训练、模型评估、上线等过程。其中,特征工程是决定模型效果的关键,科学家普遍利用特征组合的方式,提升模型预测效果。特征组合是一种加强特征描述能力的方法,以个性化内容推荐为例,例如该模型有两个特征,一个特征是新闻类型,另一个特征是用户ID。现在只用新闻类型和用户ID做特征,那么模型只会学到对于不同新闻类型和不同用户ID对当前预测点击率的影响。通过加入一个组合特征:新闻类型×用户ID,就能让模型学习到该用户对于不同新闻的偏好,从而使模型的个性化预测能力得到提高。

  如果想要做好特征工程,需要对将要使用的机器学习算法有深入了解才行,现有的算法并不能很好地处理所有的特征进行模型训练。因此,研发自动特征工程的算法,自动选择对模型效果提升有帮助的特征就变得尤为重要。自动特征工程是一个比较难的问题,在学术界与工业界都在积极地研究。目前,自动工程主要分为三个方向:隐式特征组合(如NN,FM),半显式特征组合(如GBDT)与显式特征组合(显式特征叉乘)。

  

       以上内容精选于《人工智能》杂志第六期

  本文作者

  陈雨强

  第四范式联合创始人、首席研究科学家。曾任百度凤巢深度学习系统负责人及今日头条推荐系统负责人。曾在NIPS、AAAI、ACL等顶会上发表论文,获APWeb2010 Best Paper Award,KDD Cup 2011名列前三,其学术工作被全球著名科技杂志《MIT Technology Review》报道。

  欲阅读完整文章,可通过以下方式购买《人工智能》杂志!

  订阅2018年《人工智能》杂志6期共计360元

  银行转账:北京赛迪出版传媒有限公司

  开户行及账号:中国建设银行股份有限公司北京紫竹桥支行11050170560000000152

  银行转账,请备注:人工智能

  接收详细信息请发到:aiview@ccidmedia.com;或是添加客服微信:13601092749

收藏