作者 | ANTI
导读
随着反作弊与作弊黑产对抗愈发激烈,作弊手段日新月异,我们也不断尝试新的方法解决新的作弊问题。本文主要介绍在活动场景下,应用图算法解决社团类型作弊问题。图模型不仅能够同时融入图的拓扑结构和节点的特征进行学习,而且其作为半监督模型,可以更好地利用未标注的数据,提升召回效果。文中提到的GCN图模型和SCGCN(多图串联模型)在作弊召回方面均取得很好的效果。
全文4102字,预计阅读时间11分钟。
运营活动是企业保证用户增长与留存的重要手段,也是企业的核心竞争力之一。其主要形式包括拉新和促活,拉新是通过老用户邀请新用户的方式获取新的用户,增大用户资源池;促活即是通过做任务的活动形式提升DAU,增加用户粘性。举个例子,我们平时在某APP上参与的做任务领红包活动便是运营活动的具体形式之一。企业通过结合自己的产品特点开展运营活动,可以达到提升用户留存率和转化率的目的,从而提高企业收益和影响力。
百度系APP上也有各式各样的活动,例如「邀好友领红包」,「做任务领红包」等。但是活动中会有大量作弊者(比如网络黑产)通过作弊手段获取非正当利益,影响活动营销效果。此时就需要反作弊系统通过用户画像、用户行为、设备信息等多维度信息对黑产进行甄别,为公司的运营活动保驾护航。近年来,随着反作弊与黑产之间不断的攻防对抗,黑产的作弊手段也在不断迭代升级,从大规模机刷作弊逐渐演变为众包作弊,乃至小规模真人作弊,这使反作弊的作弊识别难度也不断增加,是此,我们需要不停的迭代新的方法对黑产进行识别和拦截。
在运营活动中,以拉新活动为例。在拉新类型的活动中,邀请行为一旦发生,用户之间便会自动建立一种关联关系,这里我们称之为「师徒关系」(邀请者视为「师父」,将被邀请者视为「徒弟」)。举个例子,Pic.3是通过「邀新」操作产生的用户关系图,我们称上层人物为下层人物的「师父」,称下层人物为上层人物的「徒弟」。图中师父可以拉新多个徒弟,与此同时会获得相应奖励,通常情况下徒弟越多,奖励越多。
△Pic.1邀好友活动、Pic.2国庆活动
△Pic.3邀请活动人物关系说明
目前,拉新场景反作弊建模面临以下两个问题:
1、缺少刻画用户间联系信息的能力:活动反作弊业务目前应用模型包含树模型、DNN和机器学习模型。如果我们把用户看作节点,会发现这些模型的学习训练更关注于节点本身的特征,而缺少学习节点与节点之间的关系特征的能力。在近期的几次作弊攻击中,发现以「社团」为基本单位进行规模式攻击的作弊形式,他们在行为以及设备信息上具有明显的共享性,作弊者之间体现出信息强关联性,我们需要有更好的模型来学习这种「关联性」的能力。
2、样本纯度低导致召回受限:一般获取黑样本的方式是通过人工抽样评估和客诉反馈富集,白样本是按一定的比例随机抽样获得。但是这样做存在一个不好解决的问题,即这些白样本可能混入了未知作弊数据,会使白样本纯度降低,进而影响有监督模型的训练效果。
下面我们介绍图模型算法可以有效解决上面两个问题。
为解决上面提出的两个业务难题,选用图神经网络模型进行业务建模。图模型的优势在于能够同时融入了图的拓扑结构和节点的特征进行学习,不仅可以通过于节点之间建立的边关系,进行信息互联,补充模型对边关系的学习能力,从而扩大召回,而且图模型作为半监督模型,可以更好地利用未标注的数据,提升召回效果。
目前常用的图神经网络模型可以分为两大类:一类是基于图游走的方法,例如random-walk游走类模型;另一类是基于图卷积的方法,例如GCN、GAT以及GraphSAGE等图卷积神经网络模型。GCN从整图的角度出发,打通了原始图结构和神经网络之间的壁垒,但是基于整图的巨大计算量使其在大规模场景应用上遇到瓶颈,而从局部图角度出发的GraphSAGE可以一定程度解决这个问题。另一种常用图模型GAT加入了注意力机制,更多的模型参数在增强了学习能力的同时,也增加了时空复杂度,这使模型训练需要更充分的样本信息以及计算资源。在真实业务场景中,由于样本量规模可控,所以直接选取GCN图算法进行训练,下面简单介绍GCN原理。
GCN是一个多层的图卷积神经网络,每一个卷积层仅处理一阶邻域信息,通过叠加若干卷积层可以实现多阶邻域的信息传递。
每一个卷积层的传播规则如下[1]:
H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) ) H^{(l+1)}=σ(\tilde{D}^{-{\frac 1 2}}\tilde{A}\tilde{D}^{-{\frac 1 2}}H^{(l)}W^{(l)}) H(l+1)=σ(D~−21A~D~−21H(l)W(l))
其中
邻接矩阵 A A A代表了节点的邻居信息的传递,单位矩阵 I N I_{N} IN代表节点自身信息的传递,正因为这样GCN模型既可以学习到节点本身的特征,又可以学习到其与其它节点的关联信息,将自己和邻居节点的信息汇总到一起进行训练学习。
△Pic.4 GCN原理图
△Pic.5 举例说明
图神经网络领域作为研究热点之一,近年来已广泛应用到工业界的各个场景中,并取得了良好效果。
拉新活动场景是活动主要作弊场景之一。以「师徒邀新场景」举例来说,如果师父用户成功邀请徒弟用户成为新用户,则师父用户和徒弟用户都会获得相应的奖励。黑产会使用批量虚假徒弟账号帮助师父完成邀新行为从而获得收益。通过数据统计分析,发现这些虚假徒弟用户存在共享IP、机型重合等现象。据此,尝试以「师父用户」作为图中基础节点,分别将「城市+机型」和「IP+机型」作为边关系进行图模型构建。
由于不是所有共享IP-机型的师父均存在作弊信号,只保留权重大于阈值T的边,达到特征增强的效果。
实验结果表明,GCN算法效果显著,使作弊样本召回率提升42.97%。
从以上实验中可以看出,不同的构图方式会召回不同的作弊群体。如果将在这些群体之间差异信息融合在一起,会不会获得更多的召回呢?于是,尝试找到一种有效的方式,将不同图信息整合到同一个模型中,提升作弊样本召回率。沿着多图融合的思路,提出以下三种方法分别进行实验.
edge_union边融合
将两图融合思路是「图A和图B边混建在同一图中进行训练学习」,以这样的方式将图A&图B包含的信息融合到一起。
△Pic.6 edge_union模型
scgcn-split embedding特征继承
将两图融合思路是「取训练好的图A的embedding表示作为图B的输入特征进行训练学习」,以这样的方式将图A&图B包含的信息融合到一起。
△Pic.8 scgcn-split模型
scgcn串联图合并训练
基于scgcn-split方案,将图A&图B串联起来同时进行训练学习。
△Pic.9 scgcn模型
以下是不同方法在同一数据集上的表现对比结果:
△table 2 模型效果对比
从新增召回量级上角度看,scgcn方法最好,召回了最多的作弊样本;edge_union方法表现较差,其召回量级甚至不如GCN单图。简单分析原因,edge_union方法将不同类型的边合并到同一图结构中,在此过程中未区分边的类型与重要性,相当于将图边同质化,由此损失了一些边信息,从实验结果上看便是损失了一部分召回。与此同时,edge_union模型受到半监督学习场景和样本纯度不足的限制,在节点之间增加了边连接的同时,也有传递错误信息的风险。除以上实验外,也尝试了对embedding层进行concat/max-pool/avg-pool等图融合的方法,这些方法均存在召回损失,说明「并行」图融合的方法无法使模型学习到更多的信息,反而会因信息互斥效应损失召回。相反,「串行」图融合的方法显得更加有效。scgcn-split和scgcn相比于单图模型均有更多的召回,尤其是scgcn模型,将多图参数同时进行训练,可以真正将多图信息融合到一起,召回了比单模型召回并集更多的样本。
相较于传统模型,图模型不仅可以获取节点信息,还可以捕捉节点与节点之间的关系信息。通过于节点之间建立的边关系,进行信息互联,学习到更多的信息,从而扩大召回。在拉新活动反作弊的师徒活动场景中,通过对图算法的应用,使新增召回作弊样本在原有作弊样本基础上增加50%,召回率大幅度提升。
未来还将在以下方向进行进一步探索:
1、从之前的工作中可以看出边关系在图模型学习中产生了重要作用,后续会对边权重进行加工学习,同时也会对节点信息进行补充,通过增加数据信息和有效特征,增强模型的召回能力。
2、随着作弊手段不断升级,作弊形式逐渐由机器操作过渡到真人操作,作弊规模缩小,导致作弊特征稀疏,增加了识别难度。后续将尝试更多的图算法,例如引入注意力机制的GAT[2]模型,可堆叠多层网络的Deepgcn[3]模型等,以提高作弊识别敏感度。
——END——
参考文献:
[1]Kipf, Thomas N., and Max Welling. “Semi-supervised classification with graph convolutional networks.” arXiv preprint arXiv:1609.02907 (2016).
[2]Veličković, Petar, et al. “Graph attention networks.” arXiv preprint arXiv:1710.10903 (2017).
[3]Li, Guohao, et al. “Deepgcns: Can gcns go as deep as cnns?.” Proceedings of the IEEE/CVF international conference on computer vision. 2019.
推荐阅读:
Serverless:基于个性化服务画像的弹性伸缩实践
图片动画化应用中的动作分解方法
性能平台数据提速之路
采编式AIGC视频生产流程编排实践
百度工程师漫谈视频理解
百度工程师带你了解Module Federation