Bootstrap

论文阅读 - RoSGAS: Adaptive Social Bot Detection with ReinforcedSelf-Supervised GNN Architecture Search

论文: RoSGAS:具有增强的自我监督 GNN 架构搜索的自适应社交机器人检测

论文链接:

https://arxiv.org/pdf/2206.06757.pdfhttps://arxiv.org/pdf/2206.06757.pdf

Journals -- CoRR 2022(Computing Research Repository)

        CoRR是arXiv电子服务的一部分。提交给arXiv的文件必须符合康奈尔大学的学术标准。arXiv由康奈尔大学(Cornell University)拥有和运营,这是一家私人非营利教育机构。arXiv由康奈尔大学图书馆和支持的用户机构资助。国家科学基金会资助康奈尔信息科学的研究和发展

目录

摘要

1 绪论

2 问题公式化

2.1 初步研究

        定义 1. 异构信息网络

 定义 2. 网络模式

定义 3. 元路径

 2.2 问题陈述

定义 4. 半监督子图分类

2.3 研究问题

3 方法

3.1 概述

 3.1.1 图构建

3.1.2 基于 RL 的参数搜索

3.1.3 注意力聚合与分类

3.2 强化搜索机制

 3.3 加速模型稳定的最近邻机制

3.4 自监督学习

3.5 参数共享和嵌入缓冲机制

 3.6 将它们放在一起

 4 实验设置

 4.1 软件和硬件

4.2 数据集

 4.3 特征提取

4.4 基线和变化

4.4.1 基线

4.4.2 变体

4.5 模型训练

4.6 评价指标

5 实验结果

5.1 整体效果

5.2 消融研究

5.3 强化学习机制的有效性

5.3.1 RL Agent 的参数搜索结果

5.3.2 不同搜索范围对有效性的影响

5.4 效率

5.5 稳定性

5.7 案例研究:表征学习的有效性

6 讨论

7 相关工作

7.1 基于 GNN 的社交机器人检测

7.2 基于子图和强化学习的方法

7.3 图上的自监督学习方法

8 结论


摘要

        社交机器人被称为社交网络上的自动化账户,它们试图表现得像人类一样。虽然图神经网络 (GNN) 已被大量应用于社交机器人检测领域,但大量的领域专业知识和先验知识正大量投入到最先进的方法中,为特定的目标设计专用的神经网络架构分类任务。然而,在模型设计中涉及过大的节点和网络层通常会导致过度平滑问题和缺乏嵌入区分。

图神经网络的过度平滑:

        图神经网络在训练过程中随着网络层数的增加和迭代次数的增加,每个节点的隐层表征会趋向于收敛到同一个值,即空间上的同一位置,更准确的说,是同一连通分量内的节点的表征会趋向于收敛到同一个值;

        有很多任务的图是连通图,只有一个连通分量,或较少的连通分量,这就导致了节点的表征会趋向于收敛到一个值或几个值的问题;

        over-smooth的现象就是多次卷积后,同一连通分量内所有节点的特征都趋于一致了;

        (1)针对“同一连通分量内的节点”:在当前任务上,是否可以对图进行 cut 等预处理?如果可以,将图分为越多的连通分量,over-smooth 就会越不明显;

        (2)针对“图卷积”:在当前任务上,是否能够使用 RNN + RandomWalk(数据为图结构,边已然存在)或是否能够使用 Attention(数据为流形结构,边不存在,但含有隐式的相关关系)

        (3)由于多次卷积而导致的过度平滑问题,即深度上的拓展所导致的问题。随着图卷积渗透到各个领域,一些研究开始放弃深度上的拓展,选择效仿 Inception 的思路拓宽网络的宽度,通过不同尺度感受野的组合对提高模型对节点的表征能力)

        在本文中,我们提出了 RoSGAS,一种新颖的强化和自监督 GNN 架构搜索框架,以自适应地确定最合适的多跳邻域和 GNN 架构中的层数。更具体地说,我们将社交机器人检测问题视为以用户为中心的子图嵌入和分类任务

        我们利用异构信息网络,通过利用帐户元数据、关系、行为特征和内容特征来呈现用户连接。RoSGAS使用一种多智能体深度强化学习(RL)机制来导航搜索最优邻域和网络层,分别学习嵌入每个目标用户的子图。提出了一种最近邻机制来加速RL训练过程,并在自监督学习的辅助下学习更多的判别子图嵌入

        在 5 个 Twitter 数据集上的实验表明,RoSGAS 在准确性、训练效率和稳定性方面优于最先进的方法,并且在处理看不见的样本时具有更好的泛化能力。

        •计算方法→人工智能;机器学习方法

        附加关键词和短语:图神经网络、架构搜索、强化学习

1 绪论

        社交机器人——由自动化软件控制、模仿人类行为的账户——广泛存在于推特、脸书、Instagram、微博等在线社交平台上,通常带有恶意企图。例如,利益集团或个人可以利用社交机器人来影响政治和经济,例如,通过传播虚假信息和有目的的宣传,大规模地左右民意,通过恶意网站或钓鱼消息[47]窃取个人隐私。这种欺骗和欺诈可以波及到一个巨大的群体,并导致连锁和毁灭性的后果。

        社交机器人已经被研究了很长时间,但由于机器人的快速进化[7]尚未得到很好的解决。2016年以来的第三代机器人,深度混合了人类操作和自动机器人行为,成功地伪装了自己,并通过传统分类器在平台级检测中存活下来[7,9]。猫捉老鼠的游戏仍在继续——当新的工作规避、伪装和对抗技术不断进化以维持威胁和逃避感知时,大量的检测方法出现了,以区分新兴社交机器人和合法用户的隐藏行为。

        图神经网络(GNN)[40] 的最新进展有助于更好地理解异常用户和合法用户之间的隐含关系,从而提高检测效率。基于 GNN 的方法 [6、14、15、17、31、37、50] 将检测过程表述为节点或图分类问题。异构图是通过在计算节点和图的数值嵌入之前从社交网络中提取帐户的元数据和内容信息来构建的。然而,仍有几个相互关联的问题需要解决:

        GNN 架构设计强烈依赖领域知识和人工干预。在大多数现有工作中,嵌入结果本质上是平坦的,因为邻居聚合忽略了与目标节点有关的图结构与其他节点的结构之间的差异(gap 1)当形成的图结构的规模变得巨大时,这将导致最终嵌入之间缺乏确定性的区分。为了解决这个问题,利用子图来探索仅涉及部分节点的局部子结构,这可以获得非平凡的特征和模式[45];然而,基于子图神经网络的方法在设计用于提取子图的规则和用于消息聚合的模型架构时严重依赖经验或领域知识 [3, 29, 35]。这种人工干预极大地阻碍了神经网络模型的精细设计,(该模型可以适应新社交机器人不断变化的变化)。使用固定和细粒度的子图提取规则不够有效 [9, 18]。

        聚合大量邻居时过度同化嵌入。最棘手和要求最高的任务是有效地感知和查明新一代社交机器人的伪装。伪装技术主要包括两个不同的类别——特征伪装和关系伪装。特征伪装被称为机器人窃取良性帐户的元数据并转换为自己的元数据的过程。他们还采用先进的生成技术来创建内容信息[7]。除了模仿合法用户的特征,关系伪装技术还通过不分青红皂白地与合法用户互动并与活跃的良性用户建立友谊来进一步隐藏恶意行为[57]。互动,特别是与影响者的互动,可以大大保护机器人不被检测到。因此,在为目标用户提取子图时,必须在邻域中包含足够多的异构节点,以便可以识别伪装的机器人。同时,区分不同目标用户的子图嵌入,使同一目标用户内的嵌入相似也很重要。然而,过度平滑表示问题将表现出来 [30, 53],因为 GNN 中大量节点的参与往往会在聚合其邻居信息时过度同化节点数值嵌入。(gap 2)

        标记样本不足。大量标记样本可能是在监督模型训练中获得并大量使用的。然而,这种假设在现实世界的社交机器人检测中很难实现。事实上,带有注释标签的用户总是非常有限,或者对足够的标记样本访问有限[21]。这将妨碍监督深度学习模型的精度,特别是导致识别样本外实体(即现有数据集或已建立模型之外的新型社交机器人)的性能较差。(gap 3)

        为了解决这些问题,最新的研究[20,27,52,62,63]采用强化学习(RL)来搜索GNN架构。然而,这种方法有时缺乏普遍性; 确定最佳GNN架构的有效性与特定的数据集紧密相关,通常具有巨大的搜索空间,因此效率较低。它们不适合图结构遵循幂律分布的社交网络网络 [4, 34]。在这种情况下,密集和稀疏的局部图结构并存,不同用户之间存在巨大差异。此外,由于仅将一小部分标记用户作为环境状态,现有的 RL 智能体很难准确地学习状态空间,并且会导致 RL 智能体的收敛缓慢。因此,在没有先验知识和手动规则提取的情况下,为每个目标用户个性化选择模型的子图和 GNN 架构,并设计自动和自适应的子图嵌入以适应不断变化的机器人检测要求,这是非常必要的(gap 4)

        在本文中,我们提出了 RoSGAS,一种基于子图的可扩展增强和自监督 GNN 架构搜索方法,以自适应地提取子图宽度并搜索模型架构以获得更好的子图嵌入,并通过自监督加速 RL 模型收敛学习。具体来说,我们使用异构信息网络(HIN)对社交网络中的实体和关系进行建模,并使用元模式和元路径来定义 HIN 中节点和边的所需关系和类型约束,基于真实的- 社交网络平台中的世界观察。我们将社交机器人检测问题表述为子图分类问题。我们首先提出了一种多智能体强化学习(RL)机制来改进目标用户的子图嵌入。 RL 代理可以开始学习给定目标用户的初始一阶邻居子图的局部结构,并帮助选择最合适的邻居跳数作为子图的最佳宽度。 RL 代理还经过精心设计,以选择最佳模型层数,从而使神经网络非常适合以足够的精度对专用子图进行编码,而不会引入过大的架构和计算开销。然后,我们利用剩余结构尽可能地保留目标用户的特征,从而克服来自大量邻居节点的消息聚合情况下的过平滑问题。在使用 RL 自动进行邻居选择和模型构建的同时,我们还在 RL 的早期阶段开发了一种最近邻机制,以加速所提出的 RL 方法的训练过程。进一步研究了一种自监督学习机制,并将其与 RoSGAS 框架集成,以克服过度同化嵌入的不足。

        自监督模块可以促进更具区分性的表示向量,并有助于增强不同目标用户之间表达差异的能力。实验结果表明,与模型架构的手工设计相比,RoSGAS 在五个 Twitter 数据集上优于最先进的方法,并且可以实现具有竞争力的有效性。

        具体而言,本工作的主要贡献如下:

        首次提出了基于异构信息网络和GNN的无先验知识的以用户为中心的社交机器人检测框架;

        开发了一个自适应框架,利用深度 Q 学习优化子图的宽度和 与每个目标用户对应的子图的GNN 架构层;

        研究了一种加速RL代理训练过程收敛的最近邻机制;

        提出了一种自监督学习方法,使同源子图具有更接近的表示向量,同时在信息聚合后增加非同源子图之间表示向量的差异;

        对模型稳定性给出了明确的解释;

        组织:本文结构如下:第 2 节概述了问题的表述,第 3 节描述了 RoSGAS 中涉及的技术细节。第 4 节描述了实验设置,第 5 节讨论了实验结果。第 6 节给出了更多讨论。第 7 节介绍了相关工作,然后我们在第 8 节结束本文。

2 问题公式化

        在本节中,我们在讨论这项工作的范围和制定目标问题之前介绍 HIN 和信息网络表示;

2.1 初步研究

        在这项工作中,我们遵循 [13、24、36、42] 工作中使用的术语来定义异构信息网络(HIN)嵌入。其目的是将HIN中的不同节点投射到一个低维空间,同时保留异质结构和异质节点之间的关系。

        定义 1. 异构信息网络

        一个异构信息网络(HIN),记为 G = G(V, E, F,R,\varphi,\phi),其中 V 表示节点集,E 表示边集,F 表示节点类型集,R 表示边类型集。在现实世界的设置中,可能有多种类型的节点或边,即 |F|+|R| >2。每个单独的节点 i ∈V 都与一个节点类型映射函数\varphi相关联:V →F;类似地,每个单独的边 e ∈ E 都有一个边类型映射函数\phi:E →R。

        简而言之,现实生活中的信息网络具有不同的结构,这些结构由多种类型的实体和关系组成。关系被称为网络或图形系统中实体之间的链接。例如,图1(a)显示了我们为 Twitter 构建的社交网络 HIN 的一个例子。它包括五种类型的节点(用户、 tweet、评论、实体和 hashtag)和六种类型的关系(写、关注、发贴、回复、 转发 和包含)。

 定义 2. 网络模式

        给定一个 HIN G(V, E, F,R,\varphi,\phi),网络 G 的网络模式(元模式)可以表示为 T(F,R),一个节点类型集 F 和边类型集 R 的有向图。简单来说,HIN 模式全面描述了 HIN 中的节点类型及其关系,并提供元模板来指导节点关系的探索和从 HIN 中提取子图。图 1(b) 举例说明了可以反映实体及其在通用社交网络中的交互的网络模式

定义 3. 元路径

        给定一个元模式 T(F,R),一个元路径 MP,表示为 F_1\overset{R_1}{\rightarrow}F_2\overset{R_2}{\rightarrow}...\overset{R_{l-1}}{\rightarrow}F_l,是T上连接一对网络节点的路径,定义了包含多种关系的复合关系R.

        实际上,元路径描述了节点之间的语义关系。挖掘这种语义关系是后续任务(如分类、聚类等)的基石。如图 2 所示,我们根据社交网络平台的观察,从定义的元模式中提取了五个最有用的元路径.

 2.2 问题陈述

        我们以半监督学习的方式将社交机器人检测问题视为子图分类任务,而不是节点分类任务.

定义 4. 半监督子图分类

        给定目标用户的集合,属于第i个目标用户的子图可以定义为 G ={Vi,Xi,\{E_r\}_{r=1}^R,yi}。 Vi 是子图中节点的集合,包括v_{i0}目标用户本身和邻居 {v_{i1},...,v_{in} } 距离目标用户几跳之内。这些节点是从整个图 G中提取的,由不同的类型组成。每个节点最初都有一个𝑑维的特征向量,X𝑖代表所有节点嵌入的向量集,即X𝑖 ={𝑥𝑖0 , ...,𝑥𝑖𝑛},其中每个元素𝑥∈R。子图中的边可以表示为e_{im,in}^{r} = (v_{im},v_{in}) \epsilon E_r,其中v_{im}和𝑣𝑖𝑛是通过某种关系𝑟∈ {1, ..., 𝑅}连接的。𝑦𝑖∈{0,1}代表目标用户的二元标签。目标用户𝑣𝑖0。0 表示良性帐户,而 1 表示社交机器人。一旦提取了专用子图,接下来的任务就是进行子图二元分类。自适应架构搜索的核心是确定构成整个机器人检测模型的子图宽度 (k) 和模型层的最优值 (l).

2.3 研究问题

        为了实现区分性、高性价比和可解释的子图嵌入,基于 RL 的社交机器人检测面临三个主要研究挑战:

        [Q1] 如何以个性化且具有效益的方式为单个目标用户确定合适的子图大小?

        DNN 构建的主要问题是邻居跳和模型层的选择。事实上,两个相互关联但相反的因素可能会影响检测模型的选择。一方面,更多的跳数和模型层数可以在邻居聚合中涉及更多的节点,包括良性和恶意节点。这有利于检测质量,由于基于 HIN 的数据工程和 DNN 模型训练的连续性使得高阶语义嵌入能够识别社交机器人的隐藏伪装,从而有利于提高检测质量。然而,过度参与会带来时间和计算效率方面的性能问题,更严重的是,会导致通常在大规模图中表现出的过度平滑问题 [30]。另一方面,一小部分相邻节点会忽略节点信息,导致节点嵌入信息较少。为了解决这一困境——平衡竞争精度和高计算效率——在解决邻域同化问题时,关键是自动提取邻域的适当邻居跳数,并堆叠刚好足够的神经网络层,以在检测模型中组装。这需要强化学习过程来正确定义专用策略并优化环境状态和操作的设置。

        【Q2】如何加速强化学习的收敛?

        可以观察到,在训练的初始阶段,学习曲线大幅波动,这种现象会减慢训练过程和模型收敛速度。这是因为在开始阶段,噪声数据可能会占用有限内存缓冲区的很大一部分,从而误导到错误的优化目标。为保证训练效率,需要加强强化学习智能体中的动作探索,加快训练稳定性

        [Q3] 面对有限的标注标签,如何更有效地优化强化学习代理?

        数据标注成本高昂,有时在实际问题解决中很困难。如果仅将一小部分标记用户用作 RL 代理的输入作为环境状态,则无法在所需的时间范围内准确有效地学习状态空间。因此,这将延迟 RL 智能体的优化,并进一步对多智能体训练产生级联影响。因此,这个问题需要一种自我监督的学习机制来优化训练的有效性和效率。

强化学习:

        用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题;

        强化学习可分为基于模式的强化学习(model-based RL)和无模式强化学习(model-free RL);

以及主动强化学习(active RL)和被动强化学习(passive RL);

        求解强化学习问题所使用的算法可分为策略搜索算法值函数(value function)算法两类;

        深度学习模型可以在强化学习中得到使用,形成深度强化学习

        侧重在线学习并试图在探索-利用(exploration-exploitation)间保持平衡;

        强化学习不要求预先给定任何数据,而是通过接收环境对动作的奖励(反馈)获得学习信息并更新模型参数,由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。通过这种方式,RLS在行动-评价的环境中获得知识,改进行动方案以适应环境;

        Agent选择一个动作用于环境,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使受到正强化(奖)的概率增大。选择的动作不仅影响立即强化值,而且影响环境下一时刻的状态及最终的强化值。

         每一个自主体是由两个神经网络模块组成,即行动网络和评估网络。

        行动网络是根据当前的状态而决定下一个时刻施加到环境上去的最好动作;对于行动网络,强化学习算法允许它的输出结点进行随机搜索,有了来自评估网络的内部强化信号后,行动网络的输出结点即可有效地完成随机搜索并且大大地提高选择好的动作的可能性,同时可以在线训练整个行动网络。

        用一个辅助网络来为环境建模,评估网络根据当前的状态和模拟环境用于预测标量值的外部强化信号,这样它可单步和多步预报当前由行动网络施加到环境上的动作强化信号,可以提前向动作网络提供有关将候选动作的强化信号,以及更多的奖惩信息(内部强化信号),以减少不确定性并提高学习速度。   

        进化强化学习对评估网络使用时序差分预测方法TD和反向传播BP算法进行学习,而对行动网络进行遗传操作,使用内部强化信号作为行动网络的适应度函数。

3 方法

        在本节中,我们将介绍如何通过强化学习的自适应 GNN 架构搜索来设计社交机器人检测框架。我们首先介绍子图嵌入的基本过程(第 3.1 节)。针对 [Q1],我们引入了强化学习增强架构搜索机制(第 3.2 节)。为了解决 [Q2],我们提出了一种最近邻机制(第 3.3 节)来加速强化学习的收敛过程。在我们介绍如何解决参数爆炸和概述整体算法工作流程(第3.5节和第3.6节)之前,我们讨论了自监督学习方法(第3.4节)来解决[Q3]。

3.1 概述

        图 3 描述了 RoSGAS 执行子图嵌入的整体架构。该工作流程主要由三部分组成:图预处理和构建、基于 RL 的子图嵌入和图节点之间的最后阶段注意力聚合机制,然后输入最终分类器以确定社交机器人的存在。为了帮助讨论,表 1 描述了整篇论文中使用的符号。

 

 3.1.1 图构建

        最初,特征提取模块将原始信息转换为异构图。异构图中节点之间的边是基于账户在社交网络平台中的好友关系和交互建立的。我们以与 [56] 类似的方式检索每个帐户的元特征和描述特征作为其初始节点特征。使用 NLP tool(https://github.com/explosion/spaCy) (spaCy 带有预训练的管道,目前支持 60 多种语言的标记化和训练。它具有用于标记、解析、命名实体识别、文本分类等的最先进的速度和神经网络模型,使用 BERT 等预训练转换器进行多任务学习,以及生产就绪的训练系统和简单模型打包、部署和工作流管理,仅提供底层文本处理功能。 spaCy 是商业开源软件,在 MIT 许可下发布。)从原始推文中提取额外的推文特征和实体

        每种类型节点的特征组成可能会有所不同。对于用户节点,从用户元数据中提取状态、收藏、列表等特征;

        对于推文节点,我们通常提取转推数和回复数,同时将推文内容嵌入到 300 维向量中,并将它们连接在一起作为它们的原始特征

        同样,我们将主题标签和实体的内容嵌入到 300 维向量中;

        为了简化特征提取和处理,将每个节点类型的特征向量设置为326维。那些尺寸不足的用零填充。更多细节将在第 4.3 节中给出。

        为了在给定语义下细化异构图,我们通过在原始图上强制执行元路径来进一步进行图预处理,并且只有符合给定元路径的实体和边才会保留在图结构中。

        如图 2 所示,我们提取了五个在社交图中被广泛认可的元路径,它们代表了 2.1 节中定义的元模式中的大多数典型行为。主要目的是大规模减少图中的信息冗余,从而大大提高计算效率。

        转换后的图将进一步用于为目标用户提取子图,然后将子图输入到下游任务中,包括数值嵌入和分类。

3.1.2 基于 RL 的参数搜索

        参数选择的主要目标是为目标用户集合 D 中的每个目标用户与用户确定适当的子图宽度 (k) 和模型层数 (l)。简而言之,对于每个目标用户,我们以它为中心节点,首先提取一个固定宽度(例如,1 跳)的子图 Gi 作为初始子图。然后,我们将子图编码到嵌入空间中,并将嵌入视为环境状态,然后再将其输入强化学习代理。更具体地说,第i个目标用户的嵌入表示可以通过使用编码器(例如,平均编码操作,和编码操作等)获得:

  h_jv_j的特征表示,v_j是i的邻居节点

        嵌入改进的核心是 RL 代理。初步编码结果将依次输入 RL 代理中的策略 \widetilde{\pi }_1\widetilde{\pi }_2\widetilde{\pi }_1负责选择合适的子图G'i宽度,而̃\widetilde{\pi }_2负责为目标用户v_{i_0}确定最合适的层数。具体模型层的类型可以从 GCN [26]、GAT [48] 和 GraphSAGE [23] 等最流行的模型中选择。

        一般来说,强化学习的目标是最大化预期的准确率:

 

         关于学习过程的更多细节将在章节3.2中讨论。

         为了校准子图嵌入,我们可以聚合k -hop 邻居并使用不同层堆叠模型。然而,来自堆叠 GNN 模型的聚合会模糊目标用户在子图嵌入中的原始可检测特征。为了缓解这个问题,我们应用残差网络聚合目标节点的输入特征以及模型最后一层提供的相应嵌入

         L是堆叠 GNN 模型的最后一层。然后我们可以应用池化操作(例如,平均、求和等)将子图 Gi 整合到一个超级节点中:

3.1.3 注意力聚合与分类

        我们采用一种注意力机制将属于相关邻居的子图的影响整合到最终嵌入中: 

         a_{ij}其中是注意力系数,W \epsilon R^{d_L * d_l}是权重矩阵,K是独立注意力的数量。z_i是用于检测目标用户是否是社交机器人的最终嵌入。

        最终,机器人分类器消化学习到的向量嵌入来学习分类模型,并确定给定的社交用户行为是正常还是恶意。可以采用包括随机森林、逻辑回归、SVM 等在内的通用技术来实现分类器。

3.2 强化搜索机制

        在本小节中,我们将介绍如何通过搜索机制获得最优策略̃\widetilde{\pi ^*}_1和̃\widetilde{\pi ^*}_2。最优的̃\widetilde{\pi ^*}_1和̃\widetilde{\pi ^*}_2的学习过程可以表述为马尔可夫决策过程(MDP)。RL代理会断断续续地与环境相互作用,其中每个情节持续T个步骤。MDP包括状态空间、行动空间、奖励以及将当前状态和行动映射到下一状态的转移概率。

        状态空间。在每个时间戳t中,状态s_t被定义为从 G 中提取的子图的嵌入。;

        行动空间。由于我们需要两个策略来分别确定子图的最佳宽度和模型层的最佳数量,因此时间步t的动作由对偶子动作(a_t^{(1)}a_t^{(2)})组成。集成在我们提出的框架 RoSGAS 中的 RL 代理执行动作 a_t^{(1)}来获取 K的值,并执行动作a_t^{(2)}来获取l的值。例如,在时间步t选择a_t^{(1)}来重新提取目标用户v_{i_0}的子图。然后我们计算该子图中从目标用户v_{i_0} 到其他目标用户的可达路径数作为连接强度。对于包含在集合 D(目标用户集) 中但从该子图中排除的那些目标用户,连接值将设置为 0。对这些值执行 L1 归一化作为从目标用户到其他目标用户的可达概率。在时间步t选择某些动作 (a_t^{(1)} ,a_t^{(2)}) 后,RL 环境形成概率分布P_i.

        转移。该概率P_i用作强化学习环境的状态转移概率。任何其他目标用户的子图嵌入用作下一个状态s_{t+1}。所提出的 MDP 的整个轨迹可以描述为 (s_0,(a_0^{(1)},a_0^{(2)}),r_0,...,s_{T-1},(a_{T-1}^{(1)},a_{T-2}^{(2)}),r_{T-1},s_T)

         奖励。我们需要评估搜索机制在当前时间步t中是否足够好。换句话说,它反映了当前 RL 代理中的参数是否能够达到比前一个时间步骤t-1中的参数更高的精度。为了做到这一点,我们首先定义一个度量来标记与以前的时间步骤相比,模型准确性的提高:

        其中b是一个超参数,表示比较中涉及的历史结果的窗口大小,ACC(s_i,a_i) 是在时间步i上验证集上子图分类的准确度反映最近时间步长窗口的平均准确度。 训练 RL 代理不断优化参数以提高准确性并相应地获得积极的回报。这将在有限时间步内产生累积奖励并最终实现最优策略.

        我们使用结合上面那条等式的二元奖励r_t来导航训练方向,如下所示:

         如果与前一个时间步t-1相比可以增加R,则该值设置为1;否则将设置为-1

         终止。状态-动作值可以通过贝尔曼最优方程来近似:

         尽管如此,为了提高训练速度和稳定性,我们将在第 3.3 节介绍一种增强的近似方法。我们利用 \varepsilon-greedy 策略来选择关于 Q*(状态-动作对值) 的动作并获得策略函数\pi

 3.3 加速模型稳定的最近邻机制

         传统上,在每个时间步t, RL 代理使用其预测网络来确定状态-动作对的值,以选择最佳动作以最大化未来的累积奖励。受 [41] 的启发,我们应用最近邻机制来辅助和加速 RL 代理的训练过程.该方案背后的直觉是,当 RL 代理观察到相似或相同的状态-动作对时,环境极有可能产生相似的奖励值。换句话说,状态-动作对之间的距离可以表明它们的相对奖励值。因此,我们的目标是通过结合 Q 网络(即预测网络)估计的奖励和现有相似对的奖励来找出相似的状态-动作对,并确定当前状态-动作对的奖励。这意味着模型训练同时受益于RL环境和预测网络,可以促进动作探索和加速训练的稳定。

         为了考察和记录历史行动,我们建立了一个观察经验集𝐵={𝜏1,...,𝜏𝑛};𝐵中的每个元素𝜏𝑖代表一对探索状态𝑠𝑖和相应的选择行动𝑎,即(𝑠𝑖,𝑎𝑖)。在记录动作-状态对的同时,我们还记录了相应的值标签 {(Q(\tau _i))} ⊆ R。我们使用距离函数——例如使用余弦来计算相似度——来测量探索的状态-动作对与传入的状态-动作对。我们使用距离来确定要从记录的状态-动作对估计的状态-动作对的最近邻居。随后,可以使用最近邻的值标签来估计状态-动作对的值:  

         其中 \widehat{Q}(\tau )\tau的估计值,L 是校正估计误差的参数;

        我们将最近邻机制估计的 \widehat{Q}(\tau ) 和目标网络估计的Q(s_t,a_t,\Theta ^{target})组合成一个新的估计值\widehat{Q}(s_t,a_t)

         其中a是一个指数衰减的权重参数,\widehat{Q}(\tau _t)是通过使用最近邻搜索机制的 \tau _t = (s_t,a_t)的估计值。实际上,a用于辅助 RL 的早期优化,并在训练过程向前推进时逐渐降低所提出的最近邻机制的影响。为了实现这一点,我们设置a = a_0 \cdot (1 - \beta )^k,其中a_0∈(0,1]是初始权重;\beta∈(0,1)是衰减率,k是情节数。然后我们定义RL损失函数作为:

        其中 \Theta ^{pred} 是 DQN 代理的预测网络的参数,\Theta ^{target} 是目标网络的参数。 

3.4 自监督学习

        为了更好地区分图之间的子图表示,我们提出了一种对比自我监督学习方法,以最大化两个不同块之间的差异,而不依赖于人工注释的数据样本。自监督学习的任务(也称为借口任务)是最小化正样本之间的距离,同时最大化负样本之间的距离。 

         在这项工作的上下文中,属于同一用户的所有子结构(例如,具有 1 跳邻居或 2 跳邻居的子图)应该具有相似的表示向量。属于两个不同目标用户的子图应该具有区分嵌入。

        一般来说,给定子图 G_i = \{V_i,X_i,\{E_r\}|_{r=1}^R,y_i\},自监督学习任务的损失 L_{pretext} 可以定义如下:

         其中 g_i是提取的子图 G_i的堆叠 GNN 编码器,y_{pretext_i}表示由特定自监督借口任务获取的子图 G_i 的基本事实。

        实际上,关键步骤是在我们的自我监督借口任务中生成正样本。在RL算法输出目标节点的自定义宽度值k后,我们随机选择一个̄ k ∈ [1,K]! = k 作为新子图 G'i 的宽度,以服务于原始子图 Gi 的新正样本。 同时,我们从目标用户集 D 中随机选择目标用户,直接使用学习值k直接提供负样本对应对象。

        我们使用堆叠的 GNN 编码器g_i和提出的 RL 管道进行特征提取和汇总,并分别获得子图 Gi、G'i、̄Gi 的最终子图嵌入 z_i,z'_i,\overline{z}_i。然后我们使用margin Triplet loss进行模型优化,得到能够很好区分正负样本的高质量表示。损失函数定义如下:

         \epsilon是边际值.

        借口任务的损失函数将作为 RoSGAS 的优化目标并入整体损失函数中。由于不同子图之间可能存在许多重叠节点,特别是在大规模社交图谱中,采用损失函数可以有效避免正负样本之间的过度区分,防止表示性能下降。

3.5 参数共享和嵌入缓冲机制

        为每个单独的目标用户定制的模型构建将导致大量的训练参数。我们使用以下两种方案来缓解这个问题。

        参数共享:我们首先确定一个最大的基础层数来初始化模型,然后按照初始化顺序在每个时间步中根据 RL 代理的输出重复堆叠这些层的全部或部分。这样可以避免训练大量的模型参数。

        嵌入缓冲区:我们将相关子图的嵌入缓冲为批处理,在每个时间步中执行a_t^{(2)},以减少嵌入传递的不必要操作。一旦缓冲空间接近指定的批大小,将利用a_t^{(2)}获得的层数,并采用缓冲嵌入触发模型重建。一旦GNN模型训练结束,我们就清理缓冲区空间,以确保在后期可以重新填充缓冲区。

 3.6 将它们放在一起

        算法 1 总结了提议的 RoSGAS 的整体训练过程,包括子图嵌入的初始化和通过提议的 RL 过程进行的后续架构搜索。具体来说,我们首先根据第 2.1 节中的定义构建社交图,然后使用最大层数L和两个 RL 代理的参数初始化 GNN 模型(算法第 1 行)。在训练阶段,我们随机抽取一个目标用户并将其 K_{init}-hop 子图嵌入为初始状态 s_0(第 2-4 行)。之后,在每个时间步,选择一个动作对来指示子图的宽度k和目标用户的 GNN 层数l(第 6 行)。

        然后我们重新提取子图 G't ,将 G't 和 a_t^{(2)} 表示的值存储到缓冲区 B 中(第 7-9 行)。一旦 G't 的数量达到阈值 ,我们将 GNN 模型与 a_t^{(2)} 层堆叠,并为 B 中的第b个目标用户生成正负对。然后我们与自监督学习一起训练模型第 3.4 节(第 11-15 行)中描述的机制。在堆叠 GNN 模型训练之后,我们在验证数据集上对其进行验证以获得奖励(第 18 行)并将相应的转换存储到内存 M(1) 和 M(2) 中(第 20-21 行)。

         为了优化 \pi _1,我们从 M(1) 中获取批量转换。对于特定的转移 T_t^{(1)} = (s_t,a_t^{(1)},s_{t+1},r_t),我们使用 Q 网络为状态s_{t+1}选择最佳动作 a_{t+1}^{(1)},并使用目标网络估计目标值

         然后我们使用最近邻机制搜索状态-动作对 (s_t,a_t^{(1)}) 的最近邻,并将其奖励值添加到 Q^{target}的值上,以获得新的目标值\widehat{Q}(s_t,a_t)

        然后我们可以通过 Eq.12 优化\pi _1 。此方法也适用于优化 \pi _2(第 22-24 行)。最终,我们在训练好的策略 \pi _1\pi _2(第 26 行)的帮助下重新训练 GNN。每个目标用户的最终嵌入将由最后一个注意力层产生并用于下游分类任务 .

         我们在 Eq.13 中结合了 GNN 的损失函数和自监督损失 L_{pretext}。 RoSGAS 的损失 L定义如下:

        其中第一项表示交叉熵损失函数,∥ Θ∥2 是 GNN 模型参数的 2-范数,\lambda是加权参数。MLP将嵌入维度减少到类别数 .

 4 实验设置

 4.1 软件和硬件

         我们使用 Pytorch 1.8.0、Python 3.8.10、PyTorch Geometric [19] 和稀疏矩阵乘法实现 RoSGAS。所有实验均在配备 NVIDIA Tesla V100 GPU、2.20GHz Intel Xeon Gold 5220 CPU 和 64GB RAM 的服务器上执行。操作系统是 Ubuntu 16.04.6。为了提高训练效率并避免过度拟合,我们采用小批量技术来训练 RoSGAS 和其他基线.

4.2 数据集

        我们基于五个公共数据集为实验构建异构图。这些数据集的详细描述如下:

        Cresci-15 [8] 包含两种类型的良性账户,包括 a) TFP,来自研究人员、社交媒体专家和记者的账户集的混合,以及 b) E13,一个由特别活跃的意大利 Twitter 用户组成的账户集。从三个不同的 Twitter 在线市场收集了三种类型的社交机器人,称为 FSF、INT、TWT;

        Varol-17 [47] 在 2015 年的三个月内收集了 1400 万个 Twitter 帐户。根据给定的规则对 3000 个帐户进行抽样和选择。然后将这些帐户手动注释为良性帐户和机器人帐户;

        Vendor-19 [55] 包括来自多家公司的虚假追随者的集合。为了创建良性账户和机器人账户的混合,我们将 Vendor-19 与仅包含良性账户的 Verified [56] 混合;

        Cresci-19 [32] 包含与意大利转推相关的帐户,收集于 2018 年 6 月 17 日至 30 日之间;

        Botometer-Feedback [55] 源于社交机器人检测器 Botometer。数据集包含基于 Botometer 反馈的手动注释帐户;

        这些数据集的统计数据如表2所示。每个数据集中每类标记节点的数量基本平衡。

 4.3 特征提取

        上面的原始数据集仅包括年龄、昵称等元数据以及社交帐户的发布推文。然而,这些信息不足以构建有效子图嵌入所需的异构图。

        这些公开发布的数据集最初包括社交账户的元数据(例如账户的年龄、昵称)和账户发布的推文数据。由于这些公开数据不足以构建我们设计的异构图,我们使用twitter API进一步爬取获取原始账号好友和关注者的元数据和推文数据。

        我们通过图2中提到的多种关系将这些节点组成一个巨大的异质社会图。然后,我们使用NLP工具包spaCy来提取名称实体,并将其作为异质图中的一种节点类型。

        此外,我们提取了异构图中每种类型节点的原始特征向量,并进一步探索了以下信息作为附加特征:

        账户节点:我们通过预训练的语言模型 Word2Vec 将账户元数据的描述字段嵌入到一个 300 维的向量中。我们还根据 [56] 提取了一些有助于机器人检测的特征,例如状态、收藏夹和列表字段。我们将关注者数量和好友数量作为账户的关键特征,因为关注者和好友数量是最能代表一个 Twitter 用户的,使用它们可以更有效、更准确地描述一个 Twitter 用户。此外,我们将这些数字除以用户帐户生命周期(即帐户创建以来的年数),以反映帐户整个生命周期中的变化。我们还使用布尔值来标记包括 default_profile、profile_use_background_image 和 profile_use_background_image 在内的字段,计算 screen_name、name 和 description 字段的长度以及 screen_name 和 name 字段中的位数。我们将所有这些值组合为原始节点特征。

        推文节点:我们通过预训练的语言模型 Word2Vec 将原始推文的文本嵌入到 300 维向量中。除了原来的节点特征,我们进一步结合了额外的信息——转发数量、回复数量、收藏数量、原始推文的提及数量、标签数量和参与的 URL 数量推文

        标签和实体节点:我们还将标签和实体的文本嵌入到 300 维向量中。如果维度数小于 300,我们使用零填充空白孔;

        每个数据集构建的图包含数百万条边和节点,大大增加了社交机器人检测任务的难度。值得注意的是,数据集中的大多数样本都没有标记,即超过 99% 的样本没有注释。

4.4 基线和变化

4.4.1 基线

        为了验证我们提出的 RoSGAS 的有效性,我们与各种半监督学习基线进行了比较。因为这些基线将在非常大规模的图上运行,为了确保在有限的计算资源上进行训练和推理,我们使用对稀疏矩阵乘法进行计算的 PyG [19] (基于 PyTorch 几何的快速图形表示学习)来实现这些基线。有关这些基线的详细信息如下所述:

        Node2Vec [22] 建立在 DeepWalk 之上,并引入了两种额外的有偏随机游走方法,BFS 和 DFS。与没有任何指导的随机游走相比,Node2Vec 设置不同的偏差来指导 BFS 和 DFS 之间的随机游走过程,同时代表结构等价性和同质性;

        GCN [26]是谱图卷积方法的代表。它利用切比雪夫多项式的一阶逼近实现了一种有效的图卷积结构。GCN 可以直接对图进行卷积运算;

        GAT [48] 是一种半监督的同构图模型,它利用注意力机制来聚合图节点的邻域信息。 GAT 使用自注意力层来计算边缘的重要性,并为邻域中的不同节点分配不同的权重。 GAT 还采用了多头注意力来稳定自注意力的学习过程。

        GraphSAGE[23]是一种具有代表性的非谱系化方法。对于每个节点,它对该节点的不同跳数的邻居进行采样,并聚集这些邻居的特征来学习该节点的代表性。GraphSAGE提高了GNN的可扩展性和灵活性。

        GraphSAINT [59] 是一种基于图采样的归纳学习方法。它对子图进行采样并对其执行 GCN 以克服邻居爆炸问题,同时确保无偏性和最小方差。

        SGC [51] 是一个简化的图卷积神经网络。它通过反复消除 GCN 层之间的非线性并将结果函数压缩为单个线性变换来减少 GCN 的过度复杂性。与 GCN 相比,这可以确保具有竞争力的性能,并显着减小参数的大小。

        ARMA [5] 是一种非线性且可训练的图滤波器,它基于多项式滤波器泛化卷积层。 ARMA 可以为 GNN 提供增强的建模能力;

        Policy-GNN [27] 是一个元策略框架,它自适应地学习聚合策略以对不同节点的聚合的不同迭代进行采样。它还利用用于批量训练的缓冲机制和用于降低训练成本的参数共享机制

4.4.2 变体

        我们生成了完整 RoSGAS 模型的几个变体,以更全面地了解每个模块在整体学习框架中的工作方式,并更好地评估每个模块如何单独为性能改进做出贡献。 RoSGAS主要包括三个模块:强化搜索机制、最近邻机制和自监督学习。我们选择性地启用或禁用其中的某些部分以进行消融研究:

        这些变化的细节描述如下:

        RoSGAS-K:此变体仅启用增强搜索,无需任何其他模块的帮助,以找出每个目标用户v_i的子图的宽度(k)。由于构建的社交图的规模巨大,搜索范围将被限制在[1,2],以防止邻居爆炸。然而,这样的搜索范围可以灵活定制以适应任何其他场景和数据集。在此模型变体的上下文中,层数固定为l = 3;

         RoSGAS-L:此变体仅打开增强搜索机制,用于精确定位层数(l)以为每个目标用户v_i堆叠 GNN 模型。搜索范围将被限制在 [1,3] 以节省计算资源。子图的宽度固定k=2;

        RoSGAS-KL:此变体在针对每个目标用户的强化搜索机制中启用子图宽度搜索和层搜索。在这个模型变体中,宽度设置为 k∈ [1,2],而 GNN 模型的层数设置为 l∈ [1,3];

        RoSGAS-KL-NN:此变体利用强化搜索机制以及最近邻机制。在 RL 代理的优化过程中,最近邻模块可以尽快稳定 RL 早期阶段的学习,加速模型收敛

        RoSGAS 包含学习框架中的所有模块。在 RoSGAS-KL-NN 上额外补充了自监督学习机制

4.5 模型训练

        我们使用以下设置:嵌入大小(64)、批量大小(64)、RoSGAS 的基础层(GCN)、学习率(0.05)、优化器(Adam)、L2 正则化权重(\lambda _2 = 0.01)和训练轮数(30)。如第 4.4.2 节所述,我们将搜索 GNN 层的动作(范围)设置为 1 到 3,将子图宽度搜索的动作(范围)设置为 1 到 2,以防止 DQN [33] 的邻居爆炸。

        agent的训练次数被设定为20次,我们用64、128、256、128、64个隐藏单元构建5层的MLP。我们使用从验证集获得的准确度来选择最佳 RL 代理,并将性能与测试集中的其他模型进行比较。至于最近邻机制,我们设置(L=7),初始\alpha _0=0.5

4.6 评价指标

        由于使用的几个数据集中标记的良性账户和恶意账户的数量非常平衡,我们利用准确度来表示分类器的整体性能:

         其中TP是真阳性,TN是真阴性,FP是假阳性,FN是假阴性。

5 实验结果

        在本节中,我们进行了几个实验来评估 RoSGAS。我们主要回答以下问题:

        Q1:不同算法在不同场景下的表现如何,即算法有效性(5.1节)

        Q2:RoSGAS 的每个单独模块对整体有效性的贡献(第 5.2 节)

        Q3:RL 搜索机制在有效性和可解释性方面如何工作(第 5.3 节)

        Q4:不同算法能达到多快,即效率(第 5.4 节)以及 RL 算法如何有效收敛(第 5.5 节)

        Q5:在处理以前看不见的数据时,不同的算法如何执行,即泛化(第 5.6 节)

        Q6:如何探索检测结果并可视化高维数据(5.7节)

5.1 整体效果

        在本节中,我们进行实验以评估社交机器人检测任务在五个公共社交机器人检测数据集上的准确性。我们报告了基线、RoSGAS 和变体的最佳测试结果。我们对每个数据集进行了 10 倍交叉验证。如表 3 所示,RoSGAS 在所有情况下都优于其他基线和不同的变体。

        这表明 RoSGAS 在更广泛的社交机器人检测场景中的可行性和适用性。与所有现有技术中最好的结果相比,我们的方法在 Cresci-15、Varol-17、Vendor-19、 Cresci-19 和 Botometer-Feedback的数据集上可以实现 3.38%、9.55%、5.35%、4.86%、1.73% 的准确度提升。

        在基线中,Node2Vec 总是在大多数数据集中表现最差。这是因为 Node2Vec 通过设置一个概率 p 在 BFS 和 DFS 策略之间切换来控制随机游走过程。

        Node2Vec 在结构极其复杂的大规模社交图谱中,有时无法获取相邻节点的相似度,也没有很好地利用节点特征。 GraphSAGE 对每个节点的聚合邻居信息进行采样。这种设计不仅可以减少信息冗余,还可以通过随机性增加模型的泛化能力。然而,所提出的随机抽样不适用于超大规模图,并且无法适应感受野的变化,极大地限制了其性能。 GCN将归一化的邻接矩阵与特征矩阵相乘,再与可训练的参数矩阵相乘,实现对全图数据的卷积运算。然而,通过全图卷积操作获得一个节点的全局表示向量将大量降低模型的泛化性能。同时,感受野的增加会导致邻居数量的激增,从而削弱特征表示的能力。 GAT 共享权重矩阵进行节点特征变换,然后计算一个节点对另一个相邻节点的重要性,然后通过加权乘积和求和聚合中心节点的输出特征向量。GAT 也经历了感受野的爆炸和随之而来的邻居数量的增加。与 GraphSAGE 不同,GraphSAINT 设置了一个采样器来从原始图中采样子图。它使用 GCN 在子图上进行卷积以解决邻居爆炸问题,并设置采样概率以确保无偏性和最小方差。然而,在 GraphSAINT 中提取子图是随机的,因此限制了子图嵌入的精度。SGC 通过重复消除 GCN 层之间的非线性并将结果函数折叠成单个线性变换来简化传统的 GCN。即去掉每一层之间的非线性激活函数,得到一个线性模型。与 GCN 相比,SGC 可以实现相似的性能,但在所有数据集之间的准确度略有下降。此外,RoSGAS 也优于 Policy-GNN 和 ARMA,因为这些对应物仅对卷积层进行了独家改进。相比之下,我们的方法利用了子图搜索和 GNN 架构搜索,同时利用自我监督学习来克服有限标记样本的限制。即使仅基于基本的 GCN 层,这些功能也可以实现更好的性能。

5.2 消融研究

        表 3 的后半部分还比较了多个变体的性能,以展示如何将性能增益分解为不同的优化模块。

        虽然 RoSGAS- K 仅使用 RL 代理进行子图宽度搜索,但在某些数据集(例如 Varol-17、Cresci-19 和 Botometer-Feedback)中,所取得的效果与最先进的技术相比具有竞争力。 RoSGAS- L仅启用架构搜索甚至可以在大多数数据集中实现比其他基线更好的准确性,除了 vendor-19 数据集。这些观察结果与 RL 能力提供的增强相一致。从本质上讲,将搜索机制放在一起将为有效性带来协同效益。特别是对于数据集Vendor-19,宽度搜索和层搜索的结合可以显著地使RoSGAS从其他同行中脱颖而出,平均达到87.84%的准确性。

        我们还可以观察到,层搜索对性能增益的贡献似乎比宽度搜索更重要。这是因为嵌入有效性对邻居选择不太敏感,而 GNN 层数可以更有效地影响整体有效性。增加的层可以使离目标节点更近的节点更频繁地聚合,形成目标节点的嵌入。同样,远离目标节点的节点将较少参与嵌入。因此,启用 GNN 层搜索可以获得增强的嵌入有效性。这些发现表明联合搜索子图宽度和 GNN 层数以释放性能优化的全部潜力的必要性。

        如 RoSGAS-KL-NN 的结果所示,将最近邻机制与搜索机制相结合可以进一步提高 RL 代理学习过程中的性能增益。最值得注意的是,在处理 Varol-17 数据集时,最近邻设计可以将准确度从 68% 大幅提高到 75%。即使在某些情况下,改进不如 Varol-17 显着,但相似性驱动的最近邻方案可以促进 RL 代理中的动作探索,从而有助于提高准确性。此外,我们展示了采用所提出的自我监督学习机制带来的性能提升。跨所有不同的数据集,尽管在某些数据集中观察到边际增量,但可以进一步实现高达 0.7% 的改进。需要进一步研究以更好地利用大量未标记数据并增强自监督分类器在不同场景中的泛化能力。这超出了本文的核心范围,将留待以后研究。

5.3 强化学习机制的有效性

5.3.1 RL Agent 的参数搜索结果

        为了深入研究 RL 搜索机制的有效性,我们从 Cresci-15 数据集中随机选择 20 个标记节点作为目标用户,并在采用 GNN 层的某些给定情况时检查其准确性

        例如,我们通过手动堆叠 1 层 GCN、2 层 GCN 和 3 层 GCN 来创建 3 种类型的 GNN 模型。我们将之前测试中使用的相同图形数据输入三个模型并训练 100 次。

        训练后的模型用于验证 RL 是否可以为所选节点获得最合适的层数。对于 20 个目标用户中的每个节点,我们计算 100 次运行中被正确分类的比率。本次调查的主要目的是检查基于 RL 的机制是否可以选择具有最高分类率的层,以自动启用最佳模型性能。

        图 4 显示了使用不同层时每个目标节点获得的比率。可以观察到,不同的 GCN 层对某个节点的正确预测有不同的影响。例如,其他节点(例如节点索引 2、4、5、11、12、13 和 18)的预测有效性将受到 GNN 层数的显着影响。我们推断这种现象是因为随着层数的增加,GNN 的感受野范围会逐渐增加;同时,更高阶的邻居信息将被涉及和聚合,从而直接影响检测精度。

 (进行架构搜索时的每节点预测有效性。下划线表示 RoSGAS 中的 RL-agent 为每个节点选择的层数)

        相比之下,无论从具有不同顺序的邻居聚合什么信息,都可以更好地预测某些节点(例如节点索引 6、8、9、15、16 和 19)。因此有必要精心选择这些节点的 GNN 层数,以增加这些节点的正确预测概率

        我们使用下划线(例如 0.92)来标记 RL 代理在搜索模型层时做出的最终决定。所提出的 RL 代理可以选择能够提供最高预测率的最佳层。最佳层选项与 RL 代理做出的选择之间只有 10%(20 个分类任务中的 2 个)不匹配。这表明所提出的方法可以有效地减少手动调整,同时达到最佳效果。

5.3.2 不同搜索范围对有效性的影响

        我们深入研究了参数选择对整体有效性的影响,并展示了对此类参数变化的敏感性。为此,我们首先将图神经网络的搜索层数的最大搜索范围固定为 3,同时逐渐将子图宽度的搜索范围从 1 增加到 3。如图 5(a) 所示,对于所有数据集,无一例外,当宽度的搜索范围扩大到 2 时,所有模型实例的准确率都有所提高,但当范围进一步扩大到 3 时,准确率略有下降。这是因为宽度范围的增加将导致提取的子图中涉及的邻居数量急剧增加。特别是在大规模数据集中构建的图的规模通常很大,会导致邻居爆炸,进而导致图嵌入质量下降和准确性降低。这一观察表明,提取子图的搜索范围需要仔细修改并适应给定场景的规模

 (子图宽度和层数搜索上限对有效性的影响)

            鉴于采用[1,2]作为宽度范围可以稳定地获得最佳结果,我们然后修复此设置并改变模型层数的搜索范围。我们逐渐将范围的上限从 2 提高到 5。如图 5(b) 所示,不同选项之间的有效性没有显着差异。尽管有一些明显的变化,但有效性对模型层的变化不敏感。例如,在CRESCI-15数据集中,选择4作为搜索范围的上限时,模型精度将达到峰值,而对于Vendor-19,精度峰将在搜索多达3层时出现。尽管如此,准确性的差异可以忽略不计,并且所提出的基于 RL 的搜索机制可以更灵活、更自适应地做出最佳决策,以确保最佳模型性能,而不会在探索额外的 GNN 层时产生过多的成本。

5.4 效率

        我们主要通过测量训练时间来评估效率。由于在构建 GNN 堆栈之前需要从验证数据集中获得奖励信号来训练 RL 代理,我们将时间消耗分为两部分 - RL 和 GNN 模型训练。值得注意的是,PyTorch Geometric 中使用的稀疏矩阵乘法可以使 GNN 应用于非常大的图并加速模型训练。

        表 4 显示了每个模型运行 10 次的平均时间消耗。总体而言,RoSGAS 可以在训练时间和有效性之间取得平衡。尽管 ARMA 和 SGC 通过消除非线性和折叠连续层之间的权重矩阵来简化 GCN 模型,因此训练模型所需的时间更少,但在所有数据集上实现的准确度远低于 RoSGAS,尤其是在标签的 Cresci-19 上比较稀缺。 Policy-GNN 模型训练的时间最长,仅仅是因为 GNN 的堆叠和卷积操作将针对整个图中的所有节点进行

 (分别在数据集Cresci-15、Varol-17(Varol)、Vendor-19(Vendor)、Cresci-19、Botometer-Feedback(Botometer-F)上运行每种方法10次的平均耗时(单位:秒) )

        最值得注意的是,与 GCN、GAT 和 GraphSAINT 相比,不包含最近邻机制和自监督学习机制的变体 RoSGAS- KL 可以实现具有竞争力的训练效率,仅增加了边际时间。考虑到 RoSGAS- KL 需要分别训练 RL 代理和 GNN 模型时,微小的差异可以忽略不计。

        与RoSGAS-𝐾𝐿相比,RoSGAS-𝐾𝐿-𝑁𝑁在修改优化网络参数的期望值之前,本质上需要额外的时间来搜索已经探索过的状态动作对集合并确定与当前状态动作对最近的邻居。RoSGAS 还涉及基于目标用户批次的自我监督学习,以提取同源子图以进行额外的前向传播。

        此外,Cresci-15 的时间消耗远大于 Cresci-19。当图尺度飙升时,GCN 和 GAT 的时间消耗呈线性增加。实际上,GNN 的训练效率更高,因为我们只需要对采样的子图进行卷积操作;相比之下,GCN 和 GAT 的每次迭代都必须对整个图的所有节点执行卷积操作。 RoSGAS 仅与提取的用于检测目标用户的子图数量相关,因此与整个图的规模无关。这清楚地展示了我们在 RoSGAS 中采用的基于样本和子图的机制的固有可扩展性和稳健性。

5.5 稳定性

        我们还比较了 RoSGAS 和 Policy-GNN 之间基于 RL 的架构搜索的稳定性。图 6 分别展示了 RL 代理在 Cresci-15、Varol-17、Vendor-19 和 Botometer-Feedback 上的详细训练过程。虚线表示在 150 集期间在验证集中获得的准确度。显然,RoSGAS 在所有数据集下都能迅速达到高精度,而平均精度只有在 15 次 RL 代理训练集后才能达到。同时,一旦达到这一点,就可以稳定地保持纳什均衡的稳定状态,而不会出现巨大的动荡。

          相比之下,Policy-GNN 的准确率明显低于 RoSGAS,缺乏稳定性,即波动非常明显。差异主要源于状态转换和最近邻机制的设计。 RoSGAS 使用初始子图的嵌入作为 RL 代理的状态输入,并在初始子图之间跳转作为状态转移,而 Policy-GNN 使用节点嵌入作为状态输入,在节点之间跳转作为状态转移。毫无疑问,将初始子图作为状态嵌入可以更好地反映目标节点的局部结构,从而具有更强的表示能力,从而增强稳定性。

5.7 案例研究:表征学习的有效性

        为了进一步了解向量表示的质量,我们将 RoSGAS 的表示与在准确度评估中可以取得良好结果的基线进行比较,即 GraphSAGE、GCN、GraphSAINT 和 ARMA。对于每个单独的模型,我们通过使用 k=2 的 k-means 对表示结果进行聚类,然后计算同质性分数——一个衡量聚类中样本相似程度的越高越好的指标。如果其所有集群仅包含属于单个类成员的数据点,则满足同质性 - 值等于 1。

        图 12 可视化了 t-SNE 降维对用户表示向量的结果。我们分别根据三个给定的数据集 Cresci-15、Vendor-19、Cresci-19 评估每个模型。对于每个基线模型,三个数据集上的结果放在一行中。在数值上,当采用所有数据集时,RoSGAS 的同质性得分高于其他基线。例如,RoSGAS 的得分平均是 GraphSAGE 的 2 倍以上,表明我们的方法可以获得最可区分的表示向量。可视化与测量完全一致。可以观察到,RoSGAS 中的机器人可以更容易地与良性用户区分开来。

 (GraphSAGE、GCN、GraphSAINT ARMA 和 RoSGAS 分别在 Cresci-15(左列)、Vendor-19(中列)和 Cresci-19(右列)的数据集上生成的用户表示向量的 2D t-SNE 图。相应的同质性分数在括号中给出)

6 讨论

        基于子图和 RL 引导的解决方案的意义。这项工作旨在推动 GNN 在社交机器人检测领域的开发和应用。面对不断发展的机器人技术,基于特征、基于统计和基于深度学习的方法的性能逐渐减弱。我们应用 GNN 来利用邻域和关系的信息来对抗机器人的发展。在处理具有数十万甚至数百万节点的海量数据集时,这项工作并非易事。复杂模型架构搜索的现有解决方案并不适合研究中的大规模社交机器人检测问题——由于机器人的进化,数据分布变得更加非独立同分布,这使得模型设计变得复杂,具有良好的泛化能力实践。

        社交网络图的极大规模也导致了巨大的不同的用户结构,并需要以合理的计算成本对这些结构进行适应性检测。

        为此,我们提出通过搜索子图来实现图规模的缩小、模型架构的简化和检测性能的提高。

        使用 RL 的必要性。子图的width(k)不能是所有节点共享的公共超参数,需要逐节点个性化。事实上,社交机器人倾向于随机跟踪良性帐户作为伪装。选择主要来自我们的行为研究——在二阶子图中的子图中有足够多的机器人,而在一阶子图中可以很好地识别良性节点。增加该值不会带来额外的性能提升,但会涉及大量的邻居。尽管如此,该范围可以灵活配置以适应任何其他场景和数据集。这需要采用 RL 来促进每个单独子图的自定义参数搜索。

        处理实时流媒体场景 即时机器人检测的关键挑战包括消息传递、分布式事件存储的需求以及随着时间的推移处理社交网络平台中事件和实体的革命和不确定性的能力。由于新机器人的存在,这尤其复杂。离线学习模型的准确性高度依赖于输入模型的数据集的质量和数量。然而,这在实时场景中将是耗时且昂贵的,并且需要模型更新以保持模型准确性的高标准。在实践中,要实现流式传输管道,需要开发一个分布式爬虫来持续获取社交网络信息。然后将收集到的数据通过分布式事件流(如 Kafka)转发到处理模块。需要更多的在线和增量设计来支持当前机器人检测框架的动态版本。

7 相关工作

        在本节中,我们总结了相关文献和最先进的方法。现有文献大致可分为三类:基于 GNN 的方法、基于子图和 RL 的方法以及自监督增强方法。

7.1 基于 GNN 的社交机器人检测

        早期社交机器人检测主要侧重于手动分析收集的数据以找到可用于检测社交机器人的判别特征。然而,检测特征很容易被不断进化的社交机器人模仿和逃避,最终变得无效。最近图神经网络(GNN)的蓬勃发展推动了社交机器人检测的最新进展。首次尝试使用 GNN 检测社交机器人 [2] 主要是将图卷积神经网络与多层感知和信念传播相结合。构建异构图并通过预训练的语言模型提取原始节点特征,通过 R-GCN 模型 [17] 聚合后得到最终的节点嵌入,BotRGCN 成功超越了传统检测方法在新发布的数据集 TwiBot-20上的性能。异构图也被应用在[15]中,它还提出了一种受自然语言处理启发的关系图转换器来模拟用户之间的影响并学习节点表示以更好地检测社交机器人,其性能超过了BotRGCN。然而,这些基于节点嵌入和节点分类的方法在整个图的层面上进行卷积,在社交图的巨大规模上堆叠多层 GNN 后会导致过度平滑问题 [30, 53]。

        Subgraph为解决这个问题提供了一个新的视角,[31]构建了一个异质图,并根据人工定义的启发式规则重建子图,用于检测在线平台的恶意账户。然而,这种基于人工的方法不仅在设置提取规则时消耗能量,而且不容易推广到社交机器人检测领域。

7.2 基于子图和强化学习的方法

        从社交网络构建的图的规模是巨大的。对整个图进行卷积运算不仅会消耗计算资源,还会由于过度平滑等问题导致性能下降。子图的提取要么需要特定领域的专家知识来设置启发式规则 [31, 58],要么需要设计匹配子图的主题 [35, 54],这极大地限制了泛化的灵活性和能力。为了解决这个问题,我们利用强化学习 (RL) 自适应地提取子图。已经有一些尝试将 RL 和 GNN 结合起来。

        DeepPath [52] 建立了一个知识图嵌入和推理框架,该框架利用 RL 代理来确定知识库中的推理路径。 RL-HGNN [62] 为 HIN 中的任何节点设计不同的元路径,用于自适应选择元路径以学习其有效表示。 CARE-GNN [14]、RioGNN [37] RTGNN [61] 和 FinEvent [38] 都将 RL 和 GNN 结合起来,用于动态优化相似度阈值,以达到为聚合节点选择更有价值的邻居节点的目的,以获得更多欺诈检测或事件检测的有效表示向量。 Policy-GNN [27] 利用 RL 选择 GNN 架构层的数量,用于聚合节点嵌入向量以对节点进行分类。 GraphNAS [20] 是首次尝试将循环神经网络与 GNN 相结合。它不断生成对 GNN 架构的描述,以通过最大化预期精度来找到基于 RL 的最佳网络架构。

        与 GraphNAS 中的架构搜索类似,Auto-GNN [63] 还提出了一种参数共享机制,用于在同构架构中共享参数以降低计算成本。但是,这些方法没有与子图方法结合,它们的优化与特定的数据集紧密耦合。它们不适合检测遵循幂律分布且不同用户之间存在巨大差异的图 [4, 34]。相比之下,我们的方法依赖于子图嵌入在不影响时间效率的情况下实现高检测效率,并且在多个数据集之间具有很强的泛化能力。

7.3 图上的自监督学习方法

        近年来,自监督学习作为一种有前途的方法已经取得了巨大的进步,可以克服有限的数据注释和限制,并使目标目标在没有监督的情况下实现。该技术已在广泛的领域进行了研究,例如自然语言处理 [11, 60]、计算机视觉 [28, 46] 和图形分析 [22, 25]。自监督学习的核心是定义一个无注释的借口任务来训练表示学习的编码器。特别是对于图分析,有一些关于基于边属性 [10, 44] 或节点属性 [12] 设计自监督任务的文献。然而,拓扑中不同节点之间的内在依赖关系阻碍了借口任务的适当设计。 DGI [49] 训练节点编码器以最大化节点表示和全局图表示之间的互信息。GMI [39] 定义了一个借口任务,该任务最大化每个节点的隐藏表示与其一跳邻居的原始特征之间的互信息。 InfoGraph [43] 最大化不同尺度的图嵌入和子结构嵌入之间的互信息,以更有效地学习图嵌入。然而,上述自监督学习方法需要将整体图作为输入,这既费时又费资源,从而限制了大规模图的可扩展性。我们的方法旨在获得子图级别的表示,以确保非同源子图具有区分性,而同源子图具有相似的表示向量。

8 结论

        本文研究了一个支持 RL 的 GNN 架构搜索框架。在为社交机器人检测任务执行子图嵌入时,所提出的 RoSGAS 框架可以自适应地确定 GNN 架构中最合适的多跳邻域和层数。我们利用 HIN 来表示用户连接性,并使用多智能体深度 RL 机制来引导关键参数搜索。目标用户的子图嵌入可以更有效地学习并用于具有竞争力的准确性的下游分类,同时保持高计算效率。实验表明,RoSGAS 在准确性、训练效率和稳定性方面优于最先进的 GNN 模型。 RoSGAS 在 RL 训练过程中可以更快地达到并继续保持高精度,并且具有很强的泛化性和可解释性。

        我们相信,以行为表征和强化学习为指导的以数据为中心的解决方案——而不是使网络架构本身变得非常复杂——将是一个有前途的创新方向,这在机器人检测领域在科学和工程方面都具有挑战性。未来,我们计划研究特征分布和图结构对模型训练的影响,并扩展 RoSGAS 以支持流场景.

;