2022 图神经网络概论与风控场景应用-DataFunConunknown_第1页
2022 图神经网络概论与风控场景应用-DataFunConunknown_第2页
2022 图神经网络概论与风控场景应用-DataFunConunknown_第3页
2022 图神经网络概论与风控场景应用-DataFunConunknown_第4页
2022 图神经网络概论与风控场景应用-DataFunConunknown_第5页
已阅读5页,还剩254页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大规模图神经网络计算中的算法技术4自适应通用广义PageRank图神经网络23探索图神经网络的表达能力50图神经网络在反欺诈领域的应用94基于图神经网络的互联网金融欺诈检测103图神经网络在实时风控的应用118图神经网络在支付风控中的应用138出品社区|DataFun导读:2017年我以深度学习研究员的身份加入Hulu,研究领域包括了图神经网络及NLP中的知识图谱推理,其中我们在大规模图神经网络计算方向的工作发表在ICLR2020主会上,题目是——DynamicallyPrunedMessagePassingNetworksforLarge-ScaleKnowledgeGraphReasoning。本次分享的话题会沿着这个方向,重点和大家探讨一下并列011.图神经网络使用的图图神经网络这几年特别火爆,无论学术界还是业界,大家都在考虑用图神经网络。正因为图神经网络的应用面很广,所用的图各种各样都有,简单①根据图与样本的关系•全局图:所有样本共用一个大图比如有一个大而全的知识图谱,所做任务的每一个样本都共用这个知识图谱,使用来自这个知识图谱的一部分信息。•实例图:以每个样本为中心构建的图每个输入的样本自带一个图,比如要考虑一张图片中所有物体之间的关系,这可以构成一个物体间关系图。换一张图片后,就是另一张关系图。②根据边的连接密度2.图神经网络与传统神经网络的联系神经网络原本就是图,我们大多只是提到“权重”和“层”,再细粒度一点,会讲到“单元”(即units)。但是,有图就有节点和边的概念,就看你怎么定义这个节点。在BERT网络结构中,输入是一个文本序列,预处理成一串代表word或sub-word的tokens,我们可以把这些tokens看成是图中的nodes,这样BERT变成了一个完全图上的图神经网络,而且BERT网络结构的每层可以对应到图神经网络的一次messagepassing迭代。3.图神经网络与传统神经网络的区别传统神经网络有多个层的概念,每一层用的都是不同的参数;图神经网络只有一个图,图中计算通过多步迭代完成节点间的消息传递和节点状态更新。这种迭代式的计算,有点类似神经网络的多个层,但是迭代中使用的是同一套权重参数,这点又像单层的RNN。当然,如果不嫌复杂,你可以堆叠多个图,下层图向上层图提供输入,让图神经网络有“层”的概念。另外,图神经网络中的nodes与传统神经网络中的units不同。图神经网络中的nodes是有状态的(stateful),不像传统神经网络中的units,当一层计算完输出给下一层后,这层units的生命就结束了。Nodes的状态表示为一个向量,在下次迭代时会更新。此外,你也可以考虑为edges和4.图神经网络的计算框架•初始化每个节点的状态向量(可以包括各条边和全局的状态)②消息传递(message-passing)迭代步:•计算节点到节点的消息向量•计算节点到节点的(多头)注意力分布•对节点收到的消息进行汇总计算•更新每个节点的状态向量(可以包括各条边和全局的状态)5.图神经网络的计算复杂度计算复杂度主要分为空间复杂度和时间复杂度。我们使用PyTorch或者TensorFlow进行神经网络训练或预测时,会遇到各种具体的复杂度,比如会有模型参数规模的复杂度,还有计算中产生中间tensors大小的复杂度,以及一次前向计算中需保存tensors个数的复杂度。我们训练神经网络时,它做前向计算的过程中,由于梯度反向传播的需要,前面层计算出的中间tensors要保留。但在预测阶段,不需要梯度反向传播,可以不保留中间产生的tensors,这会大大降低空间上的开销。物理层面,我们现在用的GPU,一张卡的显存顶到天也就24G,这个尺寸还是有限的,但是实际中遇到的很多图都非常之大。另外,就是时间复杂度了。下面,我们用T表示一次图计算中的迭代个数,B表示输入样本的批大小(batchsize|V|•模型参数规模•计算中间产生tensors规模(此时有B>=1,T=1)•计算中间保留tensors规模(此时有B>=1,T>=1)•计算所需浮点数规模(此时考虑D1,D2)02思路一:避开|E|通常情况下,图中边的个数远大于节点的数量。极端情况下,当边的密度很高直至完全图时,图的复杂度可以达到|V|(|V|-1)/2。如果考虑两个节点间双向的边,以及节点到自身的特殊边,那么这个复杂度就是|V|2。为了降低计算的复杂度,一个思路就是尽量避开围绕边的计算。具体来说,为了让计算复杂度从|E|级别降低为|V|级别,在计算消息向量(messagevectors)时,我们仅计算destination-independentmessages。也就是说,从节点u发出的所有消息使用同一个向量,这样复杂度从边数级别降为了节点数级别。值得注意的是,这里会存在一个问题,消息向量里不区分不同的destination节点。那么,能否把不同的destination节点考虑进来呢?当然可以,不过需要引入multi-headattention机制。下面针对这种情况来介绍一下优化方案。当|E|>>|V|时,即边密度高的图,尤其是完全图思路二:减少D顺着思路一,我们在计算attention时,每个attention分数都是一个标量。我们可以减小计算attention所用的向量维数,因为输出是一个标量,信息被压缩到一维空间,所以计算时没必要使用大向量来提高capacity。如果需要multi-head的话,可以把每个计算channel的向量维数变小,让它们加起来还等于原来的总维数。这个思路很像BERT,BERT虽然不是GNN,但是这种机制可以运用到GNN中。还有一篇论文,提出了GraphAttentionNetworks,也用到了类似的思路。引入attentionmechanism的multi-headchannels设计每个headchannel的消息计算使用较小的hiddendimensions,通过增加head的数量来保证模型的capacity,而每个head的attention分数在一个思路三:部分迭代更新(选择性减少T)前面的思路是减少边数量以及计算维度数,我们还可以减少迭代次数T,这样中间需保留tensors的规模就会变小,适合非常大的网络,尤其当网络节点刻画的时间跨度很大,或者异构网络的不同节点需要不同频次或不同阶段下的更新。有些节点不需要迭代更新那么多次,迭代两、三次就够了,有些节点要更新好多次才行。下图的右侧部分,每步迭代节点都更新;左侧部分,节点只更新一次,即使这样,它的计算依赖链条还是有四层。至于更新策略,可以人为设定,比如说,采取随机抽样方式,或者通过学习得到哪些节点需更新的更新策略。更新策略的数学实现,可以采取hardgate的方式(注意不是soft也可以采取sparseattention即选择top-K节点的方式。有paper基于损失函数设计criteria去选择更新的节点,如果某个节点的当前输出对最终损失函数的贡献已经很好了,就不再更新。需要注意的是,在hardgate和sparseattention的代码实现中,不能简单地把要略过的节点的权重置零,虽然数学上等价,但是CPU或GPU还是要计算的,所以代码中需要实现稀疏性计算,来减少每次更新所载入的tensor规模。更新的粒度可以是逐点的,也可以是逐块的。具有大时间跨度或异构的网络,其节点需不同频次或不同阶段下的更新更新策略一:预先设定每步更新节点更新策略二:随机抽样每步更新节点更新策略三:每步每节点通过hardgate的开关决定是否更新更新策略四:每步通过sparseattention机制选择top-K节点进行更新更新策略五:根据设定的criteria选择更新节点(如:非shortcut支路上梯思路四:Baking(“烘焙”,即使用临时memory存放某些计算结果)Baking这个名字,是我引用计算机3D游戏设计中的一个名词,来对深度学习中一种常见的技巧起的名字。当某些数据的计算复杂度很高时,我们可以提前算好它,后面需要时就直接拿来。这些数据通常需要一个临时的记忆模块来存储。大时间跨度的早期计算节点,或者异构网络的一些非重要节点,我们假定它们对当前计算的作用只是参考性的、非决定性的,并设计它们只参与前向计算,不参与梯度的反向传播,此时我们可以使用记忆模块保存这些算好的数据。记忆模块的设计,最简单的就是一组向量,每个向量为一个记忆槽(slot),访问过程可以是严格的索引匹配,或者采用softattention机制。大时间跨度的早期计算节点或者异构网络的一些非重要节点(只参与前向维护一个记忆缓存,保存历史计算的某些节点状态向量,对缓存的访问可以是严格索引匹配,也可以使用softattention机制。思路五:Distillation(蒸馏技术)蒸馏技术的应用非常普遍。蒸馏的思想就是用层数更小的网络来代替较重的大型网络。实际上,所有神经网络的蒸馏思路都类似,只不过在图神经网络里,要考虑如何把一个重型网络压缩成小网络的具体细节,包括要增加什么样的loss来训练。这里,要明白蒸馏的目的不是仅仅为了学习到一个小网络,而是要让学习出的小网络可以很好地反映所给的重型网络。小网络相当于重型网络在低维空间的一个投影。实际上,用一个小的参数空间去锚定重型网络的中间层features,基于hidden层或者attention层做对齐,尽量让小网络在某些中间层上产生与重型网络相对接近的features。对已训练好的重型网络进行维度压缩、层压缩或稀疏性压缩,让中间层的featurespace表达更紧凑。•Hidden-basedloss•Attention-basedloss思路六:Partition(orclustering)如果图非常非常大,那该怎么办?只能采取图分割(graphpartition)的方法了。我们可以借用传统的图分割或节点聚类算法,但是这些算法大多很耗时,故不能采取过于复杂的图分割或节点聚类算法。分割过程要注意执行分割算法所用的节点数据,最好不要直接在节点hiddenfeatures上做分割或聚类计算,这是因为只有hiddenfeatures相似的nodes才会聚到一起,可能存在某些相关但hiddenfeatures不接近的节点需要放在一个组里。我们可以将hiddenfeatures做非线性转换到某个分割语义下的空间,这个非线性转换是带参的,需要训练,即分割或聚类过程是学习得到的。每个分割后的组,组内直接进行节点到节点的消息传递,组间消息传递时先对一组节点做池化(pooling)计算,得到一个反映整个组的状态向量,再通过这个向量与其他组的节点做消息传递。另外的关键一点是如何通过最终的损失函数来训练分割或聚类计算中的可训参数。我们可以把节点对组的成员关系(membership)引入到计算流程中,使得反向传播时可以获得相应的梯度信息。当然,如果不想这么复杂,你可以提前对图做分割,对图做快速分割处理,划分节点成组,然后在组内进行节点到节点的消息传递,在组间进行组到节点、或组到组的消息传递。①Transformationstep•Projecthiddenfeaturesontothepartition-orientedspace②Partitioningstep③Group-poolingstep•Computegroupnodestates④Message-passingstep•Computemessagesfromwithin-groupneighbors•Computemessagesfromthecurrentgroupnode•Computemessagesfromothergroupnodes思路七:稀疏图计算如何利用好稀疏图把复杂度降下来?你不能把稀疏图当作dense矩阵来处理,并用Tensorflow或PyTorch做普通tensors间的计算,这是没有效果的。你必须维护一个索引列表,而且这个索引列表支持快速的sort、unique、join等操作。举个例子,你需要维护一份索引列表如下图,第一列代表batch中每个sample的index,第二列代表sourcenode的id。当扫码关注公众号免费下载资料用节点状态向量计算消息向量时,需要此索引列表与边列表edgelist做join,把destinationnode的id引进来,完成节点状态向量到边向量的转换,然后你可以在边向量上做一些计算,如经过一两层的小神经网络,得到边上的消息向量。得到消息向量后,对destinationnode做sort和unique操作。联想稀疏矩阵的乘法计算,类似上述的过程,可以分成两步,第一步是在非零元素上进行element-wise乘操作,第二步是在列上做当|E|<<|v|*|v|时稀疏计算的关键在于维护一个索引列表,能快速进行sort、unique、joinTensorFlow:-gather,gather_ndm-scatter_nd,segment_sum,-segment_max,unsored_segment_sum|maxPytorch:-gather,scatter,scatter_add思路八:稀疏routing稀疏routing与partition不同,partition需要将整个图都考虑进来,而稀疏routing只需考虑大图中所用到的局部子图。单个样本每次计算时,只需要用到大图的一个局部子图,刚开始的子图可能仅是一个节点或几个节点,即聚焦在一个很小的区域,计算过程中聚焦区域逐渐扩大。这种routing的方式也是一种attention机制,与传统的attention机制有所不同。传统的attention用于汇总各方来的消息向量,采用加权平均的方式,让incoming消息的权重相加等于1;对于routing的话,刚好相反,让outgoing的边权重和为1,这个有点类似PageRank算法。这样做的好处,可以在计算过程中通过选取top-K的outgoing边来构建一个动态剪枝全图虽大,但每次仅用到局部子图Attention机制是“拉”的模式,routing机制是“推”的模式。思路九:跨样本共享的图特征当你计算的图特征(如节点向量)不依赖具体样本时,这些特征可以作为输入喂给每个样本,但是它们的大小不随batchsize的大小而增加。我们称这些是input-agnosticfeatures,由于跨样本共享,它们相当于batchsize为1的输入。提供input-agnosticfeatures跨样本共享,相当于batchsize为1。思路十:组合使用以上九种方法组合使用以上九种方法,根据自己的实际情况设计适当的算法。自适应通用广义PageRank图神经网络分享嘉宾|簡翌/彭建浩UIUC出品社区|DataFun导读:大家好,我叫彭建浩,我是UIUC电子科技与计算机工程专业的在读博士生,今天我会和我的同事简翌分享一篇我们最近被ICLR收录的论文,名字叫AdaptiveUniversalGeneralizedPageRankGraphNeuralNetwork,简称GPRGNN。相信大家都知道,图神经网络或GNN已经在很多图结构的数据集上展现出了较传统方法更优越的性能,包括在各种节点分类,图分类,还有关联预测等等任务上,其实除去一些常见的标准测试数据集还有各种各样的合成数据,图神经网络还可以运用到很多新兴生物医学领域上,目前他们大多数还是使用传统的方法,例如:根据不同的疾病来分类相同的基因,或者把不同的药物跟基因或者疾病作关联,把已有的药物用在潜在的疾病上。1.在基因和疾病的关联上我们做的事情可以有一个已知基因网络的部分基因,然后我们尝试对剩余的基因进行节点分类,我们就知道什么样的基因和这个疾病是有关的,还有就是已知基因网络跟疾病网络,还有部分疾病到疾病的联系,我们就尝试去做剩余的基因跟疾病之间的关联预测,也就是linkprediction,nodeclassification的任务。2.类似的,在药物与疾病相关联上我们可以通过做药物基因的关联网络还有疾病基因的关联网络,然后通过基因把他们串联起来,去预测不同药物与疾病之间的关系,或者对药物进行不同疾病的分类,也就是线性预测,节点分类的任务。上述话题其实都是在生物领域非常热门的话题。回到今天展示的主要内网络普遍存在的两个主要问题:一般性和过平滑;③GPR-GNN模型;④GPR-GNN模型的实验结果;⑤总结以及GPR-GNN模型未来的研究方01和其他的方法类似,我们首先定义GNN的邻接矩阵A,节点特征矩阵X,类别特征矩阵Y,还有必要的normalizeddegree和邻接矩阵tildeD和2.现有模型:stackingGNNlayers大部分常用的GNN结构其实都是通过不断的叠加类似于下图的GNNlayer从图里面我们能看到的是GCN用到的单层结构,概括的讲,从k-1层的特征矩阵H0到k层的特征矩阵Hk,GCN或者普遍的GNN的单层结构会先用normalized邻接矩阵作为自特征层的传播乘上该层对应的变换矩阵作一个线性的变化,最后再通过一个非线性累加得到下一层的结果;不断的迭代,直到在最后层用softmax对所有的节点做最终的表达,然后对该表达做一02现有GNN模型的缺陷在GCN的影响下,大家又提出的其他的不同的GNN结构,比较常见的例如GAT,GraphSAGE以及其他更多的一些结构,其通用逻辑可以概括为先提出一个类似上述的传播层,然后不断的叠加一些层,最后再用一个类似与softmax的单层作为神经网络的最终输出。这样的做法在很多的测试数据集上都表现出优越的成绩,尤其是像较于仅使用图拓扑结构或者是使用节点的表达node特征矩阵。但是GNN也衍生出了一些GNN的主要问题,我们这里主要关注大部分GNN都有的两个问•其中一个就是普遍性或者一般性;•以及大部分GNN都存在的过平这里的普遍性是指一个普通的GNN应该能在不同种类的图结构数据上学习,进行准确的预测,不应该偏向于某一类型的图,而过平滑是一个图深层网络都会出现的一个普遍问题。那么接下来我会详细的讲一下一般性和首先,大部分的GNN都是基于一个叫做homophilic(同源)的假设,即同向偏好假设(或者同源偏好假设),在这个假设中,属于同一类的点或者相似的点,他们之间更偏向于建立相互的连接,它的反例就是heterophily(weakhomophily)就是异向偏好(或者异源偏好即非同源偏好,即不同类别的点或者不相似的点更倾向与建立连接,例如在部分Datinggraph或者proteingraph上,不同的性别或者不同的氨基酸,比起同类的,他们更有可能在不同的类别之间建立连接,此时,基于homophily假设设计的GNN,或者假设图已经是homophily的GNN,那么他们的表现就不太好,甚至还不如其他的或者一般的方法。因此我们设计况的图结构,也就是所谓的一般性。2.过平滑另一个GNN的主要问题就是过平滑,过平滑的意思就是大部分现有的GNN论上没有限制K有多大,可以一直叠加,但是实际上,大部分的模型,如GCN,还有GraphSAGE,他们普遍都只有2-4层,非常浅。而且,这些浅层的模型在测试数据集上往往比深层的模型表现要好。导致了GNN不能叠加过多层的理论上的原因,即过平滑(过平滑)。假设在无穷层的GCN中,如果把所有非线性变化叠加全部去掉,就只有了一个连续的传播以及连续线性变换。由表达式可知,如果模型迭代了无限多层,且没有非线性叠加的话,最后的特征向量或者特征矩阵会变成和原先的输入矩阵X无关的一个矩阵。因此,无论输入数据是什么,最后都会得到一个与输入无关的表达,即完全丧失了来自于节点特征的信息,所以,图以上即GNN的两个主要问题。接下来就交给简翌介绍我们的解决方法以及GPR-GNN如何解决GNN的上述问题,和一些其他的beneficials。03我们的解决方案:GPR-GNN下图是GPR-GNN的主要结构,它分为两个部分,第一部分是一个单层的MLP神经网络。它主要的作用是做隐态特征提取。当输入矩阵X(node后根据图拓扑去传播K步分别得到H1至Hk不同步数传播后的结果。然后把得到的不同步数的结果做一个线性组合,其对应的权重叫做GPRWeights,最后线性组合完成的结果就是最终的输出结果。表达式中标注的红色参数就是需要学习的参数,而模型是采用端对端(end-to-end)的方式进行训feature,而GPRWeights专门解决图传播的问题,如果实际上是end-to-end的训练,他们相互之间可以借由梯度信息同时得到节点特征和图传播,并同时受到节点特征和图传播的限制。GPR-GNN能够同时解决一般性和过平滑的问题,此外,GPR-GNN还能够避免过拟合的问题。在以前的SGC中,如果每多加一层,就需要多引进一个需要训练的参数矩阵,当隐藏单元很大的时候,每多加一层,参数量就会很大,相对来说,GPR-GNN每多传播一步,只会多引入一个单个的参数,因此可以传播很深但是参数量不会明显增加。同时,GPR-GNN还具有可解释性,之后的实验会观察学到的GPRweights是否合理,然后借由实验表明GPR-GNN模型确实有可解释性。1.节点分类在本次的分享中主要关注的是节点分类的问题,我们会拿到一整张图以及node特征矩阵,然后会得到一些点,我们的任务就是还原所有标签的节①GeneralizedPageRank对于节点分类这个问题,其实与非监督图聚类相关,特别是与seed-setexpansion相关,在我们19年发布的论文中,提出了GeneralizedPageRank的想法,去研究在seed-setexpansion这个任务中,GPR的表现如何。研究显示,GPR明显优于比较受欢迎的传统方法,如PersonalizedPageRank(PPR),seed-setexpansion这个任务是指给定一个点,在图中找到包含该点的集群,更类似于非监督问题。我们可以根据信息学做一个onedimension特征矩阵即如果该节点是seednode,那么其结果为1,否则为0。GPR主要的概念就是把onedimension特征矩阵做一个K部的传播,之后再做一个线性组合对每一个点得到一个GPR分数,然后根据GPR的分数进行聚类,将分数最高的几个点作为包含seed②图卷积与随机漫步之间的关系从下图中,可以看见GCN层与GPR的传播具有一定的相似性,但也存在不同得地方。它们相似的点为都是在图中做传播。不同的点是GCN会增加一些特征变换,且只用了最后一步;而GPR的重点则是从第0步到第k步做一个线性组合,第0步到第k步的信息都有用到。3.GPR-GNN具有一般性的原因那么接下来我来解释为什么GPR-GNN是具有一般性的。一个很重要的评论是GPR在数学上是与多项式的图滤波器是等价的,以下可以看到对一个邻接矩阵而言,它是一个K次的多项式,GPRweights则变为多项式的系数。而学习最优GPRweights也等同于学习最优多项式滤波器。从传统的信号处理或者图信号处理的角度而言:多项式滤波器可以逼近任意种类的滤波器,如低通滤波器,或高通滤波器,甚至是更复杂的第一个部分的结论是说,假设GPRweighs的结果全部为非负,且并非只有第0步为非负,即除了cornercase以外,不是只有第0步有值,然后其他步都为非负,那么GPRweights可以对应看作一个低通图滤波器,另一方面,如果GPRweights的形式为(-α)k,其正负号会随其步数的weights而依次有(-1)k的交替,则GPR会对应看作一个高通图滤波器。理论上,如果GPR-GNN或者多项式滤波器需要满足一般性,那么部分GPRweights需为负值,如果全部为正,则就会对应为低通滤波器。4.GPR-GNN能够避免过平滑的原因另外,我们也理论的角度分析为什么GPR-GNN能够避免过平滑。因为理论分析相对复杂,所以本此分享中仅提到关键理论,思路为,如果第K步的结果对训练损失没有帮助,那么在用它的梯度更新相对应的GPRweights的时,就会把第K步的结果的大小拉下来,当其结果下降到一定程度时,没有帮助的步数就最终就不会影响结果,从而避免过平滑的问题。详细的理论证明则请有兴趣的同学从论文中查找。5.与相关论文的对比那么接下来,我们提一些比较相关的论文,其可以分为两类:①GCN-like模型:(1)JK-NET:与GPR-GNN相同的是,它也在最后一层中将不同步数的结(2)GCN-Cheby:每一层的GNN都传播超过1步。上述两个模型在实践中,深度都会比较受限,且其学习到的参数步具有可解释性。很难说明他们学习到的weights具体代表什么内容。②基于图拓扑加强的MLP(1)APPNP:如果我们将GPR-GNN的weights固定不动为PPRweights的形式,则将GPR-GNN还原为APPNP,因为它的所有GPRweights都是正值,所以它不可避免地成为了一个低通滤波器;导致它只能在同源图中生(2)SGC:与APPNP类似,它只有最后一步的GPRweights有值,而把所有的非线性值都删除,所以它仍然是一个低通滤波器,仍然只能在同源(3)C&S:在2021年ICLR论文:Huangetal.CombiningLabelPropagationandSimpleModelsout-performsGraphNeuralNetworks中提出catchandsmooth的方法,传播与MLP,该论文也存在部分工作仍然基于同源图的假设,故亦不能应041.实验:Syntheticdata为了测试各个GNN在不同程度的同源图和异源图中的表现,我们提出了使用contextualStochasticBlock模型(cSBM)生成随机图测试GNN的性其nodefeature是一些高斯随机向量,μ则是高斯随机向量的距离,所以μ越大,那么nodefeature的信息强度则越强。而其图的部分则是SBM,由λ参数控制相同标签的边或者不同标签的边机率的差,因此λ的大小则表示了该拓扑图信息强度的大小,λ的绝对值越大,则图的信息强度越强,λ为正则表示该图为同源图,λ为负则表示该图的异源图。新定义参数。表示λ与μ的比值,如果。在1到-1之间,则该图对应为强同源图或者强异源图,如果。等于1或者-1,则nodefeature独立与node标签不相关,以下是我们对各个Baseline以及GPR-GNN在cSBM上的实验结果,当。从0到1变大的时候,所有的GNN表现都会越来越好,也说明了GNN目前受到欢迎的原因,因为在同源图中,GNN比一般不考虑图拓扑信息的模型表现好,而MLP的表现则会随着。的增加而变差,因为当。等于1的时候,nodefeature是完全没有信息的。根据我们刚刚的模型,如果一个GNN具有一般性,则其在同源图或者异源图中的学习效果是相同的,因此,如如他们在同源图中学习的效果,会具有明显的落差。与之相对的,GPR-GNN的表现曲线则相对较为对称,表示GPR-GNN确实具有一般性。同时,在图拓扑信息不强的时候,即。接近0的时候,传统GNN的表现明显弱于完全忽略图拓扑信息的模型,如MLP。所以,在不确定图是同源图还是异源图,甚至是与标签不相关的情况下,如果盲目使用GNN,则有可能得到更糟糕的结果,而GPR-GNN在图拓扑信息完全与节点标签不相关的情况下,其表现仍然与MLP相差不远。2.实验:真实世界数据集在实际情况的数据集中也做了实验,简而言之,无论是在同源图,还是异源图中,GPR-GNN的表现仍然较好。3.实验:已学习GPRweights的可解释性同样地,我们也做了实验证明GPRweghts是否具有可解释性。首先,a,b,e,f四个图表示的是同源图的效果,可以看到每一步已学习GPRweights都是正值,就理论而言,其表现为低通滤波器;而在c,d,g,h四个异源图中,已学习GPRweights是正负交替出现的,其在理论上仍然符合高通滤波器的特点,即GPRweights的部分值需要为负值。4.实验:避免过平滑最后,我们仍做实验测试了GPR-GNN是否能够避免过平滑。刚开始,将GPRweights初始化到最后一步,则发现在训练之前,GPR-GNN很大程度上会出现过平滑,而随着开始训练GPRweights整个模型时,前面几步的GPRweights已经开始逐渐变大,最后一步其大小会下降,而从准确率的角度评估,完全没有训练之间的准确率在百分之五十左右,而训练完成的准确率则可高达仅百分之九十九。而该实验中训练步数达到了10步,已经是一个相对叫较深的模型,同时也证明了GPR-GNN确实能够避免过平滑05总结:GPR-GNN具有一般性,且能够避免过平滑问题;此外,因为GPR-GNN使用的参数较少,所有也能够避免过拟合问题;而所学习到的GPRweights是具有可解释性的。更多地,发现能够在cSBM中严谨地测试GNN的一般性。在未来研究中,也思考过很多有趣的发展方向,如是否能够将MLP替换为其他更加复杂的神经网络;或者使用attention机制学习GPRweights,因为目前GPR-GNN形式还较为简单,需要验证是否能够将其变得更复杂从而学习到GPRweights;最后GPR-GNN是否能够延伸到图表示学习中,即如果在GPR-GNN中加入图池化层,GPR-GNN是否仍然06A:在ICLR关于GCN的论文中,有提到过一个关于衡量同源图和异源图的标准指标,但是其仍然存在一些缺点,同时,在我们的论文附录中,也有具体讨论过关于衡量同源图与异源图的相关指标。Q:在生物医药中的一些实际应用A:目前的论文是专注在节点分类的方向上提供一种可行性,暂时没有实际Q:图上高频和低频的实际物理含义A:图上的高低频主要是根据其特征值(Eigenvalue)确定的,如果把adjacencymatrix做特征值处理的话,其特征值在1到-1之间变化,特征值越大,则对应的是低频,反之对应的则是高频;因为特征值会从所有值为正值逐渐变为负值,而随着特征值越靠近高频,该节点的邻居节点也会A:GPR-GNN是不需要特别在意最终的表现与初始信息是否有强相关或者弱相关,因为在cSBM上,不管特征是否具有信息量,都具有非常好的表示结果。论文中,在弱化初始特征是否重要。A:节点特征是与结果无关的,其证明在输入特征完全没有用的情况下,GPR-GNN模型仍然能够提取图的拓扑信息。Q:假设没有非线性层,该模型是否仍然能够调用一个深度的基因模型,仅2020年有一篇ICLR做过相关方面的分析,可以用gamma训练大小来衡量A:未来有兴趣探讨的方向之一,目前只是专注于节点分类,还没有考虑过加上一个图层,且图表示学习中的效果,都还没有做相关研究。A:本论文中没有涉及到分辨节点属性不同的情况进行分析,我们比较在意的是在两个节点如何在不同类,但他们比较容易产生连接的情况下,GNN模型是否能够生效。从点分类的角度,最后的GPR是可以和多项式图滤波器做连接,输出的图信号一定是集中在某一个频带上,如果能够得到一个最好滤波器,那么一定能够过滤一定的噪音。出品社区|DataFun导读:我们最近研究的题目是探索图神经网络的表达能力,希望从理论上来理解图神经网络有哪些事情是能做的,哪些是不能做的,以此来比较不同的图神经网络模型,并提出一些更具表达能力的模型。•GNN表达能力的衡量•Graph-AugmentedMLP011.图神经网络(GNN)我们知道图神经网络(GNN)可以被用到不同类型的预测任务上,如图级别(graph-level)、节点级别(node-level)、或者边级别(edge-level)的任务。在图级别的预测任务中,我们可以把GNN视作一类用于图上的函数,它的输入是一个图,且图的节点或边上可能含有特征(features)。以分子预测为例,将分子视作图,可通过GNN将之映射为一个实数,这个实数可以代表该分子的某个化学性质,例如毒性或水溶性。所以我们研究图神经网络的表达能力,也就是研究它作为一类用于图上的函数能有多强的表达能力来逼近图上的各类函数。2.MessagePassingNN(MPNN)以常见的消息传播网络(MessagePassingNeuralNetwork,MPNN)为例,其核心思想是迭代更新节点的嵌入向量(embeddingvector)。更新的方式是,首先每个节点会收到来自于它邻居节点传来的消息(message),再对所收到的信息做聚合(aggregation),以此来更新自身的嵌入向量。神经网络既参与第一步生成消息的过程,又参与之后更新节点的嵌入向量的过程。当使用不同的神经网络模型作为消息生成函数和节点更新函数时,便可得到不同种类的MPNN模型。3.理解图神经网络•满足对称性。如果对图的节点做置换(permutation)的话,GNN作为•计算高效。消息传播是发生在局部的过程,有专门的实现方法来提升•Inductivegeneralization。GNN可以在一个图上训练,然后在另一•可训练+强表达能力。由于神经网络有很多参数可训练,所以其有能力表达复杂的函数。同时它具备好的优化性质,使得它可以基于数据我们想研究的问题,是GNN的表达能力究竟如何。我们知道,前馈神经网络的表达能力常常是由它的宽度来限制。而图神经网络不只是受宽度限制,它本身如何利用图的拓扑进行消息传播与节点更新都会影响表达能力。我们希望对表达能力有一个理论上的理解,以此来比较不同的图神经网络模型,并且尝试去开发更有表达能力的模型。02GNN表达能力的衡量1.什么是图神经网络的表达能力究竟什么是图神经网络表达能力,本身就是一个很好的问题。目前也有很多衡量表达能力的方法,如GNN能不能区分非同构图。以上两个图是非同构的,已有文章证明了MPNN无法区分这两个图,即,对任何一个MPNN,当我们把它作为一个图上的函数应用在这两个图上的时候,一定更一般性的结论是:MPNN区分同构图的能力最多等价于Weisfeiler-Lehman(WL)测试。许多工作基于此结论提出新模型,包括GIN,它使用单射(injective)的函数来做邻居信息的聚合,使得MPNN的表达能力在区分非图同构图上能够达到WL测试的能力。2.2-InvariantGraphNetwork(2-IGN)模型我们关心的一个问题是在MPNN之外,其他类型的GNN在区分非同构图上其中一个我们感兴趣的模型是InvariantGraphNetwork(IGN)。此类模型基于等变线性层(equivariantlinearlayer)和非线性激活函数的层层叠假如图有N个节点,那么我们考虑从N^2维度的欧几里得空间到它自身的满足等变性的线性映射空间。研究发现所有这个函数空间的维度与N无关,且正好为15维的。相当于我们可以找到15个等变线性函数作为基底,可用它来参数化一个等变线性层,然后可以通过数据来对这些参数进行学习。这样通过叠加非线性激活函数,我们得到2-IGN模型。2-IGN模型存在global信息传递,而不再是基于邻居节点之间的局部的消息传播,因而有可能有超出MPNN的表达能力。但我们也证明这一类2-IGN模型在区分非同构图的能力上和2-WL测试是等价的,也就是只有有限的区3.构造表达能力更强的模型之后我们提出了一个更具表达能力的模型。在2-IGN的想法(也就是对等变线性层和非线性激活函数进行层层叠加)的基础上,我们增加了矩阵乘法的步骤。这个模型我们把它叫作Ring-GNN,名字来源于我们想基于加法与乘法构成一个图算子的环(ring)。我们在理论上证明Ring-GNN可以区分此前示例的两个非同构图。实验也表明它在区分一些非同构图上的效果强近来也有很多其他的基于和WL测试对比的工作,包括Maron等人的PPGN模型,李攀等人的DE-GNN模型,Vignac等人的SMP模型,和尤佳轩等人的ID-GNN模型等。总之这是一个有趣的方向,以一种由理论支撑的方式来4.其他衡量表达能力的标准经过以上的探讨,也许我们会疑惑,判断GNN能否区别非同构图在多大程度上是有意义的?如果我们发现模型无法区分某两个非同构图的话,对我们实际的应用有怎样的指导性价值?因为现实中的任务并非一定要区分非同构图。因此,我们希望找到一个更直观、具体、并和实际应用更加相关因此,我们提出用能否对子图进行计数来衡量GNN表达能力。如果我们考虑分子预测的情景,有机分子的许多性质都由官能团来决定,而官能团就可看作分子中某一些原子的组合,即分子图的子图。除了在分子预测任务里,在社交网络预测、金融网络反欺诈等任务中对子图进行计数都是一个5.GNN对子图计数的能力有限我们证明了传统的GNN模型,包括MPNN和刚才所提的2-IGN模型,即便在理论上也无法做到完全准确地对子图进行计数。如上图,假设左边为希望进行计数的范型(pattern)。观察图一和图二,我们想数一数两个图里分别有多少个inducedsubgraph和该范型同构。可以发现,图一含有两个和该范型同构的inducedsubgraph;而图二虽然有两个subgraph与该范型同构,但它没有一个inducedsubgraph和该范型同构。然而同时,我们可以证明MPNN和2-IGN都没有办法区分图一和图二,即不存在一个MPNN或2-IGN可以在图一和图二上给出不同的输6.构造能对子图计数的模型基于上述想法,我们提出了一个能对子图进行计数的更具表达能力的模型。假如我们感兴趣的子图较小,那它们会出现在较小的局部邻域(localneighborhood)里,此时只需对每个局部邻域打造具有表达能力的模型,然后再聚合所有局部邻域上的模型输出就可以获得子图数量的全部信息我们这里对每个局部邻域用到的具有表达能力的模型叫作RelationPooling(RP)。其基本想法是,若想得到一个满足置换不变性(permutation-invariance)的函数的话,我们可以通过对不满足置换不变性的函数进行symmetrization,比如通过枚举所有种置换然后对函数输出进行加和或取平均。这样的一个模型表达能力很强,但计算复杂度较高,如果输入图的大小是N的话,计算复杂度为N的阶乘。而我们的想法是把RP模型用到每一个局部邻域上,再把所有局部邻域上得到的输出进行合并。设感兴趣的子图的半径是R的话,此时总计算复杂度为N乘以R的阶乘。如果R较小但N很大,计算复杂度远小于N的阶乘。这就是我们的LocalRelationalPooling(LRP)模型。LRP模型也可被迭代式的应用,这时候可得深层的DeepLRP模型。7.LRP模型的应用我们把LRP模型应用到分子预测的任务上,如QM9和molhiv数据集,实验结果理想。此外,我们一方面可以通过LRP模型来预测分子性质,另一方面也可以用它来寻找与某个分子性质相关的子图,比如发现哪个官能团与分子的毒性或者是水溶性关联密切,以此达到解释的目的。03Graph-AugmentedMLP1.“GNN简化版“:Graph-AugmentedMLP最后一个话题,我们考虑一类简化版的GNN,称为Graph-AugmentedMLP(GA-MLP)。它基本的想法是把对节点特征的变换(transformation)和传播(propagation)分开。相比于MPNN,此类模型用一些多跳的图算子来生成额外的节点特征(augmentednodefeature),从而利用到长距离的信息,而非通过多层的消息传播来得到。作为简化版的GNN,它一方面有更好的可扩增性(scalability),可被应用到较大的图上,另外也可能缓解过平滑化(over-smoothing)的问题。我们这里感兴趣的是,在这些优点之外,Graph-AugmentedMLP相对于2.GNNvsGraph-AugmentedMLP我们首先比较它们区分非同构图能力的差异。我们发现,确实能找到一些说明差异的例子,比如上图不能被只使用邻接矩阵的幂(powersoftheadjacencymatrix)的Graph-AugmentedMLP来区分,但可被GNN区分。不过,这个结果在直观上并不能告诉我们有哪些任务是Graph-AugmentedMLP所不擅长的。对此,我们提出新的衡量标准,即考虑模型能否对图上带特征的游走(attributedwalks)进行计数。大概想法是:我们想数一数由某个节点出发,能找到多少条满足特征要求的游走。比如,如果我们用不同颜色来代表节点的不同特征,我们想数一数有多少条游走满足“第一跳是红色节点,第二跳绿色节点,第三跳是蓝色节点”这样一个要求。对于上述计数任务,我们可以证明Graph-AugmentedMLP是做不到的,而MPNN理论上可以做到。因为GNN有能力获取rootedsubtree的信息,这些信息里就包含了所有的游走,然而Graph-AugmentedMLP无法完全保留这些信息。我们进行一些实验,也支持了这个结论。3.不同算子的区别此外,Graph-AugmentedMLP还受其所用的算子集合优劣性的限制。我们在社群发现(communitydetection)任务上对比GNN和两种Graph-AugmentedMLP。其中一种Graph-AugmentedMLP是基于邻接矩阵的幂,另外一种是基于最优BetheHessian矩阵的幂。我们发现使用最优BetheHessian矩阵得到的结果优于使用邻接矩阵,并与GNN的结果相近。这也是Graph-AugmentedMLP一类模型的性质,模型效果取决于是然而,对最优BetheHessian矩阵本身的计算是依赖于图数据的而非先验。相比之下,GNN则有能力通过数据来直接学习合适的消息传播方式。不过更一般性的一些结论还需要进一步研究。04•能否对带特征的游走进行计数。其中后两个衡量标准,是我们认为对一些实际应用较相关且可直观理解的标准。基于上述标准,我们证明了一些已有模型在表达能力上的局限,并根据理论结果提出了更具有表达能力模型,包括Ring-GNN以及LocalRelationalPooling,它们在分子预测及寻找更适合任务的子图等实验有很05A:表达能力只是一方面,模型还有很多别的方面要考虑,如优化,泛化以及稳定度,可扩增性等。并不是表达能力更强的模型一定就有更好的表现,模型表现是和任务有关的。我们一般的经验是,在分子预测的情境下,强表达能力模型常常有更好的表现。因为分子图较小,模型可扩增性不是瓶颈,我们希望通过让模型变得更复杂的方式来获得更强的表达能力。但在其他的场景,如社交网络等大图,可扩增性和过平滑化等现象可能也需要关注。而且用复杂的模型可能导致过拟合,反而被噪声干扰。Q:MPNN也是根据邻接矩阵进行聚合和传播的,这和Graph-AugmentedMLP类型工作的本质区别在哪里?A:在MPNN中,信息在图中传播的距离和神经网络的深度是一致的,比如用十层的MPNN,那节点就能获得十跳之外的节点信息;相比之下,可以说Graph-AugmentedMLP是一种“浅”的神经网络,若想获得十跳以内的信息,我们不做十层的信息传播,而是用十跳的图算子,比如说邻接矩阵的十次方,来生成augmentednodefeature,之后对每个节点分别使用两层或三层的MLP就可以了。Q:讲座中提到Graph-AugmentedMLP的表达能力比GNN弱,是没有像GNN一样交替地做propagation,transformation造成的吗?A:我觉得可以理解成这个原因。以下图两个不同的rootedsubtree为一个两层的MPNN可以完全获得图中rootedsubtree的信息并区分它们。因为在MPNN做第一层消息传播后,节点2处得到的嵌入向量就有区别了,然后再通过第二层消息传播将信息传回根节点。然而Graph-AugmentedMLP模型,以使用邻接矩阵的幂作为图算子集的情况为例,只能让根节点知道每层的子节点里绿色的节点和蓝色节点数量,而无法得到更具体信息,因此无法区分上面两个rootedsubtree。Q:如上个问题所讨论的图例,是否能理解为GNN有保序的能力而Graph-A:也并不完全说。就像刚才所说,GNN可以获取完整的rootedsubtree信息,但Graph-AugmentedMLP所收集的信息更像是对每层子节点特征的整体上的统计信息。直观上是这样理解,我觉得关于序的问题欢迎进一A:这是我们所提出的一个衡量表达能力的标准。根本上,衡量GNN表达能力的标准是对图上函数的逼近的能力,即universalapproximation的问题:是不是对一个图上的任意函数,都可以用GNN来逼近。这与对前馈神经网络表达能力的研究比较类似。从这根本观点出发,我们思考什么样的函数是GNN能够表达的。具体的,我们尝试探究与现实任务有所关系的函数,如研究GNN能不能逼近子图计数这一类函数。出品平台:DataFunTalk导读:本文是一篇来自学术界的分享,不会讲太多的具体实操案例,而是根据我对于欺诈检测领域的了解以及学术界的论文,介绍这些论文的发展脉络和论文中一些代表性的工作,以及从论文中总结出如何更好地把图神经网络应用到欺诈检测问题中的方法论。最后,还会给出一些相关资源以及我们实验室做的一些开源项目供大家参考。文中提到的论文和资源,大家如果感兴趣可以进一步研究和学习。•研究历程011.什么是欺诈•对事实的错误表达•从一个人到另外一个人or从一个企业到另外一个企业•欺诈者知道事情的虚假性•欺诈者通过欺诈引诱别人产生其他行为•欺诈者vs.黑客首先比较一下欺诈者和黑客的定义。大多数的欺诈者不是黑客,常见的欺诈者主要利用一些规则的漏洞,但是并没有破坏安全系统(黑客所为);但是也有一些黑客通过破坏系统来达到欺诈的目的。•欺诈vs.异常再来说说欺诈和异常的区别。首先很多欺诈,并不属于异常,从后台数据来看,很多欺诈者的表现和正常用户并无明显区别,但是可能对于某个业务来说,其行为又确实属于欺诈。同时,很多异常也不属于欺诈,很多异常可能是别的原因导致的,所以它的目的不一定是欺上图右下,是百度上某一个APP的搜索趋势图,可以看到,该APP在某一天在百度上的搜索量很大。为什么当时我们会搜索APP,是因为我们在应用市场的后台中检测发现它在某一天的下载量暴增。从应用市场的角度来说,这是一个异常行为。为了弄清楚这个异常行为是否是欺诈(刷下载量),我们反过来去搜APP。故而在应用市场该APP下载量暴增的一天,其在百度的搜索量也暴增。这说明它的下载量暴增并不一定是通过一些刷量行为到达的,而可能是该APP进行了一些推广活动。如果它在各个平台上的流量都增加的话,那么这就不是一个欺诈行为,而只是一个异常行2.欺诈的种类欺诈有很多不同的类别。首先一大类是社交网络上的欺诈,例如社交网络上的机器人、虚假信息、虚假账户、虚假链接等等。另一大类是金融领域的欺诈(风险控制),比较典型的例如对用户贷款违约概率的评估、对保险的信用度评估,还有对洗钱的检测,虚假交易检测、信用卡套现检测,还包括最近在比特币、区块链上的欺诈检测等等。除以上两大类之外,还有很多其他类型的欺诈行为,例如广告流量欺诈、CTR造假、手机APP的虚假留存、电商的羊毛党、众包攻击、游戏外挂等等。从宏观上来说,这些行为都属于欺诈的范畴。随着深度学习在欺诈检测问题的应用越来越多,欺诈检测领域逐渐变成了数据科学、安全和机器学习三个大领域的交叉领域,需要三个领域的知识去完成欺诈检测或者完成风控系统的设计。3.基于GNN的欺诈检测接下来,我们介绍图神经网络在欺诈检测中的应用,主要分三步:(1)构建图主要通过后台的各种日志,比如说用户的日志,提取日志中用户的信息,组成图中的节点,通过用户之间的关系,组成图中的边,从而完成图的构(2)训练图神经网络学习图中信息学习到的信息可以是节点的Embedding、边的Embedding或者图的(3)基于Embedding训练分类器基于第二步得到的Embedding和已知的一些标签信息,例如上图,已知红色节点为欺诈者,黑色节点标签未知,根据已知的标签训练分类器来得到以上三步就是图神经网络应用的经典的三个步骤。其核心思想为同质性假设,即图中相连节点是相似的。比如在欺诈检测问题中,同质性假设认为,正常用户更多地和正常用户互动,而异常用户更多地和异常用户互动。这是图神经网络应用到欺诈检测的一个最基本的假设。02上图从论文的角度介绍了图神经网络在欺诈检测领域的研究情况,我们先来看一下整个历程,后面还会详细介绍4篇比较具有代表性的论首先就是2018年的GraphRAD(MLG@KDD’18),它是第一篇将图神经之后18年蚂蚁金服发表的GEM(CIKM’18)是第一次将异质信息网络应用到欺诈问题中,这篇文章在后文会详细介绍。后续在19年阿里发表的两篇文章GeniePath(AAAI’19),InsurGNN(SIGIR’19)也是将一些最基础的图神经网络模型应用到不同领域的欺诈检测任务上,比如SIGIR’19这一篇就是检测保险领域的欺诈问题。同时,19年的BitGCN(ADF@KDD’19)首次将图卷积网络应用到比特币中,并且它还公开了其数据集,这个数据集后续被很多人应用,因为它是一个非常好的动态数据集去研究虚假交易在比特币网络中的演变情况。19年底的GAS(CIKM’19)来自于阿里巴巴集团的咸鱼APP团队,它是用来检测咸鱼平台上的虚假评论,这篇文章在后续会详细介绍。Player2Vec(CIKM’19)是第一篇把异质图神经网络应用到安全领域的文章,它是检测地下论坛里一些黑灰产的一些交易者的情况。SemiGNN(ICDM’19)来自于蚂蚁金服,其解决的是蚂蚁金服上用户的信Bi-GCN(AAAI’20)这篇文章与其他文章不同的是,它研究的是社交网络中的谣言问题,它也是这几年在谣言检测领域影响力非常大的一篇文章,提出了从谣言源头和谣言最末端双向设计图的一个模型,这篇文章在设计GraphRfi(SIGIR’20)是第一篇把欺诈检测和其他任务结合起来的文章,它是把欺诈检测和推荐系统作为一个互相补充的任务一起学习。GraphConsis(SIGIR’20),CARE-GNN(CIKM’20)这两篇来自于我们实验室(BDSCLab@UIC),CARE-GNN(CIKM’20)也将在后文详细GAL(CIKM’20)这篇文章将图神经网络和无监督的模型结合在一起,因为图神经网络的训练比较依赖于标签,尤其对于欺诈检测问题来说,如果没有标签的信息,训练一个很好的分类器会很难。而这篇文章解决了一个今年年初来自于阿里巴巴的文章MvMoE(WSDM’21)提出了一个多任务的框架,即将图神经网络应用到用户信用评估和违约预测两个任务上面,在底层两者共享一个图神经网络的基础模型,但是在模型的上端,有一个APAN(SIGMOD’21)来自于蚂蚁金服,解决的是流式学习的问题,即当数据是在动态变化的时候,如何更好地利用历史信息训练模型。这篇文章还讲到了如何在online-inference时候提高模型的效率的问题,所以这篇文章是一个偏系统设计的文章,值得一看。DCI(SIGIR’21)来自于中国人民大学的研究小组,他们第一次在欺诈检测的数据集上应用到了自监督学习/对比学习的概念。而对比学习这个概念非常火,这篇文章也是验证了自监督学习对于欺诈检测或者异常检测问题的IHGAT(KDD’21)这篇文章也是来自于阿里巴巴,它引入了用户动机,在欺诈检测的图神经网络建模中,他们通过对用户动机的建模,使其能通过图神经网络,不仅检测出欺诈者,还能给出很好的解释性。最后一篇文章FD-NAG(BigData’21)是我与我们实验室成员和东南亚最大的打车平台Grab合作的一篇欺诈检测的文章。这篇文章在后文也会有详接下来主要介绍四篇代表性文章。1.GEM(CIKM’18)首先第一篇文章来自于蚂蚁金服,其研究的问题是支付宝上面的欺诈账户检测。这篇文章构建的图是异质图,如上图,蓝色节点代表正常账户,黄色节点代表有害账户,其他节点如绿色、红色的节点,代表不同的设备。文章假设不同账户,可能在不同的设备上登入,而对于一些欺诈者来说,他可能用很多设备,或者说重复用一个设备,或者说一个设备登入好几个账号。基于此假设(设备聚集),通过图连接,就能很明显的发现这些异这篇文章是图神经网络比较早的应用,将异质信息网络和图神经网络用到检测问题中,也是影响力比较高的一篇文章。2.GAS(CIKM’19)第二篇文章来自于咸鱼平台,获得了CIKM’19的最佳工业界论文奖,研究咸鱼平台中的虚假评论问题。这篇文章它比较有新意的地方在于,它并不是像很多传统的异质信息网络建模的方法——对用户、商品建模一起评价,相反地,它提出了一个全新的异质信息网络的节点聚合方法,它针对用户节点、评论节点以及商品节点,提出了各自的聚合器,聚合他们各自邻居的信息,学三个不同的表达,然后它还通过评论之间的相似性,构建了一个同质的评论图。它还包含了很多工业界的分析,比如说验证了建图时的一个采样方法——根据时间区间采样,因为采样方法在工业界是比较重要的,图非常大时不一定需要所有的节点信息。3.CARE-GNN(CIKM’20)第三篇文章是来自于我们实验室CIKM的文章,这篇文章最近刚被选为CIKM’20影响力最高的15篇文章之一。我们基于Yelp和Amazon做了两个开源的数据集,并在这两个数据集上针对用户或者说欺诈者的伪装问题给出了相应的解决方案。欺诈检测和其他节点分类问题比较大的区别在于,欺诈者是会伪装的,或者说就是说从某些维度上去看,它正常用户和异常用户其实没什么区别,所以这个时候我们就提出了基于强化学习的方法对邻居进行选择,帮助图神经网络能够更好地对这些伪装的欺诈者进行这篇文章比较大的贡献,除了模型之外,还有两个公开数集,目前已经有很多paper基于这两个数据集做进一步探索,感兴趣的读者也可以关注一下这两个数据集,目前已经集合到亚马逊的DGL库中,大家可以去调用。同时今年10月份的TOIS的期刊文章中,我们把这个模型扩充到更多的任务上面,在其它的一些数据集上面进行验证。4.FD-NAG(BigData’21)最后一篇是我们今年和东南亚最大打车公司Grab合作的一个项目。我们的任务是检测打车过程中的存在欺诈的一些用户。这篇文章我们主要讲两个问题,首先是怎样在没有特征的图上面去建图,因为对于很多公司来说,它可能刚开始没有太多的特征工程去给每个节点都设计各种各样的特征,或者说在欺诈检测问题中,很多的节点没办法设计特征,比如说IP、手机号、地址或者设备这些信息,但这些信息在构建图的过程中又是非常重要的,因为它们可以连接很多相似的用户,故而我们设计了一个把这些关键节点转化为边特征的转换图的方法。其次,这篇文章还首次验证了图自监督学习和对比学习在欺诈检测中,尤其是在工业界数据上的有效性。03下面根据现有的研究论文,介绍如何更好的去应用图神经网络。1.如何应用图神经网络这一部分我们会通过五个问题去判断,去一步一步地建模,如何应用图神(1)是否要用图在我们要应用图形网络之前,最开始要问的问题是到底要不要用图。我们为什么要在欺诈检测问题中用图,有以下几个原因。首先,欺诈者一定共享某些信息,例如共享IP、共享设备。其次,欺诈者有聚集行为,即在构建图之后,欺诈者在图上表现比较聚集,而正常用户会比较分散。最后,也是要用图算法最关键的问题——成本和效率的问题,因为用图就意味着要设计一套关于图的算法,但如果你目前的基础设施里没有针对图的现有的一些计算框架,那么你就要考虑,如果我进行技术迭代,我更新用了一套图的新算法,投入的成本是否能够小于它带来的收益。如果收益(2)是否需要用图神经网络当我们现在确定用图了,第二个问题就是要不要用图神经网络。除了图神经网络之外,还有很多传统的图算法,基于贝叶斯的一些概率图模型、基于谱图算法的矩阵分解模型,这些模型在之前十年得到了很好的研究,而首先,图神经网络相对于这些模型,最大的优点是它是一个端到端的,不需要你去设计feature。比如你的问题里面有各种各样的原始feature,甚至你有图片、声音、时序信息,那么你其实可以把这些数据直接送到图神经网络里面,让深度学习自己去学习。但如果你用传统图模型的话,可能你就需要做一些特征工程的工作。第二点,如果你的基础设施里面有现有的深度学习的框架,使得你可以很快地把深度学习或者说把图神经网络集成进去,那么建议用图神经网络。(3)什么任务第三个问题就是我们确定用图神经网络之后,选择什么任务。在图挖掘领域里面有各种各样的任务,而几乎所有的图相关的任务都跟欺诈检测相首先是分类任务,分类任务主要有节点分类、边分类、图分类以及子图分类等,除此之外,还有一些聚类问题和异常检测问题。这些问题基本上都可以跟欺诈检测问题相关联。此时,就需要通过对业务的深刻理解,来选如前文所述,欺诈检测有时候不一定是一个异常问题。例如水军,或者一些虚假账户的检测里,欺诈者可能在很多数据维度上跟正常用户都没什么区别,但是可能有某些行为和欺诈的关联度很高,这样就可以把它定义成一个分类问题,再通过图神经网络学mapping,从feature到label的mapping。例如是检测用户,则可能是一个节点分类问题,如果检测一个除此之外,现在很多欺诈的问题还会选择成团伙检测问题。因为团伙检测能够很快的抓出很多虚假用户,效率会相对高一点。对于团伙检测问题,当我们业务上明确任务后,就可以根据对业务的理解来选择合适的图神经(4)图的结构确定任务之后,下一步就是要设计图的结构,即需要哪些节点,节点有哪些种类,需要哪些边、边有哪些种类,以及节点要不要进行采样。图的构建是欺诈检测与图神经网络在其他领域应用,比如生物、自然语言处理等领域,最大的区别。因为欺诈检测是在一个非常广的数据上去应用的,很多时候它的数据本来是没有图结构的,所以在图设计这一块,灵活性是非欺诈检测最关键的前提。因此在这部分,推荐两篇文章(SIGIR’19,ICDM’20),它们有比较新的一些建图方法,可供大家参考。(5)图模型选择当你的任务确定了,图确定了,最后一步就是去选择GNN。这部分很简单,你可以根据你的任务,例如针对图分类的,针对异常检测的,选择相应最经典的模型即可,不需要特别复杂的模型,只需要选择最成熟的模型在五个步骤里,最关键的一步是图结构设计。针对图结构设计,我们再展开讲,有这四种设计方法,有同质的、有多关系的、异质的、层级的,大家感兴趣可以看一下相应paper中建图的方法。2.关键的挑战以及解决方法下面介绍目前图神经网络在欺诈检测应用中的一些主要问题和解决方案。(1)伪装问题第一个问题是伪装问题。前文中,我们的论文也讲了伪装问题,我们解决伪装问题的方法,就是对这些图里面的节点进行一些过滤,把一些跟中心节点相似的节点留下来,不相似节点过滤掉。第二种解决伪装问题的方法,即在已知对抗行为的存在性下,利用对抗学第三种就是主动生成,比如生成一些类似于对抗生成网络,生成一些对抗最后一个方法利用贝叶斯的一些方法,对边进行一些操作。比如说在聚合邻居的时候,根据节点的一些先验知识,来判断这个邻居是不是伪装的、是不是真实的,再根据推断结果调整聚合时的边权重。(2)可扩展性问题第二个问题就是可扩展性问题,可以说是目前图神经网络在所有工业界应用的最大的瓶颈。针对这个问题,从论文的角度来说,在欺诈检测领域,我目前只看到有一篇文章去解决这个问题。当然如果抛开GNN来说,传统非深度学习的图模型,有很多篇研究可扩展性的问题。相对于深度学习模型来说,这种非深度学习的图模型,其可扩展性会更高一点。关于可扩展性,大家也去可以看一下这些general的可扩(3)类别不平衡问题第三个问题,欺诈检测和其他节点分类问题最大的区别在于欺诈检测的类别不平衡问题。我们一般将欺诈检测问题定义成二分类问题,而在工业界数据中,欺诈者的比例是非常低的,100万用户中欺诈者可能就只有几千或几百个,因此在欺诈检测中,有极端的类别不平衡问题。对于极端类别不平衡的数据,不管是图神经网络还是传统的机器学习模型来说,如果不做一些调整,模型是不可能学好的。针对这个问题,最经典的解决方案就是下采样,在训练的时候,对大多数的真实用户做一些采样,让它保持和欺诈用户数量是一致的。还有一个解决方法,通过对邻居进行一些选择,在GNN聚合的时候,保持最后一种解决方案,即通过数据增强的方法。先学习一些欺诈者的特点,来生成更多欺诈者的训练数据,从另外一个角度消解标签不平衡带来的影(4)标签稀缺性问题下一个问题是标签的稀缺,这个也是欺诈检测中非常典型的问题。由于打标签的成本很高,必须得通过一些业务方面的专家、一些规则以及人工的检查,才能确定对象是不是欺诈。针对于标签稀缺的问题,有解决方案是主动学习,根据现有的标签,对一些unl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论