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


2.2 Framework

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

文章插图
2.3 Graph Data AugmentationGACL采用 Edge perturbation 策略进行数据增强 。对于一个图 $G=(V, E) $,其邻接矩阵为 $A$  , 特征矩阵为 $X$  ,  Edge perturbation 在训练时将会根据一定的概率 $r$ 来随机丢弃、 添加或者误置一些边,以此来干扰 $G$ 的连接 。假设新生成的增强图为 $\hat{G}^{\prime}$,$A_{\text {perturbation }}$ 为一 个从原来的边集合中随机采样的矩阵,则 $\hat{G}$ 的邻接矩阵 $A^{\prime}$ 可以计算为对谣言制造者设计的伪装结构 。
此外,对于谣言检测任务,上图中由 $post$ 组成的图节点的文本信息也是正确分类谣言的关键线索之一,还需要对其进行增强以提供一些噪声 。本文采用 Dropout mask 来对这些文本进行增强 , 也就是随机 mask 每个 post 中的一些词 , 如上图所示 。
2.4 Graph Representation本文使用 BERT 来获取事件的原文和评论的句子表示,以构建新的 $X$。为了强调 source post 的重要性,以 [CLS] Source [SEP] Comment [SEP] 的形式来将原文和评论连接起来 , 以 [CLS] 这个 token 的最终表示作为节点的表示 。
本文使用一个两层$\mathrm{GCN}$作为encoder。当前图记为$G_{k} $ ,其增强图为$\hat{G}_{k}$,经过两层$\mathrm{GCN}$后学习到的节点表示矩阵为$H_{k}^{(2)}$,最后使用一个 mean-pooling 来获得图的表示:
$h_{k}=M E A N\left(H_{k}^{(2)}\right)$
2.5 AFT Component即使 AFT  module 不存在,由 GCN 生成的图表示 $h$ 也可以直接输入最终的 $softmax$ 层进行谣言分类 。然而,由于该模型在训练阶段只暴露于包含随机噪声的数据增强生成的输入样本中,因此它缺乏对对抗性样本(特别是一些被人类仔细干扰的数据)的鲁棒性,如 Figure1(c). 所示为了逃避模型检测,谣言产生者可能会使用图伪装策略,使会话线程更接近非谣言实例,从而混淆了图检测模型 。他们也可以利用谣言机器人来发布大量的评论,其中包含许多高频和指示性的词,以掩盖事实 。这些案例的最终目标是使谣言特征向量更接近于潜在空间中的非谣言特征向量 。提出的基于对抗学习的 AFTmodule 试图在高维空间中模拟这些行为 , 并生成对抗向量,用于挖掘训练阶段的事件不变特征 。如  Figure 3 所示,AFT 由 $L = 2$ fully connected layers、Dropout 和 Normalization (DN) 组成 。经过 AFT module 后,$h_k$ 转换为 $z_k$ , 公式为
$z_{k}=D N\left(\max \left(0, h_{k} W_{1}^{A F T}+b_{1}\right) W_{2}^{A F T}+b_{2}\right)$
将得到的 $z_k$ 向量作为对比学习中的硬负样本 。
现在,对于 batch 中的每一个 post,我们得到了 GCN 编码的相应图表示 $h_{k}$,以及 AFT 生成的对抗表示 $z_{k}$ 。然后,我们将它们连接起来,以将信息合并为
$m_{k}=\operatorname{concat}\left(h_{k}, z_{k}\right)$
接下来,将 $m_{k}$ 输入全连接层和 softmax 层,输出计算为
$\hat{y}_{k}=\operatorname{softmax}\left(W_{k}^{F} m_{k}+b_{k}^{F}\right)$
其中,$\hat{y} \in \mathbb{R}^{1 \times C}$ 为预测的概率分布 。$W^{F}$ 和 $b^{F}$ 分别为可训练的权重矩阵和偏差 。
2.6 Adversarial Contrastive Learning本文采用的损失函数旨在给定标签信息的条件下最大化正样本之间的一致性同时拉远负样本 。如 Figure 3 ,以  $m_{k}$  作为锚点,具备与  $m_{k}$  相同标签的  $m_{p}$  作为正样本,具备与  $m_{k}$  不同标签的  $m_{a}$  作为负样本 。对比损失的目的是让具有相同标签的样本余弦相似度变大,具有不同标签的样本余弦相似度变小 。最终的损失函数为:
$\mathcal{L}=\mathcal{L}_{c e}+\alpha \mathcal{L}_{s u p}$
这两部分损失分别是:
$\mathcal{L}_{c e}=-\frac{1}{N} \sum\limits ^{N} \sum\limits^{M} y_{k, c} \log \left(\hat{y}_{k, c}\right)$
${\large \mathcal{L}_{s u p}=-\sum\limits _{k \in K} \log \left\{\frac{1}{|P(k)|} \sum\limits _{p \in P(k)} \frac{\exp \left(\operatorname{sim}\left(m_{k}, m_{p}\right) \tau\right)}{\sum\limits _{a \in A(k)} \exp \left(\operatorname{sim}\left(m_{k}, m_{a}\right) \tau\right)}\right\}} $
$k$  代表第几个样本, $c$  代表类别,  $A(k)=\left\{a \in K: y_{a} \neq y_{k}\right\}$  是负样本索引,$P(k)=\left\{p \in K: y_{p}=y_{k}\right\}$  是正样本索引 ,   $\operatorname{sim}(\cdot)$  为余弦相似度,即  $\operatorname{sim}\left(m_{k}, m_{p}\right)=m_{k}^{T} m_{p} /\left\|m_{k}\right\|\left\|m_{p}\right\|$ ,$\tau \in \mathbb{R}^{\dagger}$  是温度超参数 。
一部分研究表明BERT驱动的句子表示容易造成坍塌现象,这是由于句子的语义信息由高频词主导 。在谣言检测中,高频词经常被谣言制造者利用来逃避检测 。因此采用对比学习的方式能够 平滑化句子的语义信息 , 并且理论上能够增加低频但重要的词的权重 。本文通过最小化 $\mathcal{L}$ 来更新模型的参数,但不包括 AFT 的参数 。

推荐阅读