金准人工智能分享在金融行业深度学习的技术应用编制机构:金准数据金准数据发稿时前言金准人工智能专家主要从主流深度学习算法在金融量化领域的局限性、解决方案探索、树模型在可解释性探索上的贡献、敏感性分析在可解释性上的价值、基于深度学习的低频事件学习五个方面介绍,首先讲一下主流深度学习算法在金融领域的局限性,然后针对这些局限性所做的探索解决方案,以及在探索过程中主要围绕可解释性和低频学习这两点的展开讲解。一、主流深度学习算法在金融量化领域的局限性金融领域面临的问题可能和传统互联网公司面临的问题可能不一样,比如深度学习可以大致分为三块:卷积神经网络、递归神经网络、深度神经网络。其优缺点都应该很明显,简单讲卷积神经网络对空间结构相关性的探索比较强,递归神经网络对时间相关性探索(时间序列)较强,深度神经网络在全局相关性探索较强。它们的主流应用都集中在计算机视觉、自然语言处理等方向,特点是先验知识很鲜明。要识别猫或狗,其特征很明显,可以构建这样的数据集,在自然语言方面,词汇是有限的,文章也是可以无限挖掘。但是在金融领域,绝大部分没有先验知识的,不知道样本的特征区分好不好,有时通过长期的积累可能会知道知识比较明显。比如信用方面,一个人总是不还款就有问题,这可能是一个比较好的先验知识,但是这样的知识非常少,无法发掘。同样的我们无法造数据,如果要对宏观经济走势的预测或股指感兴趣,但是我们无法把股指造出来,不知道成交量与股指的点数到底有何关系。除了可解释性不强外还有对专业知识的匮乏,因此在深度学习做决定时一定要知道为什么,更愿意知道模型如何做决定。金准数据二、解决方案探索那么围绕这些难点如何解决这些问题呢,首先介绍下我们的难点问题。可解释性问题、低频时间、稀疏性、特征的时变性和数据的有效性,以及数据的不可扩展性,今天主要围绕这两个点,其他四个点也是很重要的。在可解释性方面的探索分为两个方面:局部特征探索和敏感性分析,这两者是相辅相成的,局部探索其实是对可解释性做了不可磨灭的贡献,今天金准人工智能专家主要介绍一些树类的贡献。敏感性分析主要在方差分析算法上面,低频学习有很多类别可以做,今天主要是围绕助力机制,主要介绍一些最新的研究情况。金准数据三、树模型在可解释性探索上的贡献首先,树模型为什么在可解释性方面做了很多贡献?之所以不说作用因为它不是直接在这个体系起到可解释性的作用,但是它可以做一些解释。目前算法主要分为深度学习和非深度学习,主要围绕决策树。深度学习拟合能力非常强,但是解释能力较差;决策树可解释、训练快,但是拟合能力受限。之前两个流派很对立,后来两者去相互学习,利用各自的优点。如在解释方面Jefreeheten提出asabTree算法,大致学习深度学习在图像学习如何做预测和分析,做树模型也在拟合能力方面做出相应的探索。还有阿里巴巴、以及其旗下的卖金服在树模型探索和与Deeplearning结合方面也做了很多工作。结合我们自身,金准人工智能专家的解决思路是利用树模型很好地可解释性对局部的探索能力去挖掘特征,将价值发挥到最大,深度学习去探索局部特征还是有一些问题,主要是低频特征影响。利用混合架构wide&deep或者其他对稀疏化或者稠密的数据进行学习,最后利用敏感性分析对其进行解释,对预测值归类的依据是什么。为什么不直接利用深度学习对其敏感性进行分析呢,敏感性分析有一个问题就是重要性差异不大,敏感性不强。而且在金融领域有个特点就是没有先验特征,很难有明显特征区分类别,这也是树模型所起的作用。金准数据那么,如何将树模型利用到极致?Wide&Deep模型是16年提出的,将稀疏数据和稠密数据联合训练,找到低频特征,我们就是基于这个思想实现相关算法和模型。不同的树模型有不同的特点,但是很多算法都是基于GBDT算法,以chartputs为例,涉及不同的subsimpling和subcorling局部特征采取和垂直种子选取,最后结果是完全不一样,因为会从很多角度去挖掘不同数据组合信息。那能不能将所有算法都拿来使用呢,如同周志华教授提出在gcForest中不外乎两条树是完全随机的,可以有更大的探索空间。我们也是尽量用所有不同的模型,将相似的节点合并构成一个知识库,这个知识库有很多无向边将之间的特征关系连接,与节点配合形成一个大的体系。这样做的一个好处就是可以忽略算法、数据,而在知识库中绝大部分的特征是无用的,会有很多干扰。金准数据我们的业务范围大都几种在金融领域,金融领域有个特点就是数据有时变性,几乎没有一个特征是稳定的。因此我们可能会做一个简单的筛选,一般用规则法和评分法将明显无效特征做一个筛选。其核心就是分布的稳定性以及重要性的稳定性和良好的趋势性,评分法能够更加量化,有些时候很难衡量分布稳定和重要性稳定该取什么样的比值,最后直接用评分法打分。有时训练一个模型会引入上百个树模型,支点会有很多,叶子节点有时会有几十万个,就算通过筛选也会有几万个特征,如果进入深度学习会崩溃。因此还要进行进一步的筛选,借助的是Auto-Encoder编码器压缩,目的是去掉比较相似的特征。虽然很多算法不同,但是其分裂方式是很相似的,会找到很多相似的叶子节点,引入的模型越多,产生的相似节点就越大。以两个相同的GBDT模型引入差异参数最后会产生1-2%的相似叶子节点,重要的叶子节点重复会严重影响模型精度,权重估计也会出现很大的偏差。就会出现你认为这两个东西很重要,但是这两个特征确实相似的。在金融领域描述一个问题,感觉是从不同基础数据衍生出来,但是其逻辑可能会是一样的。金准数据基于上面这个问题,金准人工智能专家基于Wide&Deep架构依据自己业务需求构建了一些模型架构ConditionalMulti-FieldsDeepNeuralNetwork。将稀疏化的数据做一个压缩,取得Auto-Encoder编码器压缩的中间隐藏层作为输入,正常稠密格式就用正常格式,如果有时间连续的特征会有skm做一个embedding,然后利用DNN进行训练。虽然架构有很多模型,但是并不需要使用所有模型,有时只用左边的模型就能满足需求。如果直接利用Google的原始架构Wide&Deep算法,不同的模块运用不同的优化算法,如果权重更新调整不好,整个训练过程会出现很大的扰动,会出现距离的波动,很难出现稳定状态。这样出现的原因是在联合训练时梯度更新不一致,会出现左边调整好出现一个扰动就会破坏左边的稳定,最后通过codinglater去限制优化的比例,使更新的比例尽量一致。四、敏感性分析在可解释性上的价值敏感性分析偏统计方面,在工业领域用的比较多,在纯计算机领域用的比较少。一个输入性的变动扰动,输出是怎么样变动、以及变动的程度是怎么样的,这种情况敏感性分析用的比较多。敏感性分析用的不多但是并不陌生,如线性回归,在信用卡评分模型中,对特征做WE分箱,会用线性回归,会看权重判断输入对输出的影响程度是多少,这也是敏感性分析的一部分。再者再深度学习,对抗样本在图像识别的干扰作用,背后也是利用的敏感性问题,再深度学习领域会将局部权重无限放大,会出现显著特征,如果攻击点正好对应显著特征,结果会出现很大的偏差。Worstcaseanalysis、可靠性分析这两个分析更偏工业性些,在金融领域比较罕见。敏感性分析在工业领域尤其是量化领域应用较多,引入敏感性分析目的就是解释黑箱的DN。DNN也是一个黑箱问题,知道大概机理,但内部如何运作原理不清楚。其实在这块早就有研究,真正火起来是在15年,《SensitivityAnalysisforNerualNetwork》的作者在10年就提出来,讲述了如何金准数据利用敏感性分析去阐释神经网络。敏感性分析目的是将变量的敏感度量化起来,规划为线性回归的模式,提供重要性指标,利用线性加权。常用的方法有偏微分、回归模型、One-At-A-Time、方差分析、散点图、Meta-model,前面三个为一阶分析,变量对其自身变化敏感性分析,这样应用的假设是变量之间基本没关系。在金融领域变量间基本都有关系,会用到方差分析和Meta-model,散点图是为了直观分析。这是为了适应应用场景非线性、局部相关性(局部高阶)、高纬度、可量化、模型复杂、难解释,今天主要是将AnalysisofVariance和GaussianProcess,这两块可以独立模块,后续会将其联合讲解。方差分析理论基础是任何一个模型都由一些常量关系加一些单变量输出以及变量两两输出等,比如输入一个X,输出一个Y,fn是差值,如果扰动xi,fi是如何变化的。如果把所有的方差放在一起,改变一些参数,输出扰动变化程度是多少,这就是方差分析的工作。方差分析由于输入的参数不同,最后会有很大差异,因此利用SobolIndex技术将其归一化,就是用求出的方差与自身方差做比值。方差分析的优点:适用于复杂非线性模型,敏感度可以被量化,取值范围通常在[0-1],可以细化到对某个参数/变量取值区间敏感性进行度量,能衡量依赖关系;缺点是:需要足够多的数据才能保证计算精度,随着维度增加,需要的数据也指数级增长,对重要性不够强的变量/参数区分能力较弱。金准数据针对方差分析的缺点如何解决呢,尝试用一个模型去描述模型的分布情况,用一个模型去监测变化的状态,利用一个模型学习模型进行替代。这样的模型有很多,我们选择是GaussianProcess,它输出的是你输入一个变量所产生的期望的均值以及方差,这也是敏感性分析所需要的信息。不用朴素贝叶斯或者其他原因是我们的对象是复杂的非线性模型,朴素贝叶斯拟合能力有限,GaussianProcess需要设置很多的操作树和function,这些function是为了拟合变量的均值和不同情况出现的方差,能够很好地拟合现实中的分布。其原理是基于朴素贝叶斯,将变量进行了更复杂的空间映射,找出后验的权重分布,用Inference去估算由输入/参数改变带来的输出在分布上的改变,其具体原理和思路可以参考论文《ProbabilisticSensitivityanalysisofsystemavailabilityusingGaussianProcess》。敏感性分析核心就是输入的变化对输出有怎样的改变,可以用很多方法得出近似的重要性。深度学习如果从机理上证明是很困难的,大都是在选取适合自己业务情况下用不同的方法去阐释。金准数据五、基于深度学的低频事件学习低频事件在金融领域太过常见,在做量化股指期,需要对拐点期进行预测判断,拐点出现的次数非常少,特征也很模糊。在反洗钱领域,拐点出现也很稀少,但是有些特征会很明显,如果直接拿模型去学习是无法得到结果的。我们之前一直尝试用attention做低频事件学习,但是有一个难点低频事件很难出现,而且很多是基于先验知识,在金融领域先验知识又很少。近期由谷歌研究员提出的《Attentionisallyouneed》与DeepMind团队的研究成果《Relationalrecurrentnetrualnetwork》将Attention机制对特征记忆的延续性做更好的探索。这两篇文章主要解释的是时序相关,但是我们领域不需要关注时序相关,只对某一些我总分错有很重要的数据样本感兴趣。为了提高对低频事件的学习能力,我们基于上述研究成果设了一套的适合自己的算法,目的为了将容易被分错的重要的小数据样本中的显著特征进行学习,并将学到的特征进行保留与传承。我们将该算法称为《LowFrequentEventsDetectionwithattentionmechanism》。ScaledDot-ProductAttention很早就开始用了