• 谣言检测(GACL)《Rumor Detection on Social Media with Graph Adversarial Contrastive Learning》


    论文信息

    论文标题:Rumor Detection on Social Media with Graph AdversarialContrastive Learning
    论文作者:Tiening Sun、Zhong Qian、Sujun Dong
    论文来源:2022, WWW
    论文地址:download
    论文代码:download

    Abstract

      尽管基于GNN的方法在谣言检测领域取得了一些成功,但是这些基于交叉熵损失的方法常常导致泛化能力差,并且缺乏对一些带有噪声的或者对抗性的样本的鲁棒性,尤其是一些恶意谣言。有时,仅仅设置一个简单的扰动就会导致标签被高度置信地错误分类,这对谣言分类系统无疑是一个巨大的潜在危害。因此,现有的数据驱动模型需要变得更加健壮,以应对通常由正常用户无意识地产生和传播的错误信息或者由谣言制造者恶意设计的混乱对话结构。

      在本文中,我们提出了一种新的图对抗对比学习(GACL)方法来对抗这些复杂的情况,其中引入对比学习作为损失函数的一部分,用于明确感知同类和不同类的会话线程之间的差异。同时,设计了一个对抗性特征变换(AFT)模块来产生相互冲突的样本,以加压模型以挖掘事件不变的特征。这些对抗性样本也被用作对比学习的硬负样本,使模型更鲁棒和有效。在三个公共基准数据集上的实验结果表明,我们的 GACL 方法比其他最先进的模型取得了更好的结果。

    1 Introduction

      本文提出一个图对抗对比学习(GACL)方法谣言检测。具体来说,首先采用 edge perturbation 和 dropout 等图数据增强策略掩模来模拟 Figure 1(b) 的情况,它为模型提供了丰富噪声的输入数据。然后,我们引入 Figure 2 所示的监督图对比学习 来训练 GNN 编码器 明确地感知增强数据的差异,并学习鲁棒表示。与自监督对比学习策略不同,本文的方法可以更有效地利用标签信息。这样,就可以防止在一些包含噪声的情况下,如错误的注释和混乱的字符被检测模型错误地分类。

      

      有时,仅凭这一点是不够的。因为在现实世界中,除了由普通用户无意中创造和传播的错误信息外,还有一些由谣言生产者精心设计和故意推广的恶意谣言,如 Figure 1(c) 所示,这可能会使该模型失效。一些研究人员也注意到了这个问题。Ma等人[21]分析了一个关于“沙特阿拉伯斩首第一个女性机器人公民”的谣言案例,以说明谣言机器人如何使用高频和指示性词汇来掩盖事实。Yang等人 [32] 还提到,谣言生产者经常操纵由用户、消息来源和评论组成的关系网络,以逃避检测。无论是文本篡改还是网络操纵,谣言制作者的目的都是使谣言在高维空间中接近非谣言样本,从而混淆模型。因此,为了解决这个问题,我们开发了一个对抗性特征转换(AFT)模块,旨在利用对抗性训练来生成具有挑战性的特征。这些对抗性特征将作为对比学习中的硬负样本,帮助模型加强对这些困难样本的特征学习,实现鲁棒性和有效的检测。此外,我们直观地相信,这些对抗性的特征可以被解码成各种不同类型的扰动。

      本文贡献:

      • 据我们所知,这是第一个将对比学习引入谣言检测任务的研究,旨在通过感知同一标签和不同标签样本之间的差异来提高表征质量。
      • 我们提出了GACL模型,它不仅考虑了谣言的传播结构信息,还模拟了噪声和对抗性情况,并利用对比学习捕获了事件不变特征。
      • 在GACL框架下,我们开发了AFT模块来生成对抗性特征,这些特征作为对比学习中的硬负样本,以学习更鲁棒的表示。
      • 我们通过实验证明,我们的模型在真实世界的数据集上优于最先进的基线。

    2 Method

    2.1 Definition

      本文将谣言检测定义为一种分类任务,其目的是从一组带标签的训练事件中学习一个分类器, 然后用它来预测测试事件的标签。使用  C={c1,c2,,cn}" role="presentation">C={c1,c2,,cn}ci" role="presentation">ci 是第  i" role="presentation">i  个事件,  n" role="presentation">n  是事件的数量。每个事件  c=(y,G)" role="presentation">c=(y,G)  包含 ground-truth 标签  y{R,N}" role="presentation">y{R,N}  (也就是 Rumor 和 Non-rumor) 和其传播结构树  G=(V,E)" role="presentation">G=(V,E)V" role="presentation">V  和  E" role="presentation">E  分别是节点和边的集合。有时谣言检测被定义为一个四类的分类任务,相应的  y{N,F,T,U}" role="presentation">y{N,F,T,U}  ( Non-rumor、False Rumor、True Rumor、Unverified Rumor)。在模型训练阶段,G^" role="presentation">G^  由数据增强生成,目的是与原图  G" role="presentation">G  一起学习一个分类器  f()" role="presentation">f()  。在测试阶段,只有原图  G" role="presentation">G  会被用来预测给定事件  ci" role="presentation">ci  的标签。

    2.2 Framework

     

    2.3 Graph Data Augmentation

      GACL采用 Edge perturbation 策略进行数据增强。对于一个图 G=(V,E)" role="presentation">G=(V,E) ,其邻接矩阵为 A" role="presentation">A ,特征矩阵为 X" role="presentation">X , Edge perturbation 在训练时将会根据一定的概率 r" role="presentation">r 来随机丢弃、 添加或者误置一些边,以此来干扰 G" role="presentation">G 的连接。假设新生成的增强图为 G^" role="presentation">G^Aperturbation " role="presentation">Aperturbation  为一 个从原来的边集合中随机采样的矩阵,则 G^" role="presentation">G^ 的邻接矩阵 A" role="presentation">A 可以计算为对谣言制造者设计的伪装结构。

      此外,对于谣言检测任务,上图中由 post" role="presentation">post 组成的图节点的文本信息也是正确分类谣言的关键线索之一,还需要对其进行增强以提供一些噪声。本文采用 Dropout mask 来对这些文本进行增强,也就是随机 mask 每个 post 中的一些词,如上图所示。

    2.4 Graph Representation

      本文使用 BERT 来获取事件的原文和评论的句子表示,以构建新的 X" role="presentation">X 。为了强调 source post 的重要性,以 [CLS] Source [SEP] Comment [SEP] 的形式来将原文和评论连接起来,以 [CLS] 这个 token 的最终表示作为节点的表示。

      本文使用一个两层 GCN" role="presentation">GCN 作为 encoder 。当前图记为 Gk" role="presentation">Gk ,其增强图为 G^k" role="presentation">G^k ,经过两层 GCN" role="presentation">GCN 后学习到的节点表示矩阵为 Hk(2)" role="presentation">Hk(2) ,最后使用一个 mean-pooling 来获得图的表示:

        hk=MEAN(Hk(2))" role="presentation">hk=MEAN(Hk(2))

    2.5 AFT Component 

      即使 AFT  module 不存在,由 GCN 生成的图表示 h" role="presentation">h 也可以直接输入最终的 softmax" role="presentation">softmax 层进行谣言分类。然而,由于该模型在训练阶段只暴露于包含随机噪声的数据增强生成的输入样本中,因此它缺乏对对抗性样本(特别是一些被人类仔细干扰的数据)的鲁棒性,如 Figure1(c). 所示为了逃避模型检测,谣言产生者可能会使用图伪装策略,使会话线程更接近非谣言实例,从而混淆了图检测模型。他们也可以利用谣言机器人来发布大量的评论,其中包含许多高频和指示性的词,以掩盖事实。这些案例的最终目标是使谣言特征向量更接近于潜在空间中的非谣言特征向量。提出的基于对抗学习的 AFTmodule 试图在高维空间中模拟这些行为,并生成对抗向量,用于挖掘训练阶段的事件不变特征。

      如  Figure 3 所示,AFT 由 L=2" role="presentation">L=2 fully connected layers、Dropout 和 Normalization (DN) 组成。经过 AFT module 后,hk" role="presentation">hk 转换为 zk" role="presentation">zk,公式为

        zk=DN(max(0,hkW1AFT+b1)W2AFT+b2)" role="presentation">zk=DN(max(0,hkW1AFT+b1)W2AFT+b2)

      将得到的 zk" role="presentation">zk 向量作为对比学习中的硬负样本。

      现在,对于 batch 中的每一个 post,我们得到了 GCN 编码的相应图表示 hk" role="presentation">hk,以及 AFT 生成的对抗表示 zk" role="presentation">zk。然后,我们将它们连接起来,以将信息合并为

        mk=concat(hk,zk)" role="presentation">mk=concat(hk,zk)

      接下来,将 mk" role="presentation">mk 输入全连接层和 softmax 层,输出计算为

        y^k=softmax(WkFmk+bkF)" role="presentation">y^k=softmax(WkFmk+bkF)

      其中,y^R1×C" role="presentation">y^R1×C 为预测的概率分布。WF" role="presentation">WFbF" role="presentation">bF 分别为可训练的权重矩阵和偏差。

    2.6 Adversarial Contrastive Learning

      本文采用的损失函数旨在给定标签信息的条件下最大化正样本之间的一致性同时拉远负样本。 如 Figure 3 ,以  mk" role="presentation">mk  作为锚点,具备与  mk" role="presentation">mk  相同标签的  mp" role="presentation">mp  作为正样本,具备与  mk" role="presentation">mk  不同标签的  ma" role="presentation">ma  作为负样本。对比损失的目的是让具有相同标签的样本余弦相似度变大,具有不同标签的样本余弦相似度变小。最终的损失函数为:

        L=Lce+αLsup" role="presentation">L=Lce+αLsup

      这两部分损失分别是:

        Lce=1NNMyk,clog(y^k,c)" role="presentation">Lce=1NNMyk,clog(y^k,c)

        Lsup=kKlog{1|P(k)|pP(k)exp(sim(mk,mp)τ)aA(k)exp(sim(mk,ma)τ)}" role="presentation">Lsup=kKlog{1|P(k)|pP(k)exp(sim(mk,mp)τ)aA(k)exp(sim(mk,ma)τ)}

      k" role="presentation">k  代表第几个样本, c" role="presentation">c  代表类别,  A(k)={aK:yayk}" role="presentation">A(k)={aK:yayk}  是负样本索引,P(k)={pK:yp=yk}" role="presentation">P(k)={pK:yp=yk}  是正样本索引,  sim()" role="presentation">sim()  为余弦相似度,即  sim(mk,mp)=mkTmp/mkmp" role="presentation">sim(mk,mp)=mkTmp/mkmpτR" role="presentation">τR  是温度超参数。

      一部分研究表明BERT驱动的句子表示容易造成坍塌现象,这是由于句子的语义信息由高频词主导。在谣言检测中,高频词经常被谣言制造者利用来逃避检测。因此采用对比学习的方式能够 平滑化句子的语义信息,并且理论上能够增加低频但重要的词的权重。本文通过最小化 L" role="presentation">L 来更新模型的参数,但不包括 AFT 的参数。

      AFT 基于对抗学习单独训练。模型中 AFT 的参数记作 θa" role="presentation">θa ,其他参数记作 θs" role="presentation">θs 。在每一个 epoch 中,我们最小化 L" role="presentation">L 来更新 θs" role="presentation">θs ,最大化 \mathcal{L} 来更新 \theta_{a} 。我们利用对抗学习来最小化对抗样本与相同标签样本的一致性,最大化对抗样本与不同标签样本的一致性。整个算法如下:

      

    3 Experiment

    Datasets

      

    Results

      

      

    Ablation study

      

     

      

    Early Rumor Detection

      

    4 Conclusion

      本文提出了一种新的谣言检测模型,即GACL。首先,采用训练前模型BERT获得GACL中每个帖子的表示,然后使用GCN对谣言传播的结构信息进行编码。其次,引入对比学习,通过捕获同一类实例之间的共性和不同类实例之间的差异来提高表示的质量。最后,将AFT模块加载到模型中,采用对抗性学习策略进行训练,以生成对抗性特征。这些对抗性特征在对比学习中作为硬负样本,并在训练阶段作为输入向量的一部分输入到softmax模块中,有利于捕获事件不变特征。实验结果表明,我们的GACL方法对三个公共真实数据集的谣言检测具有良好的有效性和鲁棒性,并且在早期谣言检测任务中显著优于其他最先进的模型。

      我们未来的工作将集中于多模态信息的融合和提取、偏见检测和模型决策的可解释性。


    __EOF__

  • 本文作者: Blair
  • 本文链接: https://www.cnblogs.com/BlairGrowing/p/16737902.html
  • 关于博主: I am a good person
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    GAN生成漫画脸
    Linux系统性能监测工具——负载/内存/磁盘
    微服务环境搭建
    2023 MacBook Pro (Apple M2 Pro、macOS Ventura)配置Android开发环境
    开源之夏 2023 | Databend 社区项目总结与分享
    AutoGPT目前只是成功学大师GPT版
    Pycharm 安装第三方库numpy,显示超时?
    【2023,学点儿新Java-11】基础案例练习:输出个人基础信息、输出心形 | Java中 制表符\t 和 换行符\n 的简单练习
    GBase8s逻辑日志
    深度学习技巧应用29-软件设计模式与神经网络巧妙结合,如何快速记忆软件设计模式
  • 原文地址:https://www.cnblogs.com/BlairGrowing/p/16737902.html