链接:https://arxiv.org/pdf/2303.07354.pdf
目录
摘要
1 INTRODUCTION
2 RELATED WORK
2.1 Troll detection
2.2 Meta-learning
2.3 Few-shot text classification
3 PROBLEM STATEMENT
4 APPROACH
4.1 Stage One Training
4.2 Stage Two Training
4.3 Stage Three Training
4.4 Meta-testing
5 EXPERIMENTS AND RESULTS
5.1 Datasets and models
5.2 Results
5.3 Continual learning performance
5.4 Multilingual performance
5.5 Multimodal performance
6 CONCLUSION
国家支持的 "巨魔 "是社交媒体影响力活动的主要参与者,自动检测 "巨魔 "对于大规模打击虚假信息非常重要。现有的巨魔检测模型是基于已知活动(如俄罗斯互联网研究机构对 2016 年美国大选的影响活动)的训练数据开发的,在处理具有新目标的新型活动时存在不足。我们提出的 MetaTroll 是一种基于元学习框架的文本巨魔检测模型,只需使用少量标记样本就能实现高度的可移植性和参数效率,以适应新的活动。我们为 MetaTroll 引入了针对特定活动的transformer适配器,以 "记忆 "针对特定活动的知识,从而解决灾难性遗忘问题,即模型因不断适应而 "忘记 "如何从旧活动中删除巨魔。我们的实验证明,MetaTroll 的性能大大优于基线和最先进的少量文本分类模型。最后,我们探讨了将 MetaTroll 扩展到多语言和多模态检测的简单方法。MetaTroll 的源代码可在以下网址获取: https://github.com/ltian678/metatroll-code.git
国家支持的 "巨魔 "和 "机器人 "是社交媒体上 "流氓行动 "和 "误导宣传 "的主要参与者。例如,2016 年美国总统大选凸显了外国是如何开展大规模影响力活动的,在这一案例中,俄罗斯互联网研究机构(Internet Research Agency)就是其中之一[ 40 ]1 。在另一种情况下,布罗尼托夫斯基等人[6]研究了影响力活动是如何在公共卫生领域的疫苗辩论中起到推波助澜的作用。为了帮助打击社交媒体上的误导,Twitter 开始公布与国家支持的影响力活动相关的用户账户。我们的工作使用该数据集进行巨魔检测,因此在我们的语境中,巨魔是指与影响力活动有关联的国家支持的代理人。
现有的巨魔检测模型主要是从用户在线帖子和用户活动中提取信号 [1- 3 , 8 , 10 , 12 , 32 ]。最近的神经方法探索了融合不同特征表征的巨魔检测方法,如社会结构、源帖子和传播帖子(如 Twitter 上的转发)[3, 39]。这些研究通常将任务表述为一个标准的监督学习问题,需要大量已知活动的标记数据。因此,它们无法检测由另一个国家针对不同目标发起的新活动。
元学习(Meta-learning)是一种行之有效的少样本学习框架[ 14 , 16, 28 , 33, 35 ]。元学习的理念是利用以前任务中的共享知识来促进新任务的学习。在我们的语境中,元学习有可能在巨魔检测模型经过一组已知活动的元训练后,通过少数几次迁移使其快速适应新的活动。然而,在持续学习的环境中,巨魔检测模型需要不断更新以适应新的活动,标准的元学习框架就会出现 "残缺遗忘"(cata-strophic forgetting)--即模型在更新时 "忘记 "如何检测旧活动中的巨魔[36 , 37]。这项工作的主要贡献如下:
我们模仿社交媒体平台上的真实事件,在不断出现新活动的现实环境下提出了巨魔检测问题。
我们提出了用于巨魔检测的基于文本的元学习框架--MetaTroll,其中包括一个三阶段元训练过程,使其能够在不同的活动中学习知识,从而快速适应新的活动。
MetaTroll 通过引入特定活动的transformer适配器 [19](即每个活动都有自己的适配器参数集)来解决灾难性遗忘问题,这些适配器可以 "记忆 "特定活动的知识。
MetaTroll通过使用预训练的多语言模型来处理多种语言(多语言),并通过使用预训练的图像分类器进行编码或通过光学字符识别将其转换为文本,将图像作为附加输入(多模态)。
在 14 个 Twitter 活动的真实数据集上进行的大规模实验表明,MetaTroll 性能卓越。
我们的相关工作来自三个领域,即巨魔检测、元学习和少量文本分类。
早期的巨魔检测研究侧重于从用户帖子的文本内容中提取人工设计的特征来进行巨魔检测 [8, 10 , 12 , 12, 25 , 31 ]。研究探索了写作风格、情感和情绪等信号 [10 , 31 ]。用户的在线活动也被用来检测巨魔[8, 12]。Cheng 等人[8] 对在线讨论社区中的反社会行为进行了研究,重点关注最终会被禁言的用户。
最近,出现了结合用户帖子和在线活动来检测巨魔的方法 [1 , 3, 4, 13 , 20, 32 , 34 ]。Addawood 等人[1] 识别了 49 种欺骗性语言标记,并测量了巨魔账户使用这些标记的情况。他们的研究表明,这些欺骗性语言线索有助于准确识别巨魔。Im 等人[20] 提出了一种检测方法,依靠用户的元数据、活动(如共享链接、转发、提及等的数量)和语言特征来识别 Twitter 上活跃的巨魔。Shafiei 和 Dadlani[32]指出,俄罗斯巨魔旨在劫持政治对话,在社区不同群体之间制造不信任。斯图尔特和道森[34]同样证明了巨魔是如何在不同框架下突出分歧和制造分裂的,这一点在杜特等人[13]对 Facebook 上俄罗斯广告的研究中得到了进一步验证。在 Badawy 等人[4]一文中,作者通过分析推特上支持巨魔活动的账户,研究了操纵活动的效果。他们发现,保守派用户对巨魔内容的转发分享是自由派用户的 30 倍。Zannettou 等人[39] 通过识别巨魔与其他(随机)Twitter 用户在传播内容、账户演变以及为扩大影响而采取的策略等方面的差异,将巨魔行为与其他(随机)Twitter 用户进行了比较。Atanasov 等人[3]利用社会结构和文本内容,通过图嵌入学习用户表征。我们的重点是如何在标签数据有限的情况下检测新兴社交活动中的巨魔。
元学习旨在从一系列任务中提取一些可迁移的知识,以快速适应新任务。这些方法可分为三类:基于度量、基于优化和基于模型。基于度量的元学习方法[ 33 , 35 ]旨在学习一个嵌入函数来对输入进行编码,并学习一个度量函数来学习查询数据与支持数据之间的距离(如余弦距离和欧氏距离)。基于优化的方法[14, 16]旨在学习良好的参数初始化,能在几个梯度下降步骤内快速适应新任务。基于模型的方法 [ 26 , 30 ] 使用神经网络嵌入任务信息,并以任务信息为条件预测测试示例。我们的方法结合了优化和基于模型的思想,我们采用 [14] 来更新模型参数和新颖的架构,其中包括适配器和自适应分类层来学习任务信息。
文本分类已从针对特定任务的训练转向预先训练语言模型(如 BERT),然后再针对特定任务进行微调 [ 11 , 27 ]。最近,语言模型 GPT-3 [7 ]在许多自然语言处理任务中都表现出了很强的少量处理性能。少量文本分类指的是一种文本分类环境,在这种环境中,有新的未见任务(领域),只有少量标注过的示例用于训练分类模型,元学习已被证明能产生很强的性能 [ 5 , 15 , 17 , 38 ]。Bao 等人[5] 在元学习框架中引入了词频和信息熵等分布特征。Gao 等人[15] 将注意力机制与原型网络相结合,解决了有噪声的少量关系分类任务。Geng 等人[17] 利用元学习中的动态路由算法解决了中英文数据集的情感和意图文本分类任务。Yu 等人[38]提出了一种基于自适应度量的方法,可以自动确定最佳加权组合。在我们的问题设置中,我们的重点是在元学习框架下根据新任务(即活动)调整分类器。
在第 4 节描述我们的模型之前,我们首先解释了元学习的一些基本原理,并根据我们的问题设置将其具体化。假设 是一组活动。这些活动分为两个部分: 用于元培训, 用于元测试(在我们的案例中, 有 6 个活动, 有 4 个活动;见表 1)。
对于每个活动,我们都标注了用户 U,其中每个用户 u 由文本帖子和图片列表组成,定义为 ,其中c指帖子的文本内容、m一组图片和p帖子的时间戳,每个用户 u 都与一个基本真实标签相关联,Y 代表标签集(巨魔或非巨魔;二进制)。我们的目标是利用从过去的(元训练)活动()中学习到的知识,通过少量学习(例如,为新活动学习 5 或 10 个用户)快速适应新的(元测试)活动()。
在我们的问题设置中,任务的概念(来自元学习)是特定活动的二元巨魔检测任务。每个任务 包括S个包含数据点的支持集 和Q个包含数据点的查询集 ,其中 ,,u_i 是一个用户,拥有帖子和图片列表,y_i∈ {0, 1} 对应于巨魔/非巨魔标签(如上定义)。在元训练过程中,我们会重复 中的不同活动,并抽取支持和查询实例来训练模型。完成后,为了适应 中的新活动,我们会遵循类似的训练流程,但只使用新活动中的支持实例更新模型参数,并保留查询集用于评估(即查询集不用于模型更新)。
图 1 展示了 MetaTroll 的整体架构。Meta- Troll 有两个模块,一个是基于 BERT 的特征提取器[ 11 ],另一个是自适应线性分类器。
我们首先从高层次解释如何分三个阶段训练 MetaTroll 的特征提取器和线性分类器(算法 1)。在第一阶段,我们使用元训练活动 中的所有训练样本对现成的 BERT 进行微调,并更新其所有参数 (Φ)(算法 1 中的第 1 行)。在这一阶段,我们没有为 BERT 引入适配器[ 19 ],而是将其优化为对巨魔和非巨魔进行二元分类。这一步的目的是为巨魔检测任务训练一个特征提取器(换句话说,这一步是标准的微调,以使 BERT 适应二进制巨魔检测)。在第二阶段,我们为 BERT 引入适配器 [ 19 ],并使用模型无关元学习(MAML:Finn 等人[14];算法 1 中第 3-16 行)训练适配器参数 (Ψ)。请注意,适配器在所有活动中都是共享的(即适配器不是针对特定活动的),这一阶段的目的是为适配器学习一个良好的初始化,以进行一般的巨魔检测;在下一阶段,学习到的适配器参数将被用于激活特定活动的适配器。在这一阶段,只有适配器参数(Ψ)被更新,而 BERT 参数(Φ)被冻结.
在第三阶段,也是最后一个阶段,我们向 MetaTroll 引入活动专用适配器和自适应线性分类器,创建完整模型。活动专用适配器使用第二阶段的活动通用适配器进行初始化。使用特定活动适配器的想法是,当 MetaTroll 针对应用环境中随着时间推移而出现的新活动进行持续更新时,解决灾难性遗忘问题:特定活动适配器解决了 "遗忘 "问题,因为检测较早/过去活动的知识存储在其适配器中,不会随着 MetaTroll 的持续更新而被覆盖。至于自适应线性分类器,它们也是针对特定活动设计的,目的是鼓励 MetaTroll 学习不同活动中的不同活动代表.我们通过元学习更新获得专用适配器 (Ψ_e ) 和分类器参数 (Ω_e ),类似于第 2 阶段训练(算法 1 中的第 17-32 行),注意 BERT 参数 (Φ) 在此阶段被冻结.
在对 MetaTroll 进行了 3 个阶段的训练后,为了在测试时使其适应新活动的巨魔,我们将进行第三阶段的训练,为新活动学习特定活动的适配器(Ψ_e)和分类器(Ω_e)参数。一旦适应,MetaTroll 就能用于对新活动的用户进行分类。接下来,我们将详细介绍训练阶段和测试推理。
在第一阶段,MetaTroll 是采用标准交叉熵损失进行微调的标准 BERT,对巨魔与非巨魔进行二元分类(忽略活动)。给定一个用户 u,其帖子数为
其中v,是 [CLS] 的上下文嵌入,⊕ 是连接操作。
在第二阶段,我们为 BERT 添加适配器(见图 2)。参照文献[19],我们在 BERT 的每个transformer层中插入两个包含瓶颈层的适配器模块。请注意,这里的适配器是所有活动共享的,因为这一阶段的目标是学习一组良好的初始适配器参数值,这些参数值可用于在下一阶段初始化特定活动的适配器。
相应地,公式1现修改为:
我们使用 MAML 对适配器参数进行元训练(算法 1 第 3-16 行)。我们首先从 中抽取一个活动任务 ,创建支持集和查询集。表示 M 为模型,Φ 为 BERT 参数,Ψ 为适配器参数,接下来我们计算内部循环来更新 Ψ 如下 [23]
其中,是学习率(在外循环中计算),是支持集上的交叉熵损失。接下来,我们使用更新后的参数,根据查询集计算交叉熵损失:
该内循环可进行多步梯度下降(使用同一运动中的多个任务)。请注意,在此阶段 Φ(BERT 参数)被冻结。完成后,我们更新适配器参数 Ψ 和内循环学习率
其中是外循环的学习率(在我们的实验中设置为 1e-5).
在这一阶段,我们为每个活动引入活动专用适配器,并使用上一阶段学习的活动通用适配器对它们进行初始化。形式上,等式 3 现在更新为
我们将特定于活动的适配器引入到我们的模型中,原因有两个:(1)它们的训练效率更高,并且不易受到过度拟合的影响(这在几次学习设置中很重要),因为与其他模型相比,它们只包含少量参数。另一种方案是我们为每个活动使用一个 BERT 模型)(2) 由于每个活动都有自己的适配器,它们可以减轻持续学习环境中的灾难性遗忘.
受 Requeima 等人[28] 的启发,我们接下来引入一个自适应线性分类器网络,在用于分类的线性层中取代 W和 b(公式 2)。直观地说,这种自适应分类器的工作原理是,首先计算每个活动中巨魔和非巨魔的总体表示,然后学习特定活动的投影,对巨魔和非巨魔进行分类。让 和 分别表示标签为巨魔(y = 1)和非巨魔(y = 0)的支持集,我们计算巨魔活动的 , 和 如下
其中 表示 的第 (i−1) 列。 换句话说,MetaTroll 会根据用户的表示(v)是否更接近(平均)巨魔或非巨魔表示来对用户进行分类。
运动特定的自适应线性分类器参数 Ω_e 和适配器参数 Ψ_e 使用 MAML 进行训练,就像第 2 阶段的训练一样(算法 1 第 17-31 行)。
MetaTroll 训练完成后,为了让它适应新的营销活动e,我们沿用第三阶段的训练流程。为了模拟少量学习,我们只对支持集和查询集进行少量实例采样(例如各 5 个),并只使用支持集,而不使用查询集更新适配器(Ψ_e)和分类器参数(Ω_e)(算法 1 第 25-26 行),不运行外循环((第 30-31 行).在这里,查询集仅用于计算性能(即在第 27 行中,我们计算的是查询集的准确率而不是损失率)。
我们使用 Twitter 发布的信息操作数据集进行实验。4 该数据集包含自 2018 年 10 月以来因参与国家赞助的信息操作而被 Twitter 禁止的不同用户组,每个组在我们的工作中代表一个活动。例如,"Iran-2018-Palestine "运动指的是 2018 年由伊朗赞助的针对巴勒斯坦的信息运动的巨魔。 要说明的是,这些运动是 Twitter 在发布数据时定义的,每个运动都与一篇解释信息行动的博文相关。对于每个活动,我们对用户进行过滤,只保留那些在 6 个月活动期间(表 1 中的 "活动时间")发布过推文的用户,以剔除在活动期间不活跃的用户。
为了创建非巨魔用户,我们结合了两个来源: (1) "Random",随机账户,通过生成随机数字用户 ID 并按照 [2] 验证其存在性来抽样;(2) "标签",用户的帖子中包含竞选活动使用的热门标签,热门标签的定义是总计覆盖 75% 的巨魔帖子的标签.. 我们之所以有两类非巨魔用户,是因为如果我们只随机抽样非巨魔用户,非巨魔用户的帖子内容就会与巨魔用户的帖子内容大相径庭,检测任务就会退化为主题检测任务。使用 "Hashtag "方法对非巨魔用户进行抽样就是为了规避这一问题,并使检测任务更具挑战性。
表 1 列出了不同活动中巨魔和非巨魔的一些统计数据,其中 6 个用于元训练,4 个用于元测试。请注意,特定活动中的非巨魔用户是使用 "标签 "方法采样的用户,最后一行对应的是使用 "随机 "方法采样的非巨魔用户。在这些活动中,至少有 80% 的巨魔帖子是英文的,因此它们被用于本文中的单语(英语)实验。
表 1 中的 "巨魔 "和 "非巨魔 "代表了我们构建最终训练/测试数据时所使用的用户库。在所有实验中,我们通过抽样将巨魔用户和非巨魔用户的比例控制在 50/50,在对非巨魔用户进行抽样时,两个来源("随机 "和 "Hashtag")的比例也是 50/50。8 例如,"Uganda-2021-NRM "有 334 个巨魔用户,因此我们抽取 334 个非巨魔用户,其中 167 个来自 "Random",另外 167 个来自 "Hashtag"。
我们将 MetaTroll 模型与以下基线进行了比较,包括最先进的元学习方法和少量文本分类模型:
BERT [11 ]9:使用元测试数据的支持集对 BERT 进行微调。
KNN [ 21 ]:使用现成的 BERT 作为特征提取器的近邻分类器。
GPT3 [ 7 ]12:使用基于提示的学习方法[24],根据我们的任务调整的大型预训练模型。
CNP [ 16 ]15:基于模型的元学习框架,由共享编码器、聚合器和解码器组成。
ProtoNet [ 33 ]16:一种基于深度度量的方法,使用抽样平均值作为类原型,并根据欧氏距离计算距离。
Induct [17]:一种使用动态路由算法学习分类表示的少量分类模型。
HATT [15 ]17:一种基于度量的元学习框架和注意力机制的分类模型。
DS [ 5 ]18:使用词频和信息熵等分布特征进行训练的少量文本分类模型。
我们首先介绍英语巨魔的检测性能。在第 5.4 节和第 5.5 节中,我们将对 MetaTroll 进行扩展,以处理非英语数据和图像。由于我们在此只关注英文,因此非英文帖子将被舍弃(尽管这只会减少微不足道的数据量,因为大多数数据都是英文的,这一点在第 5.1 节中已有解释)。所有报告数据均为使用不同随机种子运行 5 次的平均准确率。
MetaTroll 是最好的模型,在所有测试中平均准确率达到 76.35%. 尽管如此,一些少样本文本分类器(如 Induct 的 73.57%)也不遑多让。从 5 次搜索到 10 次搜索,大多数模型只增加了 5 个例子,但 GPT3 是个例外,它的性能得到了大幅提升(平均提升 14.64%)。
在持续学习中[ 29 ],新的任务会随着时间的推移而出现,学习的目标是根据新任务对模型进行相应的调整且不会忘记之前的任务。对于巨魔检测系统来说,这是一种更现实的设置,因为它应该不断适应随着时间推移而出现的新活动。但在这种情况下,系统会出现灾难性遗忘[ 36 , 37 ],即在适应了较新的活动后,对较旧活动的分类性能会下降。
为了模拟这种持续学习的环境,我们接下来在过去的活动中对巨魔检测模型进行评估,在此之前,该模型已依次适应了多个活动。例如,系统首先适应 GRU-2020-NATO (G),然后依次适应 IRA- 2020-Russia (I)、Uganda-2021-NRM (U) 和 China-2021-Xinjiang (C)(表示为 G→I→U→C)。然后,我们使用过去的竞选活动(即 G、I 和 U)对系统进行巨魔测试。
MetaTroll在这种持续学习评估中面临的一个挑战是,在测试时它需要知道使用哪种适配器--大多数其他系统都不需要这些信息,因为它们没有针对特定活动的参数(AdBERT和GPT- 32除外)。我们试验了一种简单的方法来解决这个问题:让 MetaTroll 使用所有适配器对用户进行分类,然后选择概率最高的结果。
我们在表 3 中列出了这种持续学习设置下的巨魔分类结果(5 次)。AdBERT 和 GPT-3 几乎没有遭受灾难性遗忘,因为它们有特定于活动的参数或提示(它们不受持续学习的影响,因为它们的基础模型没有变化),尽管它们的性能最初只是略高于随机概率。相比之下,元学习方法和少数几个分类器则受到灾难性遗忘的影响,它们在旧活动中的表现大幅下降(例如,MAML 在 GRU-2020-NATO 中的表现在几次更新后从 68.32 降至 65.15 和 57.62)。
MetaTroll 使用多个适配器对巨魔进行分类的一个意外好处是,它实际上是在进行多类而非二元分类(活动分类的准确率超过 85%;表 4)。这意味着,随着时间的推移,MetaTroll 不仅能够保持其对来自不同活动的巨魔与非巨魔进行分类的性能,还能预测某个实例属于哪个活动--这可以说是一项更困难的任务。
我们将 MetaTroll 扩展到多语言。为了对多语言输入文本进行编码,我们用 XLM-R 代替 BERT[ 9 ] 。为了便于比较,我们将基准 BERT、KNN 和 AdBERT 以及元学习方法 ProtoNet 和 MAML 包括在内,因为它们的基础模型可以用 XLM-R 代替。我们排除了 few-shot 分类器,因为它们是为英语设计的,不能简单地适用于其他语言。
在数据方面,我们扩展了元测试活动,增加了四个新活动(泰国-2020-RTA、墨西哥-2021-选举、委内瑞拉-2021-政府和中国-2021-张裕),这些活动的前导语言都不是英语,表 5 列出了它们的统计数据。对于 10 个英文活动(表 1),我们恢复了之前丢弃的非英文帖子,并将其纳入元训练和元测试中。
结果见表 6。总体而言,我们可以看到,在将特征提取器替换为多语言模型后,所有模型的性能都有所下降,不过 MetaTroll 的准确率仍能保持在 60% 左右。有趣的是,"中国-2021-长株潭 "似乎是最难的,我们猜测这可能是由于其语言的多样性(法语占 38%,英语占 12.3%,简体中文占 12.1%)。
接下来,我们考虑加入用户发布的图片,因为图片是一种有效的交流工具(如备忘录)。请注意,我们在此仅介绍 MetaTroll 不同变体的结果,因为我们已经证明它是最有竞争力的检测系统。为了处理图像,我们使用预先训练好的 ResNet18 [18] 作为提取图像嵌入的现成工具。我们还探索使用多语言 OCR 模型从图像中提取文本信息(这将有助于处理备忘录)。由于每个用户都有多张图像,我们通过最大池化(max-pooling)将 ResNet18 图像嵌入式聚合起来,并将最大池化向量与文本表示(见公式 3)连接起来。对于通过 OCR 提取的文本,我们将其串联成一个长字符串,然后用另一个 AdapterBERT 对其进行处理(等式 3;它们的参数不共享),并将最终的 CLS 表示与文本表示进行类似的串联。
结果见表 7"+image#"是一种基线方法,我们将表示用户发布的图片数量的数字特征与文本表述相联系。有趣的是,即使使用基线方法,我们也能看到微小的改进,这表明巨魔使用了更多图片(例如,在 GRU-2020-NATO 中,巨魔使用的平均图片数量为 20 张,而非巨魔仅为 5 张)。采用 ResNet 或 OCR 编码可进一步提高性能(OCR 编码的优势稍大),同时采用这两种编码可获得最佳性能。
我们提出的 MetaTroll 是一种带有活动特定适配器的少量巨魔检测模型,可在持续学习环境中解决灾难性遗忘问题。实验结果表明,MetaTroll 的性能优于现有的最先进的元学习模型和少量文本分类模型,而且可以扩展到处理多语言和多模态输入。