论文解读(PGNN)《Rumor detection based on propagation graph neural network with attention mechanism》
论文信息
论文标题:Rumor detection based on propagation graph neural network with attention mechanism
论文作者:Yunrui Zhao, Qianqian Xu, Yangbangyan Jiang, Peisong Wen, Qingming Huang
论文来源:aRxiv 2020
论文地址:download
论文代码:download
1 Introduction
四种 "谣言":
- non rumors, namely verified information
- true rumors, namely the unverified information that turns out to be true
- false rumors, namely the unverified information that turns out to be false
- unconfirmed rumors, namely the unverified information that remains unresolved
贡献:
-
- 提出了一种显式构造谣言传播图的新方法
- 提出了一种基于门控图神经网络的表示学习算法
- 提出了两种不同分类策略的谣言检测模型
- 为了提高检测性能,引入了注意机制
2 Method
2.1 Text embedding
2.2. Node update
使用 Doc2vec 算法得到传播图中每个节点的原始表示 $h_{v}^{(0)}$。然而,这种节点表示 $h_{v}^{(0)}$ 只考虑了文本内容,而忽略了邻域节点的信息和传播图中的拓扑结构。
在单个迭代步骤中,邻居节点首先通过不同类型的关系路径交换信息,然后通过聚合邻域信息和它们自己的信息来更新它们的表示。因此,新获得的节点表示法同时包含了文本信息和上下文信息。
节点 $v$ 的消息聚合函数:
其中,$R$ 是关系路径的集合,$|R|$ 表示关系路径类型的总数。【两种关系路径:如下的实线和虚线】
根据 $\text{Eq.1}$ 这种方式能很快收敛到最终的表示(过平滑)。本文将门控机制纳入 $\text{Eq.1}$ 的更新过程中,优点是消除过平滑。
门控循环神经网络有两种常见的变体:1)long short-term memory(LSTM)、gated recurrent units(GRU)。在这项工作中,本文使用 GRU 作为隐藏单元,而不是 LSTM 来提高效率,因为 GRU 使用了一个更简单的架构,并且可以以更少的参数实现几乎相同的性能
从步骤 $t-1$ 到步骤 $t$ 的更新过程如下所示:其中:
-
- $\odot$ 是元素乘;
- 重置门 $r_{v}^{(t)}$ 决定着有多少之前的隐藏状态 $h_{v}^{(t-1)}$ 被保存到当前的隐藏状态 $\tilde{h}_{v}^{(t)}$;
- 更新门 $z_{v}^{(t)}$ 根据候选状态 $\tilde{h}_{v}^{(t)}$ 和之前的状态 $h_{v}^{(t-1)}$ 确定如何获取当前隐藏状态 $h_{v}^{(t)}$;
- $\sigma(x)$ 和 $\tanh (x)$ 是激活函数;
门控机制的好处:1) 可以控制信息的累积速度;2) 可以减少过度迭代引起的噪声;
GRU 的回顾:
Fig.2 展示了节点 $v$ 根据 Eq.2---Eq.6 的更新过程:【黑色的 dash line 代表感受野】
当在等式之后聚合来自邻居的信息时,我们加入了注意机制来调整权重,修正后的方程式显示为 Eq.7:
$\delta_{v}^{(t)}=\sum\limits _{u \in \mathbb{I}(v)} \sum\limits_{i=1}^{|R|} I\left(\Psi\left(e_{u, v}\right)==r_{i}\right) \alpha_{i} a t t_{u}^{(t-1)} W_{i} h_{u}^{(t-1)}+b_{i} \quad (7)$
注意力得分 $a t t_{u}^{(t-1)}$ 如下:
$\operatorname{att}_{u}^{(t)}=\frac{\exp \left(h_{u}^{(t)} \cdot h_{v}^{(t)}\right)}{\sum\limits _{u^{\prime} \in \mathbb{N}(v)} \exp \left(h_{u^{\prime}}^{(t)} \cdot h_{v}^{(t)}\right)}, u \in \operatorname{IN}(v)\quad (9)$
根据上述过程更新 $T$ 次后,可以得到传播图中每个节点的最终表示。但由于表示的表达能力是通过单层的图神经网络学习的。我们提出的算法也使用了多层架构,更新过程如 Eq.2 到 Eq.6 所示,但是不同层的参数可能完全不同,这使得每一层在更新节点表示时都要关注不同的信息。相邻层中节点表示的关系如下:
$\forall v \in V,\quad h_{v}^{(0)}(m+1)=h_{v}^{\left(T_{m}\right)}(m)\quad (10)$
其中 $T_m$ 为在第 $m$ 层的总更新时间,$h_{v}^{(t)}(m)$ 为节点 $v$ 在第 $m$ 层更新 $t$ 次后的隐藏状态。
2.3 Classifification
Idea1:谣言检测可以看成一个图分类问题:
将所有节点的表示平均池化,并放入 FC 中进行分类:
$g=\tanh \left(\left(\frac{1}{N} \sum_{v \in V} H_{v}\right)^{T} W_{g}+b_{g}\right)\quad (10)$
$\hat{y}=\operatorname{softmax}(F(g))\quad (11)$
Idea2:首先根据每个节点的表示来计算单个的预测概率,然后使用线性求和得到最终的结果:
$\hat{y}=\operatorname{softmax}\left(\sum_{v \in V} \sigma\left(H_{\nu}^{T} W_{e}+b_{e}\right)\right)\quad (13)$
3 Experiment
Datasets
$\begin{array}{l}\text { Precision }=\frac{T P}{T P+F P} \\\text { Recall }=\frac{T P}{T P+F N} \\F_{1}=2 \frac{\text { Precision } \cdot \text { Recall }}{\text { Precision }+\text { Recall }}\end{array}$
Result
因上求缘,果上努力~~~~ 作者:图神经网络,转载请注明原文链接:https://www.cnblogs.com/BlairGrowing/p/16972888.html