APP下载

基于对抗多关系图神经网络的机器账号检测

2023-10-24杨英光李阳阳刘弋锋谢海永

中文信息学报 2023年7期
关键词:账号机器向量

杨英光,李阳阳,彭 浩,刘弋锋,谢海永

(1. 中国科学技术大学 网络空间安全学院,安徽 合肥 230026;2. 中国电子科技集团公司电子科学研究院 社会安全风险感知与防控大数据应用国家工程实验室,北京 100041;3. 北京航空航天大学 网络空间安全学院,北京 100191;4. 网络文化内容认知与检测文化和旅游部重点实验室,安徽 合肥 230026)

0 引言

随着互联网上多种社交平台的迅速发展,在社交网络海量的用户中出现了大量机器账号,这些机器账号大多数由程序自动控制。其中一部分机器账号存在恶意行为,它们常在社交平台中发布带有潜在意图的诱导内容和不良信息,用以达到窃取用户隐私、实施网络钓鱼和误导网络舆论等恶意目的[1]。恶意机器账号在数量上增长的同时,在技术上也不断迭代[2],2016年以来已经发现了第三代机器账号[3],这些账号由于人为操作和自动化的混合程度加深,能够从其他真实账号盗取信息,利用人工智能技术生成高可信的文本或图片,其行为更像真实人类账号,越加难以分辨恶意机器账号和真实用户账号。因此针对恶意机器账号的检测的研究成为了一个极其重要的课题[4]。

早期检测机器账号的方法是通过特征工程抽取账户元信息的特征,使用传统的机器学习模型检测机器账号。但这些方法需要繁重的特征工程,并且主要依赖于账号的昵称、好友数量等个人特征作为分类的依据,无法面对伪装良好的机器账号。基于神经网络的方法进一步分析了推文内容,联合账户元信息进行检测,但由于日益成熟的对抗文本生成等内容伪装技术,此类方法在社交平台中检测的效果有限。社交网络中存在多种社交关系,由社交关系组成的图结构中包含着丰富的语义信息,这催生了图神经网络应用于机器账号检测的相关研究[5-8]。图神经网络(GNN)能够将图结构作为输入,提取出包含了语义信息的图嵌入向量,用于节点分类,提升了对机器账号的检测能力。但是这些基于GNN的检测方法[5-8]忽略了机器账号在图结构中的伪装行为。例如,恶意机器账号通过与正常用户建立关系即添加边来对图结构进行扰动[9]来降低机器账号自身的可疑性。因此,如果不加选择地聚合节点在图中所有邻居的特征得到图嵌入向量,或者聚合随机选择的邻居的特征得到图嵌入向量,会降低图嵌入向量的表达能力,也会降低对机器账号检测的召回率。此外,现有的基于GNN的机器账号检测方法都依赖于从一开始就构建好的静态图结构,无法在训练时动态地更新图结构,这将导致节点无法聚合未直接相连的其他相似节点,导致对潜在的机器账号检测能力不足。再者,这些研究[5-8]基于同种关系构建的图聚合节点信息得到图嵌入向量,进而检测机器账号,没有考虑到节点间的多种不同关系所能提供的更加丰富的语义信息,降低了检测效果。

为了能够在训练图神经网络过程中选择节点的相似邻居的特征进行聚合,提高图嵌入向量的表达能力,同时动态修改图结构来聚合潜在的相似节点,增强对潜在相似节点的聚合能力,进而提高对机器账号检测的召回率,本文设计三个模块来增强GNN的检测能力:

(1) 邻居选择模块用来选择与中心节点相似的邻居节点。将节点特征输入多层感知机中进行打分,计算出节点与其邻居的相似度。根据阈值,筛选出相似度较高的邻居节点,从而有选择地聚合邻居节点的特征,去除不相似邻居节点对中心节点的影响;

(2) 使用生成对抗网络模块不断更新图结构。为两个在图中没有直接相连的潜在相似节点增加连接,在邻居选择阶段就可以将这些潜在相似节点作为邻居,聚合这些相似节点的特征,从而增强模型对潜在相似节点的聚合能力;

(3) 根据用户间不同的交互类型,建立多个关系图,聚合邻居信息。在构建的多关系图中,首先聚合每一个关系图中根据相似度选出的邻居节点,得到节点在该关系图下的嵌入向量。然后将多种关系下分别得到的嵌入向量进行聚合,得到节点最终的嵌入向量。由于多关系图能够提供丰富的语义信息,聚合了含有丰富语义信息的嵌入向量,大大提高了其本身的表达能力。最后将含有丰富语义信息、表达能力更精确的图嵌入向量输入分类器中提高检测方法的召回率。

本文将上述三个模块与GNN结合在一起,命名为对抗多关系图神经网络模型AdversarialMulti-RelationGraphNeuralNetwork(ADMR-GNN),并在两个流行的数据集上做了实验。最好的情况下,在Yelp数据集[10]中AUC值提升了24%,Recall值提升了13%。在Amazon数据集[11]中AUC值提升了9%,Recall值提升了4%。

1 相关工作

1.1 有监督方法

目前使用监督学习的机器账号检测方法主要从账户元信息[12]、社交网络拓扑[13]和内容[1]中提取特征。Botometer[14-15]方案利用随机森林算法,提取特征训练七个不同的分类器,在十倍交叉验证下的AUC值为0.95。文献[16]用贝叶斯算法做机器账号检测。文献[17]用卷积神经网络和长短时记忆网络联合抽取文本特征和时间序列信息进行机器账号检测。文献[18]将机器账号检测视为单分类问题,选取了5个单分类检测算法,对比了不同算法的检测效果。

1.2 无监督方法

也有一些研究使用无监督方法,这些方法对于跨数据集检测的鲁棒性更好,并且更适合发现机器账号的协同作用。因为单独考虑账号时,账户可能并不会表现出与真实账号有明显差异,从而被有监督方法忽略。文献[19]通过检测内容中重复嵌入的URL链接发现机器账号群组。文献[20]提出使用马尔可夫集群算法来识别机器账号群组。文献[21]使用StreamKM++和DenStream两种聚类算法联合检测机器账号,达到了100%的查全率。

1.3 基于图的方法

近几年有研究使用基于图的方法进行机器账号检测。文献[22]使用异质图神经网络进行机器账号检测。FdGars[5]构建了多关系图,运用图神经网络聚合邻居信息。Player2Vec[23]根据数据集中节点间存在的关系建立多种同构图,使用图神经网络在每种关系下聚合同构图中的邻居信息,并采用注意力机制来聚合多个关系图下的节点的图嵌入向量。以上基于图的检测方法在聚合阶段没有对邻居进行筛选,聚合了不相似邻居的信息,使得检测性能下降。此外,上述方法都依赖于静态图结构,无法聚合不存在连接的潜在相似节点,无法进一步提升检测性能。

本文中对抗多关系图神经网络模型(ADMR-GNN)也使用了基于图的检测方法,但为了克服上述基于图的检测方法的缺点,本方法构建多关系图,利用多关系图检测机器账号,保留了多关系图的表征能力。筛选出相似度较高的邻居节点,从而有选择地聚合邻居节点的特征,去除不相似邻居节点对中心节点的影响,并使用生成对抗网络动态的更新图结构,从而能够更好地聚合潜在相似的邻居节点,加强了图嵌入向量的表征效果。

2 问题定义

本文关注于检测社交平台中存在的机器账号,这些账号都受控于自动化程序,自动地模拟用户行为,例如,①水军账号[24-25],这类账号能够在各类平台中,对于商品、服务、推特等发表大量评论,从而潜移默化地影响用户对商品和服务的评价。②社交机器人账号[26],别有用心地传播新闻和观点,发布具有某些意图的内容来影响公众舆论,这些账号通过模仿用户的观点和行为、通过回复或者提及用户等交互操作来伪装自己。

2.1 异质信息网络与多关系图

异质信息网络是一个图G=(V,ε),V和ε分别代表图G中的节点集合V={v1,…,vn}和边集合ε={ε1,…,εn},且节点和边的类型之和‖TV‖+‖Tε‖≥3,满足这样条件的图G我们称其为异质信息网络。

2.2 多关系图下的机器账号检测

对于社交平台以及其他平台中的账号,我们可以将账号建模成图中的节点v,把账号之间的交互操作如回复,抽取成关系r,从而将节点互相连接起来,建模为多关系图G。节点v的标签yv∈{0,1}∈Y,其中,0代表节点为正常账号,1代表节点为机器账号。模型对每个节点从多关系图中聚合其他邻居的信息得到图嵌入向量,根据定义的损失函数得到损失,反向传播更新模型参数,最后使用训练出的模型对图中没有标签的节点进行分类。

3 对抗多关系图神经网络模型

本文基于对抗多关系图神经网络模型对机器账号进行检测,模型图如图1所示。对于一个中心节点,我们需要聚合与中心节点在不同关系下与中心节点相连接的邻居节点,从而得到可以供下游分类任务进行分类的图嵌入向量。首先我们使用训练好的生成对抗网络模块来判别图中节点对是否存在连接关系,从而更新图结构。然后根据节点的相似度以及阈值选出将被聚合的邻居节点,在同种关系聚合层,得到中心节点在单一关系下的嵌入向量。在多种关系聚合层,聚合中心节点在不同关系下的嵌入向量得到节点最终的表征向量供分类器分类。

图1 对抗多关系图神经网络模型图

3.1 基于生成对抗网络的连接更新

如图2所示,我们从图中采样成对相连的节点(v,u),用源节点v训练生成器,生成节点v的虚假目标节点vt,同时将节点对(v,u)和(v,vt)输入到判别器进行训练。然后我们从图中采样节点对输入判别器,推理当前采样节点对是否相似,即是否应该存在连接关系,用判别器的推理结果更新图结构。

图2 生成对抗网络模块

3.1.1 生成器

生成对抗网络中的生成器G的目标是根据从图中取样得到的源节点生成接近于真实的目标节点。即,当给定了一个源节点v∈V,生成器G的目标就是生成虚假的目标邻居节点vt,节点vt应该尽可能地接近真实存在的节点。为了能够实现这个目标,我们提出使用一个潜在变量z~pz(z)与源节点相加来作为生成器的输入,并使用多层感知机来实现生成器G,如式(1)所示。

其中,f使用多层感知机实现,θf是f的参数。变量z来自于高斯分布,如式(2)所示。

其中,zv∈d×1,d等于源节点的特征向量维度。生成器G的目标是通过生成足够接近真实的虚假样例欺骗判别器D,为了达到这个目标,生成器的损失函数如式(3)所示。

其中,vt就是源节点v的虚假邻居节点,vt通过生成器G生成。判别器D输出的是输入节点对存在真实连接的可能性,生成器的参数θG可以通过最小化LG进行优化。

3.1.2 判别器

判别器D试着分辨从图中采样的源节点和邻居节点对(v,u)和源节点与生成器G生成的虚假邻居节点对(v,vt)。对于生成器G生成质量差的邻居节点给出与生成器G期望得到的相反标签,就会提高损失值,为了降低损失值,生成器只能不断优化生成邻居节点的质量,这样判别器D就强制G生成接近真实的虚假邻居节点,同时增强自身对于源节点和邻居节点是否存在真实连接的判别力。对于一个给定的节点对(v,u),D将输出节点v与u存在连接的可能性。针对这个目的,我们定义判别器D的函数为Sigmoid,如式(4)所示。

(4)

其中,f使用多层感知机实现,θf是f的参数。节点对的采样形式有以下两种。

(1)正例采样: 即采样的节点对(v,u),在图中是实际存在边连接的,这样的节点对被称为正例,此时判别器D的损失函数如式(5)所示。

(2)负例采样: 对于一个给定的节点v∈V,vt表示为v的虚假邻居节点vt~G(v;θG),这样的节点对(v,vt)称为负例采样,此时判别器D的损失函数如式(6)所示。

我们将上述两部分损失函数合并来训练判别器,通过最小化LD来优化判别器的参数θD,损失函数如式(7)所示。

3.1.3 连接更新

3.2 基于相似度的邻居选择

为了能够对邻居有所筛选,我们需要对节点之间的相似度进行度量。为了实现这一点,受LAGCN[27]的启发,我们在模型的每一层中使用一个单层的多层感知机,来预测两个节点的相关性,作为两个节点相似度的度量标准。

(8)

每一层都有一个多层感知机进行相似性度量。多层感知机f(l)的输入就是l-1层节点的嵌入向量,第一层的输入是节点的特征向量,将多层感知机的输出输入到非线性激活函数中,求其L1范数。然后与1做差即可得到相似性度量。

为了能够训练多层感知机,优化模型参数,我们定义第l层的多层感知机的损失函数为交叉熵损失函数,如式(10)所示。

(10)

3.3 关系聚合

(11)

3.4 损失函数

其中,yv∈{0,1}是节点v的标签。将相似性度量的损失函数式(10)联立起来,定义最终的损失函数如式(14)所示。

3.5 算法描述

首先初始化参数,设定阈值,然后在迭代样本的时候首先用式(7)和式(8)训练生成对抗网络,如果迭代次数超过T就可以使用判别器进行推理,更新图结构;然后用式(9)计算节点间的相似度,挑选邻居;然后用式(11)计算同种关系节点的图嵌入向量,以及用式(12)计算多种关系下的图嵌入向量;最后用式(14)计算相似度损失和GNN损失,更新参数值。

算法1: ADMR-GNN: 对抗多关系图神经网络输入: 节点的特征向量,标签和一个多关系图G={V,X,{εr}|Rr=1,Y};层数L;批量大小B;迭代次数E;GAN训练次数T参数{S(l)(·,·)}|Ll=1;阈值TD=0.5,T (l)s=0.5}|Ll=1;参数{AGG(l)r}|Rr=1,∀l∈{1,…,L};参数{AGG(l)r}|Rr=1,∀l∈1,…,L 。输出: 嵌入向量hLv、机器账号概率pv, ∀v∈Vtrainfor e=1,…,E do //训练ADMR-GNN for b=1,…,B do for r=1,…,R do LD←式(7) //训练 D LG←式(3) //训练 G if e>T 更新图 //推理 for r=1,…,R do S(l)v,v' ←式(9) 邻居选择 hlv,r←式(11) //同关系聚合 hlv←式(12) //多关系聚合

4 实验设置及结果

4.1 数据集

表1展示了数据集的统计信息。我们使用Yelp评论数据集[10]和Amazon评论数据集[11]来研究基于GNN的机器账号检测问题。Yelp数据集中包含了Yelp过滤(垃圾邮件)和推荐(合法)的对酒店和饭店的评论,Amazon数据集包含了用户账号对平台中乐器产品的评论。这两个数据集中都存在机器账号,并可以构建出有意义的多关系图,为验证我们提出的检测方法的有效性提供支撑。我们手动为Yelp数据集中的账号抽取了32个特征,为Amazon 数据集中的账号抽取了25个特征。

表1 数据集统计数

4.2 多关系图构建

Yelp数据集中我们将评论(R)作为图中的节点,并设计了3个关系。

(1)R-U-R: 连接来自一个相同用户(U)的评论;

(2)R-S-R: 连接两个评分数(S)相同的评论;

(3)R-M-R: 连接两个在同一个月(M)中对相同产品的评论。

Amazon数据集中我们将用户作为节点,并设计了三个关系构建多关系图:

(1)U-P-U: 连接对同一个产品评论过的用户;

(2)U-S-U: 连接两个在同一周中有相同打分值的用户;

(3)U-V-U: 连接两个评论有高度相似性的两个用户。

4.3 对比方法

为了验证我们方法的有效性,我们选择了多个图神经网络方法进行对比。我们使用GCN[28]、GAT[29]、GraphSAGE[30]作为图神经网络的通用模型的代表;并且分别选择了Player2Vec[23]、SemiGNN[31]、GeniePath[32]、GraphConsis[6]四种时下最先进的基于图神经网络的欺诈性机器账号检测方法进行对比。以半监督的方式进行训练及检测,GCN、GAT、GraphSAGE、GraphConsis模型运行在同构图中,此时不区分不同的关系,将表1中的关系合并在一起构建出一个同构图来分别训练这四个模型。

4.4 实验设置

我们使用小批量(Mini-Batch)训练的方式训练ADMR-GNN和其他模型。设定嵌入向量维度为64,Yelp数据集中批量大小为1 024;Amazon数据集中批量大小为256;总层数为1、学习率(Learning Rate)为0.01;设定邻居选择的阈值为0.5,设定图结构更新的阈值为0.5。

4.5 评估指标

由于两个数据集中的类别非常不平衡,所以我们主要使用ROC曲线下面积(AUC)和召回率(Recall)作为评估指标,尽可能地降低类别不平衡问题对评价的影响。

4.6 实验结果与分析

我们将建立好的图结构和抽取出的节点特征向量输入模型进行训练,动态地改变图结构,有选择地聚合邻居节点得到图嵌入向量,然后使用Sigmoid函数进行分类。训练30个时期(Epoch),并使用AUC和Recall作为评估指标,与多个模型的对比结果如表2所示,每项指标的第一名加粗显示,第二名用在数值下加下划线显示。从表中结果可以看出,当使用不同的训练集进行训练时,我们提出的ADMR-GNN方法得到的评估指标数值都在该数据集中达到了最好的效果。与评估指标数值为第二的GraphConsis相比,在Yelp数据集中训练集占比为40%时AUC值提升了24%,Recall值提升了13%;在Amazon数据集中训练集占比为40%时,AUC值提升了9%,Recall值提升了4%。证明了本文提出的方法的有效性。

表2 对比实验结果

我们对比了在不同训练集占比情况下,评估指标AUC和召回率Recall随迭代时期Epoch的变化情况。如图3所示,在不同数据集中使用不同比例的训练集训练ADMR-GNN,在其余数据集上测试时,前10个训练时期得到的评估指标值随着迭代次数的变化情况,前10次训练时期(Epoch)里的最大值已经在图中标注出。可见我们提出的方法无论是在节点数为45 954的较大的Yelp数据集上,还是在节点数为 11 944的Amazon数据集上,评估指标都能够在前几轮的训练中快速上升,并接近于表2中30个训练时期得到的最大值,说明我们的模型训练效率也较高。

4.7 超参数敏感性分析

图4展示了ADMR-GNN在Yelp和Amazon两个数据集中两个超参数敏感性的测试结果。从图4(a)中可以看出,在Yelp数据集中,使用16、32、64、128作为图嵌入向量的维度时,得到的AUC值为0.77左右、Recall值为0.70左右,对性能影响不大。从图4(b)中我们可以看出,在Amazon数据集中,使用16、32、64、128作为图嵌入向量的维度时,得到的AUC值略有波动,图嵌入向量维度为64时AUC值最大,为0.95,而Recall值为0.88左右,对性能影响不大。从图4(c)中我们可以看出,在Yelp数据集中,使用不同正例采样与负例采样的比例时,对性能有较大的影响,尤其在比例为1∶0.2 时Recall值为0.50,在比例为1∶0.5时Recall值为0.59,说明发生了不同程度的过拟合。从图4(d)中我们可以看出,在Amazon数据集中得到的结果与Yelp相似,在比例为1∶0.2时Recall值为0.66,也发生了一定程度的过拟合。

图4 不同超参数值得到的评估指标值

5 总结

本文研究多关系图中利用潜在相似节点的特征对机器账号检测的影响。为了增强基于图神经网络的机器账号检测模型,更好地聚合潜在相似节点的特征,提出对抗多关系图神经网络检测模型ADMR-GNN。该方法能够在训练过程中使用生成对抗网络改变多关系图的结构、根据相似度筛选出相似的邻居节点、在多个关系图中聚合相似邻居节点的特征,得到表达能力更强、更加精确的表征向量用于分类。实验结果表明,利用了潜在相似节点特征的ADMR-GNN在AUC和Recall评估指标中均好于当前已有的基于图神经网络的机器账号检测方法。下一步工作中,我们将研究如何更好地利用节点相似度对邻居节点进行筛选,进一步提升模型的检测性能。

猜你喜欢

账号机器向量
机器狗
向量的分解
机器狗
彤彤的聊天账号
施诈计骗走游戏账号
聚焦“向量与三角”创新题
未来机器城
向量垂直在解析几何中的应用
Google Play游戏取消账号绑定没有Google账号也能玩
向量五种“变身” 玩转圆锥曲线