查看原文
其他

【源头活水】CARE-GNN论文理解



“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—biu odd
地址:https://zhuanlan.zhihu.com/p/417115526
CARE-GNN是PC-GNN之前发表的一篇解决识别伪装欺诈者(Graph Neural Network-based Fraud Detectors against Camouflaged Fraudsters)的图神经网络论文,PC-GNN也是基于其上的。

01

解决问题
对比PC-GNN解决的是伪装欺诈者在图上的不平衡问题,CARE首先解决伪装欺诈者的端到端识别问题。
伪装欺诈者的伪装主要分为两部分
1. Feature camouflage:聪明的骗子可能会调整他们的行为,在评论中添加特殊字符,或使用深度语言生成模型来掩盖明确的可疑结果,这些有助于绕过基于特征的检测器。
2. Relation camouflage:骗子将自己与良好的实体关联在一起(比如定期发布评论或与有信誉的用户联系),以此逃避检测

伪装存在证明

根据作者github的更新:
https://github.com/YingtongDou/CARE-GNN

1. 对于特征伪装,计算节点特征向量的欧氏距离作为节点相似度,然后用全部的边的数量进行归一化,结果发现平均的节点相似度非常高。
2. 对于关系伪装,基于两个相连的节点是否存在相同的标签来计算标签相似度,然后用全部的边的数量进行归一化。高标签相似度证明欺诈者未能成功伪装,而低标签相似度证明欺诈者成功伪装。结果只有R-U-R关系的标签相似度超过20%,其他均低于20%。
计算公式:

解决方法

于是,为了对抗骗子的伪装,作者提出三种手段:
1. 针对特征伪装,提出标签感知相似度测量,基于节点特征来找到最相似的邻居。
2. 针对关系伪装,设计了一个相似度感知邻居选择器,选择出一个关系中一个中心节点的相似的邻居。在GNN训练的过程中,使用强化学习找到最优的邻居选择阈值
3. 使用学习到的邻居过滤阈值来规划一个关系感知邻居聚合器,将不同关系中的邻居节点信息结合在一起。

02

模型部分

标签感知相似度测量

无监督相似度度量手段难以将伪装的特征识别出来,所以需要一个有监督的参数化的相似度度量手段。
使用一层的MLP作为标签预测器,使用L1范式度量相似度

为了直接训练到标签的相似度度量参数,单独设置一个损失函数:

相似度感知邻居选择

Top-p Sampling:
对于第    层关系    ,过滤的阈值为  (闭区间说明可以全取或不取)
邻居个数选择  ,相似度降序排列
那么如何选择阈值    呢?
不存在梯度,也就没有办法使用BP训练更新
作者提出RL过程来选择最优超参
先计算一个epoch    内的平均距离: 

使用强化学习的方法,奖赏定义为:
两个epoch间,当平均距离减小时正值,平均距离增大时负值 

终止条件为:
10个epoch内总波动小于2

关系感知邻居聚合器

关系内聚合 
关系间聚合 
其中    是前面强化学习而来的参数,    是mean聚合器,
而    可以是任意种聚合器,作者在论文里测试了mean聚合器、Weight聚合器、attention聚合器、GNN聚合器。
损失函数:

其中使用MLP对节点嵌入进行二分类。

模型汇总

总的损失函数如下:
算法更新过程:




03

实验结果

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存