陈卓,朱淼,杜军威
(青岛科技大学信息科学技术学院,山东 青岛 266061)
欺诈行为是指对事实错误的表达,是以使人发生错误认识为目的的故意行为。欺诈有多种类别,包括社交网络中的虚假信息、金融欺诈[1]、广告流量欺诈等,有效检测出欺诈行为对安全、金融等领域发展有着至关重要的作用。
由于图可以对现实世界中的关系进行良好建模,研究者将图神经网络(GNN,graph neural network)运用到欺诈检测中。基于图的异常检测方法是识别可疑行为最常用的技术之一[2]。
FRAUDER(fraud detection dual-resistant)[3]利用图结构无关的编码器学习欺诈节点和相邻正常节点不同的表示,从而判别欺诈节点和正常节点;而semiGNN[4]从节点的多视角信息出发,利用层次注意力聚合节点不同视角之间的信息,学习了不同节点之间的交互以及不同视角之间的关系,以此进行分类。
然而,在欺诈检测任务中,欺诈者的数量远少于正常用户的数量,以Amazon 数据集为例[5],只有9.5%的用户是欺诈者,而其他用户则是正常的。类不平衡问题使现有的欺诈检测算法在多数类中过拟合,忽略了少数类的特征,从而导致检测效果差。此外,在现实生活中,欺诈者通常连接大量的正常用户以实施欺诈行为,欺诈节点之间缺乏必要的连接,这可能导致欺诈者信息被隐藏在正常信息中,研究者将之称为欺诈者伪装行为。由于图神经网络的效果依赖于同质性假设,即距离相近的节点具有相似的信息,简单的图神经网络在聚合邻居节点信息后易掩盖其中的欺诈信息,难以识别欺诈节点,这也是欺诈检测任务的难点之一。现有研究[6-7]通过重采样的方法过滤掉欺诈节点相邻的正常节点以满足GNN 的同质性假设。同时,利用重采样的方法对正常节点进行欠采样,对欺诈节点进行过采样也可以解决类不平衡问题。但图神经网络容易被一些微小的扰动迷惑[8],特别是若某一层删减了过多的边,随着图结构的演化将会导致GNN 过平滑。
针对上述问题,本文提出基于多视角图神经网络的欺诈检测(MGFD,multi-view graph neural network for fraud detection)算法,结合结构无关的编码器和层次注意力思想构建多视角特征嵌入模块,利用节点与子图对构建学习样本,并设计标签从而解决欺诈检测中的类不平衡问题,最终预测标签来判断节点是否为欺诈节点。本文的工作主要有以下几点。
1) 设计多视角特征嵌入模块,首先使用结构无关的编码器学习欺诈节点与正常节点之间的差异性表示,再利用层次注意力机制融合节点多视角信息,学习节点不同关系之间的信息,利用包含丰富信息的表示解决欺诈者伪装问题。
2) 构建节点与子图对,设计实例对标签以平衡数据的类别,通过学习正常节点与欺诈节点的差异使节点和子图对不断拟合标签,最终预测标签来判断节点类别,在不改变图结构的条件下解决类不平衡问题。
3) 在公开数据集中进行广泛的实验,验证算法检测欺诈节点的有效性。
本节首先给出不平衡比、多关系不平衡图、节点子图相关定义,然后给出针对图异常检测问题的形式化描述。
问题描述:基于图的欺诈检测。在多关系不平衡图G=(V,ε,A,X,C)中,节点被标记为欺诈节点或正常节点。基于图的欺诈检测的目的是在多关系不平衡图G上发现欺诈节点与正常节点之间的显著差异,也可以表述为不平衡节点分类问题。
下面,从基于图的欺诈检测和不平衡学习两方面介绍本文的相关工作。
1.2.1 基于图的欺诈检测
GraphRAD(graph-based risky account detection)[9]将图神经网络运用于欺诈检测任务,以欺诈节点为种子节点,向外发散生成局部社区,从而通过学习账户之间的关系图检测有潜在风险的账户。双向图卷积网络(Bi-GCN,bi-directional graph convolutional network)[10]使用图卷积网络检测社交网络中的谣言,提出谣言源头和末端双向图模型,从而从深度和广度两方面检测谣言。文献[11]提供了一种新的异质信息网络节点聚合方法,针对用户节点、评论节点以及商品节点分别提出聚合器,聚合各自邻居节点的信息,同时通过评论之间的相似性,构建了一个同质的评论图,从而检测虚假的评论。这些方法结合数据特性利用图神经网络进行欺诈检测,但没有考虑到欺诈节点伪装以及样本不平衡问题。近期,部分工作针对欺诈者伪装以及类不平衡问题对网络进行改进,如GraphConsis[6]提供了一种新的GNN 框架用于解决欺诈者伪装问题,在聚合邻居节点时通过度量节点之间的一致性过滤不一致的节点,学习欺诈节点之间潜在的特征,从而对节点进行分类。CARE-GNN(camouflage resistance-GNN)[7]基于强化学习的方法学习节点的最优邻居节点数,利用标签相似度对邻居节点进行选择,以解决欺诈者的伪装问题。上述方法虽然可以在一定程度上解决欺诈者伪装问题,但检测效果仍受标签不平衡限制,且在相邻层网络中输入不同的图结构易使网络训练不稳定。
1.2.2 不平衡学习
由于欺诈检测任务中欺诈节点远少于正常节点,欺诈检测涉及不平衡分类问题。现有的不平衡分类方法可分为重采样和重加权。重采样又可进一步分为过采样和欠采样。SMOTE(synthetic minority over-sampling technique)[12]是一种典型的重采样插值方法,通过对少数类过采样和多数类欠采样获得更好的分类结果。Wang 等[13]提出通过生成少数类样本以实现过采样。Chi 等[14]提出基于元学习的强化学习以学习欠采样。重加权算法可以通过成本敏感方法[15]和基于元学习的方法[16]实现。Cao 等[15]提出了感知标签分布的边缘损失,并将重加权与损失相结合以解决类不平衡问题。Hu 等[16]将监督学习和强化学习相结合,利用强化学习奖励动态调整数据加权。
目前,针对解决图数据中类不平衡问题的研究仍然较少。Shi 等[17]对图数据中类不平衡问题进行研究,提出了一种包含2 种正则化的新型图卷积网络,训练所有未标记节点使其与训练良好的节点具有类似的数据分布从而促进不同类之间的平衡训练。该算法的局限性在于难以泛化到大规模图上。Zhao 等[18]提出通过生成节点和边进行过采样以平衡分类。由于不断生产新的图结构,这种方法有可能降低基于GNN 方法的稳健性。
为了学习欺诈节点和正常节点之间显著差异并解决类不平衡问题,本文提出了MGFD 算法,其由多视角特征嵌入、构建节点子图对标签、欺诈节点判别三部分组成,算法架构如图1 所示。首先使用结构无关的编码器增强欺诈节点与正常节点之间的差异,基于层次注意力聚合节点得到包含节点多视角信息的差异化表示;然后,进行子图采样,基于不同类别的节点特性构建节点子图对标签,解决类不平衡问题并学习正常节点与欺诈节点之间的不一致信息;最后,判别标签得出节点是否为欺诈节点。
图1 MGFD 算法架构
由于欺诈节点与正常节点具有不同的特征,但两者在拓扑结构上联系紧密,直接聚合邻居节点信息会平滑欺诈节点潜在的特征,因此在进行信息聚合之前,首先基于节点属性对节点进行结构无关编码,即在对节点属性进行编码时不考虑节点的结构信息,如式(1)所示。
其中,xi为节点vi的特征向量;σ为非线性激活函数,对节点属性进行非线性变换;We为可学习的权重矩阵;hi为学习到的节点vi的第一层嵌入。
由于节点具有不同丰富的特征,为聚合不同视角下邻居节点的特征,使算法更易于区分欺诈节点和正常节点,减少对欺诈节点的错误判断,本文基于多层次的注意力机制分别对节点层和不同视角层进行信息融合,以学习不同关系下节点间的联系。
给定用户vj,vrj为用户vi在视角r下的邻居,hj为节点vrj的初始嵌入,利用节点vi和vrj之间的关系学习注意力系数,如式(2)所示。
为了获得节点更全面的信息,需要融合不同视角的信息,以获得高阶的语义信息。由于不同视角得到的节点表示位于不同的空间域,直接融合难以在低维空间中捕获不同视角之间的相关性[4]。因此在融合多视角信息前,使用多层感知器(MLP,multilayer perceptron)将特定视角的节点表示映射到高维的空间中,第l层的表示为
不同视角表示对欺诈检测任务具有不同的贡献,因此本文提出视角级的注意力机制。同理,视角级注意力系数的计算式为
其中,为可学习的视角权重向量。
得到不同视角的权重向量后,结合不同视角的嵌入得到节点的多视角特征嵌入,如式(6)所示。
其中,||表示拼接操作,拼接不同视角下节点表示。
在欺诈检测任务中,由于欺诈者通常连接正常用户以伪装自己,且欺诈节点远少于正常节点,直接聚合邻居节点易使欺诈者特征被掩盖。本文基于节点子图对构建平衡标签以解决上述问题。由于正常节点与欺诈节点具有不同的行为模式和特征,本文利用节点子图作为新的学习样本,通过构建节点与其子图对,学习判别节点与其子图不同的交互模式,将欺诈节点与其子图对称为负样本,正常节点与其子图对称为正样本。为解决样本不均衡问题,将不平衡比作为少数类节点和多数类节点的子图采样轮数之比,以平衡正负样本数,使分类器充分学习到负样本的特征,避免算法在多数类上过拟合,忽略负样本的信息。
由多视角特征嵌入模块得到节点的表示后,首先确定目标节点,子图为从目标节点采样的局部子图,利用带重启的随机游走(RWR,random walk with restart)算法[19]得到节点的多个子图。RWR 算法表示在游走时有一定概率回到起点,如式(7)所示。
其中,是起点向量;是终点向量;Wi,j表示图中边的权重,即从节点i到节点j的概率,在本文中为邻接矩阵;c为重启概率,当c=0 时游走回起点。对于正常节点,由游走得到K个子图,为第k个子图,为节点i的第k个子图表示,对于欺诈节点,由游走得到个子图,其中,利用平均池化作为读出函数Readout(·) 融合节点表示,具体如式(8)和式(9)所示。
为度量节点与其子图的一致性,采用双线性映射函数Bilinear(·) 计算其相似度,对于正常节点,节点与子图对即正样本的分数为
其中,WS为可学习参数矩阵。对于欺诈节点,节点与子图对即负样本的分数为
其中,WP为可学习参数矩阵。
通过以上模型训练,每一个对比实例对都可以得到一个预测标签值si。最终,模型的对比目标使s与标签yi尽可能接近。本文使用标准交叉熵损失目标函数,即
将节点输入训练好的对比模型后,模型对其进行子图采样,将样本输入分类器中,由J个子图得到。将判别值表示为样本节点子图对预测标签平均值,即
正常节点分数趋于0,欺诈节点分数趋于1,相较于正常节点,欺诈节点具有较大的判别分数,因此节点是否为欺诈节点的概率为
基于以上论述,基于多视角图神经网络的欺诈检测算法的伪代码过程如算法1 所示。
算法1基于多视角图神经网络的欺诈检测算法
输入多关系不平衡图G=(V,ε,A,X,C),训练集Vtrain,训练轮数epoch,训练批次大小batch_size
输出节点i的欺诈预测标签si
本文在广泛使用的公开数据集上进行对比实验,分别为Yelpchi 数据集[20]和Amazon 数据集[5]。Yelpchi数据集收集了Yelp 网站的酒店和餐厅评论。Yelpchi数据集中的节点是具有100 维特征的评论,包含以下3 个关系:1) R-U-R 连接同一用户发布的评论;2)R-S-R 连接同一产品下的评论,具有相同的星级评级;3) R-T-R 连接当月发布的同一产品下的评论。Amazon数据集包括了Amazon 网站乐器类别下的产品评论。Amazon 数据集中图的节点是具有100 维特征的用户,包含以下3 个关系:1) U-P-U 连接至少查看过同一个产品的用户;2) U-S-U 连接在一周内拥有至少一个相同评级的用户;3) U-V-U 连接具有前5%的TF-IDF(term frequency inverse document frequency)相似性的用户。这2 个数据集的统计数据如表1 所示,其中标签相似度为欺诈节点与其一阶邻居节点标签平均相似度。从表1 可以看出,除了Yelpchi 数据集中的R-U-R关系外,其他关系下欺诈节点与其邻居节点的标签相似度都很低,说明图中的欺诈节点与正常节点普遍的连接性以及欺诈节点之间缺乏必要连接的数据特性。
表1 数据集统计数据
为了评估模型欺诈检测性能,本文选取了GCN以及几种先进方法进行对比实验。
GCN[21]。图卷积网络对空间域中的节点嵌入进行卷积操作,即聚合邻居的信息来表示节点。
FdGars[22]。该方法基于GCN 对虚假评论账户进行检测,针对评论的语义特点设计特征,并通过GCN 对节点特征进一步编码。
GraphConsis[6]。该方法通过邻居节点距离及标签信息均衡采样,解决欺诈检测领域不一致即欺诈者伪装问题。
CARE-GNN[7]。该方法针对欺诈者伪装问题,利用强化学习思想设计自适应的阈值用来筛选邻居节点。
FRAUDER[3]。该方法是一种基于图神经网络的欺诈检测算法,通过设计节点信息聚合机制以及损失函数,实现对图不一致和类不平衡问题的双重抵抗能力。
由于欺诈检测类不平衡问题,本文选用3 个被广泛使用的对类无偏差的度量指标:AUC、Recall-macro和F1-macro。AUC 为受试者操作特征(ROC,receiver operator characteristic)曲线的下面积,AUC 表示随机选择一个欺诈节点,其排名高于正常节点的预测概率。Recall-macro 评估检测到的欺诈节点和正常节点占实际数量的比例的未加权平均值。F1 分数是召回率和精度之间的权衡,而F1-macro 是正常节点和欺诈节点F1分数的未加权平均值。
在多视角特征嵌入模块,节点表示维度对后续欺诈检测的影响如图2~图4 所示。节点表示维度超过64 维时,欺诈检测效果在3 个评价指标上都呈下降趋势,因此选择输出节点表示维度为64 维。
图2 参数选择AUC 指标结果
图3 参数选择Recall-macro 指标结果
图4 参数选择 F1-macro 指标结果
MGFD 算法与对比方法在不同数据集上的对比实验结果如表2 所示。由表2 可以看出,在给定评价指标上,MGFD 算法均取得了最好的检测效果。
表2 对比实验结果
1) MGFD 算法在2 个数据集上都取得了最好的效果,这说明MGFD 算法能够有效解决欺诈检测任务中节点不一致以及类不平衡问题,并学习到欺诈节点潜在的学习模式。MGFD 算法效果好于FRAUDER 说明多视角的特征嵌入增强了节点自身与其他节点之间的不一致信息以便识别欺诈节点。
2) GCN 表现不好的原因在于其对于分类任务的有效性依赖于同质性假设,即节点与其邻居节点具有相似的特征,但这一假设在欺诈检测任务中并不成立。因此GCN 在欺诈检测任务中效果不好。
为验证MGFD 算法多视角嵌入模块以及构建节点子图对标签的有效性,本文对以上2 个模块进行消融实验,实验结果如图5~图7 所示,其中,without MV 表示不进行多角度的特征嵌入,对节点进行简单的卷积得到嵌入;without IL 表示不构建节点子图对标签;MGFD-ALL 表示完整的算法。
图5 消融实验AUC 结果
图6 消融实验Recall-macro 指标结果
图7 消融实验F1-macro 指标结果
从图5~图7 可以看出,多视角特征嵌入模块和构建节点子图对标签均对检测效果具有正面的影响,其中由于构建节点子图对标签针对欺诈节点伪装以及类不平衡问题,其对检查效果具有更重要的影响。
为验证多视角特征嵌入模块可以学习到正常节点和欺诈节点的差异性表示,本文设计实验评估相邻节点之间的相似度,表3 和表4 分别展示了所选数据集上正常节点和欺诈节点与其一阶邻居节点在不同关系下的平均余弦相似度,其中初始嵌入即节点属性,P1表示节点经过结构无关的属性编码器后的输出,P2表示经过层次注意力机制聚合的节点表示。
表3 Amazon 数据集实验结果
表4 Yelpchi 数据集实验结果
以Amazon 数据集在关系U-P-U 下为例,当欺诈节点连接正常节点伪装自己时,欺诈节点与其一阶邻居节点之间的相似度高达0.690 7,但经过模型训练后,P1和P2分别降低到0.069 0 和0.069 1,而正常节点相似度则变化不明显,可见MGFD 算法有效地学习了欺诈节点与其正常邻居节点之间的差异化表示,为后续的欺诈检测提供了有力支撑。在Yelpchi 数据集的R-U-R 关系下,训练后的P1和P2相较于其他关系略高,这是由于在此关系下,欺诈节点与其一阶邻居节点的标签相似度为0.951 1,即欺诈节点与欺诈节点连接较多,但是由于欺诈节点行为不稳定,欺诈节点之间也可以学习到差异性表示,训练过后其与一阶邻居节点的相似度也有一定程度的降低。
针对现有图欺诈检测任务中欺诈节点伪装问题以及类不平衡问题,本文多视角特征嵌入机制面向多种关系学习节点表示,针对伪装问题学习节点的一致与不一致信息,并利用采样策略解决类不平衡问题,从而对图中的欺诈节点进行检测。在公共图数据集上的相关实验验证了本文算法具有较好的欺诈检测效果。后续研究将针对现实世界中特定领域数据中的异常信息,设计预处理步骤,从而加强领域异常信息的发掘以提升欺诈检测的效果。