【论文学习】EANN

2,049 阅读7分钟

简介

假新闻可以利用多媒体内容对读者进行误导和传播,产生负面影响,甚至操纵公众事件,在社交媒体上如何识别新出现事件是否为假新闻是一个新的独特挑战。论文中提出了一个端到端的框架称为事件对抗神经网络(Event Adversarial Neural Network,EANN)基于多模态特征检测假新闻。受对抗网络的启发,EANN在训练阶段结合事件鉴别器来预测事件辅助标签,而相应的损失可以用来估计不同事件之间特征表示的不相似性。

EANN包括三个主要部分:多模态特征提取器、假新闻检测器和事件鉴别器。多模态特征提取器配合假新闻检测器完成假新闻识别的主要任务,同时多模态特征提取器试图欺骗事件识别器来学习事件不变量表示。使用卷积神经网络(CNN)从文章的文本和视觉内容中自动提取特征。

研究内容

模型总览

模型的目标是学习用于虚假新闻检测的可转移和可区分的特征表示,为了实现这一点,EANN模型集成了三个主要组件:多模态特征提取器、假新闻检测器和事件鉴别器,如图1所示:

image.png

  • 由于社交媒体上的帖子通常包含不同形式的信息(比如文本帖子和附加图片),使用多模态特征提取器(包括文本和视觉特征提取器)处理不同类型的输入。
  • 在学习文本和视觉潜在特征表征之后,它们被连接在一起,形成最终的多模态特征表示,假新闻检测器和事件识别器都是建立在多模态特征提取器之上的。
  • 假新闻检测器将学习到的特征表示作为输入,预测帖子的真伪。事件识别器根据这个潜在的表示来标识每个帖子的事件标签。

多模态特征提取器

文本特征提取

文本特征提取器的输入为文章中词的顺序列表,采用卷积神经网络(convolutional neural networks, CNN)作为文本特征提取器的核心模块。

如图1所示,一个修改的CNN模型称之为Text-CNN,其架构如图2所示,它利用不同窗口大小的多个过滤器捕捉不同粒度的特征来识别假新闻。

image.png

文本特征提取器的具体步骤是将文本中的每个词表示为一个词嵌入向量。句子中的第ii个词对应的kk维词嵌入向量可以表示为:YiRkY_i \in \mathbb{R}^k,因此一个包含nn个词的句子可以表示为:

T1:n=T1T2...TnT_{1:n}=T_1\oplus T_2\oplus ...\oplus T_n

\oplus表示向量的串联操作。窗口大小为hh的卷积滤波器将句子中连续的hh个单词序列作为输入,输出一个特征,以从第ii个单词开始的连续hh个单词序列为例,过滤操作可以表示为:

ti=σ(WcTi:i+h1)t_i=\sigma (W_c \cdot T_{i:i+h-1})

其中,σ()\sigma()为ReLU激活函数,WcW_c表示过滤器的权重。将操作应用到句子的所有词中,得到这个句子的特征向量:

t=[t1,...,tnh+1]t=[t_1,...,t_{n-h+1}]

对于tt使用最大池化操作获得最大值,从而提取出最重要的信息。

为了提取不同粒度的文本特征,应用了不同的窗口大小。对于一个特定的窗口大小,有nhn_h个不同的过滤器。假设有cc种可能的窗口大小,总共有c×nhc\times n_h个过滤器。在最大池化操作后得到的文本特征可以表示为RTcRc×nhR_{T_c}\in \mathbb{R}^{c\times n_h},最终使用一个全连接层用来获得文本特征的最终表示(用RTRpR_T \in \mathbb{R}^p表示),并且通过下面的操作令文本特征与视觉特征表示拥有相同的维度(记为pp):

RT=σ(WtfRTc)R_T=\sigma(W_{tf}\cdot R_{T_c})

WtfW_{tf}是全连接层的权重矩阵。

视觉特征提取

视觉特征提取器的输入图片样本记为VV,使用了预处理后的VGG19来提取视觉特征,在VGG19网络的最后一层之上,增加了一个全连接层,将最终的视觉特征表示的维度调整为pp。定义pp维视觉特征表示为RVRpR_V\in \mathbb{R}^p,视觉特征提取器中最后一层的操作可以表示为:

RV=σ(WvfRVvgg)R_V=\sigma(W_{vf}\cdot R_{V_{vgg}})

RVvggR_{V_{vgg}}为从预训练VGG19中获得的视觉特征表示,WvfW_{vf}为视觉特征提取器中的全连接层权重。

文本特征RTR_T和视觉特征RVR_V将会被连接成为多模态特征表示,写作:

RF=RTRVR2pR_F=R^T\oplus R_V \in \mathbb{R}^{2p}

定义多模态特征提取器为Gf(M:θf)G_f(M:\theta_f)MM为一组文本和视觉的帖子样本,是多模态特征提取器的输入,而θf\theta_f表示学习参数。

假新闻检测器

假新闻检测器使用softmax部署一个全连接层来预测一个帖子内容的真假,其输入是多模态特征提取器的输出RFR_F。定义假新闻检测器为:Gd(;θd)G_d(\cdot ; \theta_d)θd\theta_d表示所有参数。将假新闻检测器对第ii个贴子的预测结果定义为mim_i,则该贴子为假新闻的概率为:

Pθ(mi)=Gd(Gf(mi;θf);θd)P_{\theta}(m_i)=G_d(G_f(m_i;\theta_f);\theta_d)

使用YdY_d表示样本标签的集合,使用交叉熵计算预测损失:

Ld(θf,θd)=E(m,y) (M,Yd)[ylog(Pθ(m))+(1y)log(1Pθ(m))]L_d(\theta_f,\theta_d)=-\mathbb{E}_{(m,y)~(M,Y_d)}[ylog(P_{\theta}(m))+(1-y)log(1-P_{\theta}(m))]

通过寻找最优参数θf^,θd^\hat{\theta_f},\hat{\theta_d}来最小化损失函数。

假新闻检测的一个主要挑战来自于训练数据集没有涵盖的事件,这要求学习器能够学习新出现事件的可转移特征表示。然而直接最小化检测损失只能帮助检测训练数据集中包含的事件的假新闻,这样学习器只能获得事件特定的知识(例如,关键字)或模式,而我们需要使模型能够学习更多可以捕获所有事件中的公共特性的通用特性表示,这种表示应该拥有事件不变性,并且不包含任何特定于事件的特性。

为实现上述的目标,需要删除每个事件的唯一性,即:测量不同事件之间特征表示的不相似性,并删除它们,以捕获事件不变特征表示

事件辨别器

事件鉴别器是由两个全连接层和相应的激活函数组成的神经网络,其目的是根据多模态特征表示将帖子正确分类为KK种事件中的一个,将事件辨别器定义为Ge(RF;θe)G_e(R_F;\theta_e)θe\theta_e表示其参数。用交叉熵定义事件判别器的损失:

Le(θf,θe)=E(m,y) (M,Ye)[k=1k1[k=y]log(Ge(Gf(m;θf));θe)]L_e(\theta_f,\theta_e)=-\mathbb{E}_{(m,y)~(M,Y_e)}[\sum^k_{k=1}1_{[k=y]}log(G_e(G_f(m;\theta_f));\theta_e)]

事件辨别器的目标是寻找参数θe^\hat{\theta_e}来最小化损失函数。

Le(θf,θe)L_e(\theta_f,\theta_e)用于估计不同事件分布的差异,较大的损失意味着不同事件表示的分布是相似的,学习到的特征是事件不变的。为了消除每个事件的唯一性,需要寻找参数θf^\hat{\theta_f}来最大化Le(θf,θe^)L_e(\theta_f,\hat{\theta_e})

这就体现了网络的对抗性,一方面,多模态特征提取器试图愚弄事件辨别器,使辨别损失最大化,另一方面,事件辨别器的目的是发现特征表示中包含的事件特定信息,从而识别事件。

模型集成

在训练阶段中:

  • 多模态特征提取器:Gf(;θf)G_f(\cdot;\theta_f),它需要结合新闻检测器Gd(;θd)G_d(\cdot;\theta_d)来最小化检测损失Ld(θf,θd)L_d(\theta_f,\theta_d)
  • 多模态特征提取器:Gf(;θf)G_f(\cdot;\theta_f),尝试愚弄事件辨别器Ge(;θe^)G_e(\cdot;\hat{\theta_e})通过最大化事件辨别损失Le(θf,θe)L_e(\theta_f,\theta_e)来愚弄事件辨别器Ge(;θe^)G_e(\cdot;\hat{\theta_e})
  • 事件辨别器Ge(RF;θe)G_e(R_F;\theta_e)基于多模态特征表示,在最小化事件识别损失的前提下,对每个事件进行识别。

综上所述,定义这场对抗的最终损失为:

Lfinal(θf,θd,θe)=Ld(θf,θd)λLe(θf,θe)L_{final}(\theta_f,\theta_d,\theta_e)=L_d(\theta_f,\theta_d)-\lambda L_e(\theta_f,\theta_e)

λ\lambda控制假新闻检测目标函数与事件辨别目标函数之间的权衡(文中λ=1\lambda=1)。

对于优化参数,EANN尝试寻找最终目标函数的一个鞍点,即可能对于一个最优点:

(θf^,θd^)=argminθf,θdLfinal(θf,θd,θe^) θe^=argmaxθeLfinal(θf^,θe)(\hat{\theta_f},\hat{\theta_d})=arg\min_{\theta_f,\theta_d}L_{final}(\theta_f,\theta_d,\hat{\theta_e}) \\ \ \\ \hat{\theta_e}=arg\max_{\theta_e}L_{final}(\hat{\theta_f},\theta_e)

通过随机梯度下降法来解决上面的问题。

这里采用了引入的梯度反转层(gradient reversal layer,GRL),梯度反转层在前向阶段起到恒等函数的作用,将梯度乘以λ-\lambda,然后将结果在反向传播阶段传递给上一层。在多模态特征提取器和事件辨别器之间可以方便地添加GRL,如图1所示的reversal layer。

θfθfη(LdθfλLeθf)\theta_f \leftarrow \theta_f-\eta(\frac{\partial L_d}{\partial \theta_f}-\lambda\frac{\partial L_e}{\partial \theta_f})

为了稳定训练过程,用下述方式衰减学习速率ηη:

η=fracη(1+αp)β,α=10,β=0.75\eta'=frac{\eta}{(1+\alpha \cdot p)^\beta},\alpha=10,\beta=0.75

pp是一个对应训练进度从0到1的线性变化量。

事件对抗神经网络(EANN)的详细步骤总结在算法1中:

image.png