蚂蚁金服技术团队
分类: IT职场
2019-11-01 10:18:27
在9月27日于杭州云栖小镇召开的云栖大会“金融智能”专场上,人工智能大咖宋乐教授分享了金融特色机器学习在蚂蚁金服的发展与应用。宋乐教授是蚂蚁金服人工智能部研究员,同时也是美国乔治亚理工大学终身副教授和机器学习中心副主任。他还是国际机器学习协会董事以及多个国际顶级会议的领域主席。
机器学习在蚂蚁金服各个场景,已经像水和油一样渗透,驱动着各种各样业务的发展。会议现场,宋乐教授详细介绍了金融特色的机器学习,重点阐述了三方面的技术:面向海量图数据的深度学习系统、自动机器学习系统、多智体对抗强化学习系统。
以下为演讲的文字实录:
金融场景和互联网其它场景不一样的地方是,其数据是一个巨大的金融网络。在这个网络中资金在不同的个体之间流动。资金流动过程中涉及到各种各样类型的节点,有用户、商家、公司等角色节点,也有账号等虚拟节点,还有WIFI设施、终端等设备节点,以及地点等物理节点。同时,这些节点之间的关系和信息交互的类型也可以不同,从而形成巨大的图。如何对这个图进行机器学习建模,发现其中的有效信息,是非常复杂的过程。
懂机器学习的同学知道,机器学习要对图数据建模,首先需要把数据进行向量表征,例如类似逻辑回归、决策树等模型都需要先对数据进行向量表征。但图数据的输入并不是向量表征,它是异构且不规则的,每个节点的邻居个数不一样,连接的关系也不一样,这需要一个平台实现图数据到向量表征的转换过程,然后再基于向量表征实现各种各样的机器学习模型。下图展示了一种通用的图向量表征框架。
图数据进行表征学习之后,就可以做各种各样的应用,例如推荐和决策应用,也可以做一些生成模型。现在有一个在学界比较火的深度学习模型叫做卷积神经网络,其学习过程就是对每个节点和边用神经网络参数化传播的方式来实现深度神经网络的建模。
蚂蚁金服的图数据非常复杂庞大,可以涉及到上百亿的节点,上千亿的边。怎样把大体量的数据用起来,进行机器学习建模,需要很好的系统架构和平台建设支撑。其中包括,怎样存储这些图数据,从而能够支持快速查询,快速推理;以及在逻辑层怎样组织这些数据,是社交关系网络、资金转移网络还是媒介网络。有了这些数据的逻辑组织和图数据的存储以后,还要做通用的算子,包括对图进行采样、随机游走和消息传播。然后,基于这些算子的构件,我们就可以实现各种各样的图深度学习模型,其中既包括基于非监督学习的表征学习模型,也有基于监督学习的表征学习模型。进行表征学习以后,就可以通过机器学习对各种节点、边的类型进行预测,或者时序行为的预测,以及多重目标的预测。基于这些预测模型,我们可以通过离线学习打分或在线学习打分的方式来支持各种上层金融业务。
针对蚂蚁业务海量的数据,除了前面讲的平台的架构设计的思考,还有一些技术上的难点需要解决。我们可能面临百亿级节点、千亿级边,需要考虑怎么样在图上快速的查询节点,并把节点周围的子图抽取出来,这里会用到我们的图存储系统GraphFlat和PHStore。有了这个以后,需要设计机器学习的算法,譬如随机采样的算法,然后把图数据变成一个稀疏的或者是稠密的矩阵运算,在GPU和CPU上进行分布式计算。
除此之外,为了支持各种各样的金融场景应用,还需要支持对不同结构的网络建模。通常金融场景涉及到的网络可能是没有属性的同构网络;也可能是在风控场景经常涉及的异构网络,例如用户和商家之间的资金转移关系;也有可能是带有属性的网络。我们需要用不同的算法模型来处理不同结构类型的网络关系,同时无论哪种类型网络,都可以用一套平台进行建模。目前,我们已经建设了面向多类型图数据的算法库。包括:
在金融场景很多时候需要具备可解释性,因而需要我们对训练出来的深度模型进行解释,找出具体是网络上的哪一条边或者哪一个节点影响了整个风控系统的决策。为此,我们定义了各种各样的模型,包括GeniePath可以在深度学习网络中自动搜寻节点的邻居,看哪个邻居对当前的信息节点的风控有影响;或者是基于HeGNN、IGNN考虑不同网络层次的影响,甚至是比较粗糙的高层次的网络影响,以及网络的不同维度的影响。
综上所述,一个可用性高的深度图学习平台需要对架构做逻辑的划分,同时中间的每个划分模块都会有很多技术点,包括系统工程的技术、高性能计算的技术,以及模型算法方面的技术。
上图是两个具体的落地实例。首先,我们把图深度学习应用到营销场景,通过用户和商家的历史购买行为来预测用户对红包金额的敏感程度,从而对商家红包实现个性化定价,帮助商家更好地分配红包金额,提升营销资金利用效率,这个方法把营销的成本降低了8%。我们还把深度图学习和知识图谱结合起来应用在企业信贷,提高了授信额度,新增授信额度数百亿。此外,深度图学习平台还在支付、贷款、保险,财富管理等其他场景中均有各种各样的应用。
在互联网金融中,图神经网络是非常有用的新技术,也是蚂蚁金服大力发展的技术方向之一。
除此之外,蚂蚁金服内部有各种各样的机器学习算法应用场景,每天都有成千上万的模型在训练中,但是算法人员投入在模型训练上的时间和精力是有限的,由于产品纷繁复杂,算法人员既要选择深度学习的网络结构又要选择算法的其他超参,这个过程可能还要加入业务知识;随着数据体量的增加,还需要在比较短的时间调好模型,对模型训练的时间要求也越来越高,而传统的单纯依靠人工调参很难满足我们对于模型更新迭代的效率要求。
为了解决这个问题,我们建立了自动化建模工具AutoML计算平台,能够支持让平台和算法人员一起协作,从而加速机器学习模型的建模和寻优过程。为此,我们在底层基础设施之上实现了很多的算法来实现特征自动化、超参搜索、网络结构搜索以及元学习,从而降低新模型开发的成本。
介绍一个具体的落地案例,叫做autonet,这是针对公司推荐场景大量使用的深度神经网络算法,基本思想是我们通过将一些以前成功的小的深度神经网络子模块自动化拼装起来,组合构成一个新的网络结构并寻找更高效的模型:一方面将DNN的网络结构自动化的构建起来,另外一方面也对最终的建模效果进行提升。产出的模型在相同资源下,和对比的人工设计的模型基本耗时相当,同时在用户拉新的场景取得了很好的效果,动销率提升了14%。
此外,AotuML还有各种各样的落地场景,后面都应用了自动机器学习平台的网络结构搜索、超参搜索、元学习,以及一些端到端的解决方案能力。各种业务场景的机器学习模型,都可以通过这个平台进行优化,提升效率。甚至跨BU的一些业务场景也基于迁移学习来加速机器学习建模的过程。
上面两点介绍的是我们的横向技术如何从底层支持各种场景的机器学习模型。接下来介绍的是多智能体强化学习系统在蚂蚁的应用和落地。在实际金融场景中,我们涉及到的节点不是静态的,例如人和商家的节点在交互过程有博弈、合作、对抗,因此我们要把对抗学习跟多智能体的强化学习结合起来应用在这些场景。例如反欺诈场景和金融支付的场景,都可以用多智体强化学习的方式来建模。
但是,很多传统的强化学习的方法都是先假设一个模拟器,然后与之不断进行交互来优化强化学习的策略,例如下围棋。但在金融场景,多智能体强化学习涉及到的模拟器并不是一个静态的,可能是一个人或者是一个机构,所以不存在一个明确好用的模拟器,我们也不知道多智体在行为中,其奖励函数或者是损失函数是什么。因此,使用传统强化学习硬套金融场景是行不通的,首先要根据现有的金融数据或者是用户行为数据学习到一个simulator及其奖励函数,这样才能在此基础上进行强化学习。
为此,我们建立了一个多智能体的强化学习平台,中间用imitation learning的方法来学习用户的行为特征,以及他的奖励函数,在此基础上做各种各样的机器学习。
这是一个具体的多智体的强化学习在推荐系统上的应用。很多情况下,用户登录到一个系统里面,系统会对这个用户进行长期的检查、分析和推荐。好的推荐系统的建模方式不是把用户每次来的行为作为独立的预测问题,而是把它看成强化学习的问题,这样的话,我们可以针对用户长期的奖励、喜好进行优化,而不是短期的推荐,从而让用户长期对推荐的内容感兴趣,产生价值。
这是我们在人工智能顶会ICML(2019)上的论文,我们把强化学习这套理论引入到对抗学习里面,用这个方法来学习用户的点击行为,以及点击行为对应的奖励函数,有了用户的行为模型和奖励模型之后,就可以进行大规模的强化学习。
强化学习在蚂蚁金服还有各种各样的应用,我们还在不断探索和开辟,也欢迎学术界和业界进行更多的交流,共同创新和推动发展。