人工智能

EANN:多模态假新闻检测的事件对抗神经网络

2021-09-15  本文已影响0人  酷酷的群

论文标题:EANN: Event Adversarial Neural Networks for Multi-Modal Fake News Detection
论文链接:https://dl.acm.org/doi/abs/10.1145/3219819.3219903
论文来源:KDD 2018

一、概述

对于假新闻检测任务,现有方法仍然无法对新出现的、时效性强的假新闻做出有效检测。事实上现有方法容易学习到针对特定事件的特征,然而这些特征不一定会出现在其他事件中。这种特定于事件的特征虽然能够帮助对已验证事件的帖子进行检测,但会损害对新出现事件的检测精度。因此本文所提出的方法致力于学习事件之间能够共享的特征来进行假新闻的检测,目标就是移除不可迁移的特定于事件的特征,保留事件之间可共享的特征。

要想能够移除特定于事件的特征,首先就要去识别。对于事件之间不可共享的特定于事件的特征,可以通过测量对应不同事件的帖子之间的差异来检测。因此,识别特定事件的特征相当于测量不同事件中学习到的特征之间的差异。

本文提出的EANN(Event Adversarial Neural Networks)模型就是用来应对上述挑战,受对抗网络思想的启发,我们引入event discriminator来预测训练阶段的事件辅助标签(表明属于哪个事件的标签),并利用相应的损失来估计不同事件之间特征表示的差异。这个损失越大,不同事件的特征差异就越小。另外由于假新闻帖子通常包含文本和图片两种内容,因此EANN的特征提取器是多模态的。总体来说,EANN包括三个结构:multi-modal feature extractor,fake news detector,event discriminator。feature extractor和fake news detector相互配合来完成假新闻识别任务,同时feature extractor试图“欺骗”event discriminator来学习事件不变性特征。另外,EANN是一个通用的框架,其中的multi-modal feature extractor可以采用各种不同的网络架构。

二、方法

本文采用的模型架构基本上沿用这篇论文所提出的架构:反向传播的无监督域自适应方法

  1. 框架

下图展示了EANN的大体框架设计:

EANN

由于帖子包括文本和图像信息,因此multi-modal feature extractor包括文本和视觉两个特征提取器,然后将它们学习到的特征拼接。fake news detector和event discriminator都连接在multi-modal feature extractor的后面,使用其学习到的特征来作为输入。

  1. Multi-Modal Feature Extractor

使用Text-CNN作为文本的feature extractor,它利用多个窗口大小不同的过滤器来捕捉不同粒度的特征来提取特征。具体的,文本中的每个word使用word embedding来表示,这些word embedding使用给定数据集的预训练的word embedding来初始化,维度为k,第i个词的word embedding表示为T_{i}\in \mathbb{R}^{k}。一个含有n个word的句子就可以表示为:

T_{1:n}=T_{1}\oplus T_{2}\oplus \cdots \oplus T_{n}

\oplus代表拼接。接着一个h大小的卷积核将连续h个词的序列作为输入然后输出一个特征,这个卷积的过程可以表示为:

t_{i}=\sigma (W_{c}\cdot T_{i:i+h-1})

\sigma (\cdot )代表ReLU激活函数,W_{c}代表卷积核权重。经过这一个卷积核卷积过后,这个句子就得到一个特征向量:

t=[t_{1},t_{1},\cdots ,t_{n-h+1}]

然后对这个特征向量做最大池化,输出一个最重要的特征,也就是说一个卷积核最终只会输出一个特征(一个标量)。为了提取不同粒度的特征,我们会采用多种不同大小的卷积核,假设每个不同大小的卷积核使用n_h个,并且有c个不同的大小,那么一共有c\cdot n_h个卷积核,如此Text-CNN对于一个句子提取到的特征向量就是R_{T_{c}}\in \mathbb{R}^{c\cdot n_{h}}。为了确保文本特征向量和视觉特征向量能够有相同的维度pR_{T_{c}}仍然需要一个全连接层来进行维度转换得到最终提取的特征向量R_T

R_{T}=\sigma (W_{tf}\cdot R_{T_{c}})

这里W_{tf}是全连接层的权重矩阵。

使用VGG19作为视觉特征提取器,在VGG19后面添加一个全连接层来调整维度到p,最终得到R_V\in \mathbb{R}^{p}

R_{V}=\sigma (W_{vf}\cdot R_{V_{vgg}})

W_{vf}同样是全连接层的权重矩阵。注意这个过程中预训练VGG19的参数是保持不变的,目的是为了防止过拟合。R_{T}R_{V}最终会拼接到一起得到特征表示R_{F}

R_{F}=R_{T}\oplus R_{V}\in \mathbb{R}^{2p}

我们使用G_{f}(M;\theta _{f}),这里的M是包含文本和图像的帖子的集合。

  1. Fake News Detector

fake news detector在这里采用一个全连接层softmax分类器,用G_{d}(\cdot ;\theta _{d})表示,第i个帖子m_i的预测概率分布表示为:

P_{\theta }(m_{i})=G_{d}(G_{f}(m_{i};\theta _{f});\theta _{d})

使用Y_d代表标签结合,那么fake news detector的交叉熵损失为:

L_{d}(\theta _{f},\theta _{d})=-E_{(m,y)\sim (M,Y_{d})}[y\: log(P_{\theta }(m))+(1-y)log(1-P_{\theta }(m))]

我们需要寻找最优的参数\hat{\theta }_{f},\hat{\theta }_{d}来最小化fake news detector的loss:

(\hat{\theta }_{f},\hat{\theta }_{d})=\underset{\theta _{f},\theta _{d}}{argmin}\; L_{d}(\theta _{f},\theta _{d})

这样的fake news detector如果不加限制只能够学习到特定于事件的特征,因此需要 event discriminator来剔除这些特征以捕获具备事件不变性的特征。

  1. Event Discriminator

event discriminator是一个两层全连接网络,用来将帖子分类到所属的事件,假设一共有K个时间。用G_{e}(\cdot ;\theta _{e})表示,类似的,其损失表示为:

L_{e}(\theta _{f},\theta _{e})=-E_{(m,y)\sim (M,Y_{e})}[\sum_{k=1}^{K}1_{[k=y]}log(G_{e}(G_{f}(m_{i};\theta _{f});\theta _{e}))]

最小化event discriminator的loss的过程为:

\hat{\theta }_{e}=\underset{\theta _{e}}{argmin}\; L_{e}(\theta _{f},\theta _{e})

L_{e}(\theta _{f},\hat{\theta }_{e})能够用来度量不同事件特征分布的不相似性,这个loss越大说明不同事件的特征分布越相似。为了移除特定于事件的特征,我们寻找一个能够使L_{e}(\theta _{f},\hat{\theta }_{e})最大的\theta _{f}。这样feature extractor和event discriminator之间就是一个博弈对抗的过程,一方面feature extractor试图愚弄event discriminator,而event discriminator试图寻找特定于事件的特征来进行事件的分类。

  1. 模型的训练

上述三个部分的最终的loss可以定义为:

L_{final}(\theta _{f},\theta _{d},\theta _{e})=L_{d}(\theta _{f},\theta _{d})-\lambda L_{e}(\theta _{f},\theta _{e})

\lambda是一个平衡因子,在本文中设置\lambda =1。目标是寻找上述L_{final}的鞍点:

(\hat{\theta }_{f},\hat{\theta }_{d})=\underset{\theta _{f},\theta _{d}}{argmin}\; L_{final}(\theta _{f},\theta _{d},\hat{\theta }_{e})\\ \hat{\theta }_{e}=\underset{\theta _{e}}{argmax}\; L_{final}(\hat{\theta }_{f},\theta _{e})

为了达到上述目的,\theta _{f}使用梯度反转层以实现以下方式的更新:

\theta _{f}\leftarrow \theta _{f}-\eta (\frac{\partial L_{d}}{\partial \theta _{f}} -\lambda \frac{\partial L_{e}}{\partial \theta _{f}})\tag{14}

学习率按照以下方式进行衰减:

\eta ^{'}=\frac{ \eta }{(1+\alpha \cdot p)^{\beta }} \tag{15}

这里\alpha =10,\beta =0.75p根据训练过程从01变换。

总结来说,整个EANN的训练过程如下:

训练

三、实验

在Twitter和Weibo数据集上进行了实验,数据集统计结果如下:

数据集统计

对比了多个baseline与EANN的实验结果:

实验
上一篇 下一篇

猜你喜欢

热点阅读