鉴于特性、模型的可诠释方案在蚂蚁集团危险风控的利用

可诠释性相关算法作为蚂蚁集团提出的“可信AI”技术架构的重要组成部分,已大量利用于蚂蚁集团危险风控的风险识别、欺诈举报审理等场景,取得了一些阶段性的成果。本系列文章,我们将以风控领域具体利用为例,尤其关注领域专家经验和机器学习办法的交互结合,介绍蚂蚁集团特性可诠释、图可诠释、逻辑可诠释等算法方案的探索和落地。专家点评:李琦 清华大学副教授,博士生导师,ACM SIGSAC China副主席  AI可诠释性是实现危险可信AI的关键技术,近年来得到学术界和工业界的广泛关注,具有异常好的研究与利用前景。蚂蚁集团在可诠释A

可诠释性相关算法作为蚂蚁集团提出的“可信AI”技术架构的重要组成部分,已大量利用于蚂蚁集团危险风控的风险识别、欺诈举报审理等场景,取得了一些阶段性的成果。本系列文章,我们将以风控领域具体利用为例,尤其关注领域专家经验和机器学习办法的交互结合,介绍蚂蚁集团特性可诠释、图可诠释、逻辑可诠释等算法方案的探索和落地

专家点评:

李琦 清华大学副教授,博士生导师,ACM SIGSAC China副主席

  AI可诠释性是实现危险可信AI的关键技术,近年来得到学术界和工业界的广泛关注,具有异常好的研究与利用前景。蚂蚁集团在可诠释AI上已有大量技术积累和利用,结合了最新的前沿学术研究工作和实际的交易场景要求,在不同的危险风控场景实现了鉴于特性可诠释、图模型可诠释、序列模型可诠释、文本模型可诠释等办法,相关办法也已落地实际交易场景,为可诠释AI进一步的研究利用奠定了基础。

RART 01

鉴于特性的可诠释

鉴于特性的可诠释办法是目前业界最常用的,这类办法的基础在于模型的输入特性自己是鉴于人工经验提炼加工的,因此特性自己具有可诠释性(或者至少具有可读性)。我们可以通过SHAP一类的办法对模型的输出给出响应的重要关联特性[1]。这类办法在危险领域被广泛地使用。

到目前为止,危险领域最高效的一类模型还是鉴于树的各种集成学习的办法,比如说lightGBM、XGB等,当我们有异常好的人工经验特性的时候,这些办法得到的模型作为baseline一般是很难被超越的,在整个风控还有其他各个领域里面也确实被广泛地使用。相对单一的决策树或者逻辑回归模型,这一类多棵树ensembling的模型如何给出最重要的特性作为可诠释,常见办法有两种:一是鉴于扰动,比如鉴于shapley value的办法,二是tree interpreter这些鉴于模型内部结构的办法。SHAP的基本原理就是一种鉴于扰动的办法。当我们把若干特性遮住之后,如果对模型的效果产生下降,那我们认为这些特性对该样本是重要的,对它的结果是起到关键的诠释性的,这是异常直观的一个办法。另外,像ELI5(这个缩写的意思是explain like I am five,很好玩的一个名字),它是鉴于这棵树自己的内部逻辑做一个加和,办法异常的直接和简单。蚂蚁集团的AI工程师对SHAP和ELI5做了两点优化:首先我们对两个算法做了分布式的改造,从而可以支撑产生大的交易量和调用量;其次,因为我们用的是鉴于树的集成学习,可以用tree-shap的办法对许多中间步骤完成预计算(对ELI5也做了响应的改造,因为对树结构确定训练样本决定之后是可以先提前预计算好,避免每一个样本都去重复计算,这样可以极大地提升可诠释模块的时效性)。

鉴于特性、模型的可诠释方案在蚂蚁集团危险风控的利用

目前这两个分布式可诠释算法已经在蚂蚁集团内部反欺诈、反赌博、反洗钱、商户风险管理以及支付宝事业群生物识别等场景都有落地利用,收到不错的反馈。比如,在反欺诈的智能攻防过程中,快速得到模型可诠释结果对于模型效果监控和事变案例分析等异常重要,实际线上某个场景的lightgbm模型可能就须要鉴于百万事变的上千维特性实时计算可诠释结果,目前的链路可以保障类似交易的需求。综上,因为我们认为底层的特性往往已经是人工构造的,具有可读性和可诠释。所以这一类可诠释输出相对来说是比较标准化,也是比较容易被交易接受。

RART 02

鉴于模型的可诠释

// 图模型可诠释 //

除了树模型,在风控场景中图模型也是异常常用的一类办法。在支付宝的场景中,用户、商户、设备和资金流天然地构成了一张图。比如以用户账户或银行卡为节点,以他的资金流向(或设备关系等)作为边,这是异常常见的一类构图办法。这类鉴于资金和多种链路的图模型,对于团伙行动的挖掘,对于一些聚集风险比如羊毛党等等的挖掘,对于赌博、欺诈、洗钱这种有组织、有分工形态的风险识别,都有着较好的效果。蚂蚁危险交易广泛利用了图模型,因此对图模型的可诠释性需求也就早早提上日程。但正如之前所说,可诠释性在各个具体场景需求很不相同,缺乏定量的标准,因此,图模型的可诠释我们一直在探索中。

 目前,我们鉴于模型的输出,将图模型可诠释分成三个维度来做:包括节点可诠释、途径(或者边)的可诠释、子图可诠释

 节点可诠释就是模型对图上的某一个节点做预测或者分类(比如判定某个账户为洗钱账户),须要响应的可诠释。业界有一些成熟的办法是像GNN explainer[2],它的思绪其实是对图神经网络上面做的扰动,因为GNN自己最主要的输入就是响应的邻居节点以及响应的特性集合。所以GNN的思绪很简单,就是随机地mask一些节点集合或者特性集合,然后来看loss上面的变化,从而反推出哪些节点和特性是对这个样本的结果预测更重要。从这个思绪的描述上也可以看出来,它是一个计算复杂度异常高的算法。它须要对每个样本都做这样的一个mask的计算。2020年一篇NIPS的文章,提出了叫做Parameterized GNN explainer  (PG explainer) 的办法[3]。把这个从扰动之后寻优的问题变成一个预测的问题,来预测可能哪些节点和特性的子集合是对响应样本更重要,然后可以以更小的成本完成运算。在我们的场景其实这两个办法都做了尝试,但是效果不太好。因为整个风控场景的图算法,往往无法直接简单地复用GNN,即使用的就是GNN,它对交易自己理解的依赖度也很高,当我们纯粹只是去给出若干节点或者若干特性的时候,交易的反馈往往是比较零散,很多时候不构成一个完整的诠释。 相反,一些简单的办法有的时候可以给到一些很直接的诠释,或者说可以更有效地帮助交易。比如在这个反洗钱动态图的场景,最终给到交易的可诠释办法异常直接,用一个SSSP(Single Source Shortest Path)的办法,就相当于如果有这个红色的点是新预测出来的一个黑点,只要给出距离它最近黑点的一个途径,这往往在洗钱场景就能说明问题了。当然这个办法对很多其他场景也是远远不够的,我们后面还会再做更多的尝试。

鉴于特性、模型的可诠释方案在蚂蚁集团危险风控的利用

第二类问题是鉴于途径的可诠释或者边可诠释。这里举了一个知识图谱的例子,交易场景是在反洗钱履职中,我们须要对所有的企业最终受益人(ultimate beneficial owner,UBO)给出一个完整的录入和说明。由于历史原因,有一部分UBO的采集可能是不完整的,为了尽量减少对客户的打扰我们须要通过他的身份进行一些预测和关联。比如同时全中国有异常多的人名字叫做张三,那究竟哪个张三才是这个企业的最终受益人,我们关联了某个张三之后,就须要给出从这个企业到个人之间给出最具有说服力的途径诠释。我们用的办法是KPRN的办法,是鉴于AAAI2019的一个文章实现的在图谱上的一个途径关联的办法[4]。目前我们可以用这个办法来实现占比83%的UBO途径诠释。

 途径可诠释这里另外一个利用案例是资金流链路还原,还是以反洗钱为例,实际交易中资金流向是异常复杂的,比如有100块黑钱进入我们的体系,但这100块钱分分合合流转几次之后,如何知道这100块在谁那里,哪一笔是黑钱,哪一笔是白钱?我们尝试了不少办法,比如通过一个类似于背包算法的定义,结合金额相近和快进快出时间这两个特性一起,来还原尽可能真实的资金链路,然后再来匹配响应的黑点,最终给到交易方来辅助决策判断,这套办法也有效地提升了对响应黑灰产的覆盖。

第三类问题是子图的可诠释,在危险场景最常见的子图和社群发现问题就是团伙挖掘。比如今天有一个薅羊毛的团伙,他的内部结构里有羊毛党、有响应的资金汇集方、响应的返款、打钱的账户等等,对这样复杂的一个网络结构,怎么来做具备可诠释性的团伙挖掘模型呢?我们鉴于2019年的一篇论文开发了一个叫做Risk-alike的办法。为了找到类似图结构的子图,它的基本思绪就是如果子图A和子图B是相似的,那他的A和B上做采样得到的更小的子图,然后做embedding之后,它的分布应该是近似的。比如通过这个办法,鉴于现在已知一个可疑羊毛党团伙或者赌博团伙,我们可以把相似的团伙给挖掘出来,然后给出可视化的展示,这是鉴于同构图的做法。异构图上来说,我们也还在继续尝试中,这里举的例子是针对二部图的办法,相对来说还是比较简单地鉴于ranking的办法。比如,在二部图的左边是账户,右边是银行卡,在银行卡里面有一张是有问题的银行卡。我们通过类似的相似度计算,可以给出可疑账户的一个排序,然后同时具备一定的可诠释。这些模型在蚂蚁集团的风控产品上做了落地,可以实现包括快速展示、染色等等这样的功能。

鉴于特性、模型的可诠释方案在蚂蚁集团危险风控的利用

 总体来说,因为交易的复杂性,图模型的可诠释办法还有很大的探索空间。在风控场景,我们会继续深耕,尤其是对于无监、异构、动态图,希望能结合危险交易给出更多有价值的产出。

// 序列模型的可诠释 //

 随着整个数据的复杂度的提升,风控现在也在广泛地使用着深度学习的模型。风控深度学习和CV、NLP还是很不一样的,它的底层的原子级输入数据最常见的就是所谓的事变数据,往往表现为以行动序列的形式。举例来说,一个常见的用户的行动序列,从注册、登录、信息修改、支付行动到各种浏览行动等等,在每一个事变上,它又会带着丰富复杂的属性数据,比如时间戳、金额、设备信息等等。对这样一个异常复杂的数据结构做行动序列的建模,我们用过很多的构思和尝试,包括早期比较常见的像RNN、LSTM,以及现在更多使用的比如多任务的架构、wide&deep的架构等等。图中举例的是利用factorization machine的办法[5],在FM的基础上也可以加入一些静态特性的融合,最后形成一个较完整的、较大的模型架构。

 所以对于可诠释性来说它的挑战是很大的:首先,它有异常复杂的数据形态,它既包括事变信息,也包括静态的行动特性,每个行动中间又有很多的属性,它可能是离散的,也可能是连续的;第二,在我们的场景数据量异常大;第三,又回到最开始提到的问题,就是交易方很多时候对所谓的可诠释没有明确定义,须要我们去努力对焦需求,包括给到关键的特性、可能须要一些关键的序列,可能给到一些热力图,甚至直接用文字的报表的形式来给出我们为什么有这样的判断等等,须要探索的地方是异常多的。

鉴于特性、模型的可诠释方案在蚂蚁集团危险风控的利用

这里我们做一个简化的讲解,比如说在类似于wide and deep这样的一个模型架构,既包括一些表征,也包括静态特性。可诠释的方案也有多种:像最简单的如most relevant first,就是给出最可能导致这个打分相关的单一事变;稍微复杂一点的,它可能是若干事变(“关键子序列”)导致的,比如有一个快速的注册、登录、转账这样的行动,可能是一个比较可疑的行动;更复杂的是,在序列的基础上还要加上一些关键属性,例如他在半夜多笔的给同一个人转账,并且是一些整十整百或者吉利数字类似888元这种,可能是一些赌博行动的特性。当我们把这些序列及特性给它挖掘出来的时候,交易方可以认同这种诠释。

 具体的做法,这里也仅做一个思绪上的分享。思绪一就是把序列当做文本来看,这些事变可以认为就是文本里面的词,把关键词通过attention或者其他的办法把它找出来,就是找出了相关的重要的序列。当然这有很多的问题,比如说究竟定义多少个序列,这个数字是比较不确定的,很难预先指定。所以思绪二的角度就是直接从可诠释的基本办法论来入手,通过扰动的办法来确定一个不定长度的关键子序列。这里也借鉴了近期的一篇论文,叫VMASK[6]。核心思想就是通过扰动的办法,生成0/1向量M,用M和序列做一个同数位的相乘,乘到0的部分就是被mask了,来看对最后结果的影响。这里须要用到gumbel soft max这个技巧,主要是用来解决softmax函数自己不可导的这样一个问题。

鉴于特性、模型的可诠释方案在蚂蚁集团危险风控的利用

但是,在我们的场景里面,没有办法直接地使用VMASK这个模型。因为VMASK这个办法,是直接在训练过程中对embedding就可以做扰动,这个模型结构是嵌入式的。在我们的场景中,比如有一个现有的模型它是LSTM、transformer或者factorization machine这样已有较好效果的模型,我们不希望去改动它,但是我们须要一个add hoc的诠释模块。所以我们借鉴了VMASK的思绪,来对模型做一系列扰动。这个黑色的方框意味着我们原有的模型是一个黑盒,给它扰动之后,初始的X序列进入到黑盒模型之内,然后给出mask或者不mask的loss的差,从而得到最优的一个子序列,可以尽可能地拟合原有的一个结果(同时对M的秩做一个限制比如用L1正则)。这个办法也是刚开发的,目前还只是在一些场景做了初步利用,也须要更多探索。而且就具体的交易场景来说,子序列的可诠释也只是其中的一块。很多时候他须要结合其他的,比如说静态特性,属性值等等。

// 文本模型的可诠释 //

简单介绍一下在文本可诠释方面的一些工作。文本可诠释这块的工作是比较直观和好理解的。因为文本自己具有很好的可读性,所以常见的办法就是在文本中高亮关键词的方式,比如BERT自己就自带attention的方式,而informer的办法通过对attention做一些限制可以得到更稀疏、往往也更精准的结果。

鉴于特性、模型的可诠释方案在蚂蚁集团危险风控的利用

另外我们也尝试了鉴于序列标注的,鉴于QA的,鉴于多任务的一些办法,这里就不展开了。通过高亮关键词的方式,既可以用作对运营的辅助,也可以用作模型自身的诊断。比如一个文本被错误地认为是一个涉黄文本,通过看其中高亮的诠释部分可以快速分析原因(比如“大吉大利今晚吃鸡”这些易被分错的词)。

// 小结 //

综上,我们根据危险风控场景的模型种类,介绍了几类鉴于模型的可诠释办法。这些办法,不管是我们找到的可资借鉴的论文,或是我们自己开发的算法,解决思绪大致还是会归于之前介绍的鉴于扰动、鉴于模型结构等办法论。须要再三强调的是,这些问题自己仍旧是极具挑战性的,真正有意义的可诠释产出须要大量AI工程师和交易团队的密切合作和沟通来实现。在此过程中,我们也深刻认识到,专家经验和机器学习应该有更好的结合方式,来从根本上更好地保障AI可诠释性。下一期文章将会从“鉴于逻辑的可诠释”这个角度,介绍蚂蚁集团的一些思考和探索。

// 参考文献 //

[1] https://github.com/slundberg/shap

[2] Ying R, Bourgeois D, You J, et al. Gnnexplainer: Generating explanations for graph neural networks[J]. Advances in neural information processing systems, 2019, 32: 9240.

[3] Luo D, Cheng W, Xu D, et al. Parameterized explainer for graph neural network[J]. arXiv preprint arXiv:2011.04573, 2020.

[4] Xiang Wang, Dingxian Wang, Canran Xu, Xiangnan He, Yixin Cao, and Tat-Seng Chua. 2019. Explainable Reasoning over Knowledge Graphs for Recommendation. AAAI 2019.

[5] Xi D, Zhuang F, Song B, et al. Neural Hierarchical Factorization Machines for User's Event Sequence Analysis. SIGIR 2020.

[6] Hanjie Chen, Yangfeng Ji. Learning Variational Word Masks to Improve the Interpretability of Neural Text Classifiers. 10.18653/v1/2020.emnlp-main.347. 2020.

给TA打赏
共{{data.count}}人
人已打赏
AI

AI可注释性及其在蚂蚁平安范围的运用简介

2022-4-24 18:03:00

AI

硅谷精神导师凯文·凯利:70岁生日那天,人们把他网站冲瘫痪了

2022-4-30 13:31:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索