论文笔记:假新闻检测的分层多模态上下文注意网络

整理了SIGIR2021 Hierarchical Multi-modal Contextual Attention Network for Fake News Detection)论文的阅读笔记

背景

  以往的假新闻检测方法存在以下不足:未能利用多模态上下文信息,提取每条新闻的高阶互补信息来增强对假新闻的检测;在很大程度上忽略了文本内容的完整层次语义,以帮助学习更好的新闻表示。
  基于这些观察,本文提出了一种新的分层多模态上下文注意网络(HMCAN),该网络对多模态上下文信息和文本的分层语义进行联合建模,用于假新闻检测。具体来说,分别使用BERT和ResNet提取文本和图片的特征,这些特征是token级别的,然后将获得的图像和文本表示输入到多模态上下文注意网络中,以融合模态间和模态内的关系。最后设计了一个分层编码网络来捕获丰富的分层语义,用于假新闻检测。
  文中所使用的文本的分层语义,实际上指的就是bert的多隐藏层输出。通过本文提出的分层多模态上下文注意网络,可以模态内、模态间的关系和文本的分层语义。图一是来自Twitter的多模态帖子的示例。
在这里插入图片描述

模型

特征提取

  为了精确地建模词的语义和语言上下文,本文使用BERT来生成词的嵌入向量。对于每张图像,我们使用预训练模型ResNet50提取区域特征。这些模型都是预训练的,在网络训练的过程中固定参数。将提取到的特征表示为: S = { s 1 , . . . , s m } = B E R T ( W ) S=\{s_1,...,s_m\}=BERT(W) S={s1,...,sm}=BERT(W) O = { o 1 , . . . , o n } = R e s N e t 50 ( R ) O=\{o_1,...,o_n\}=ResNet50(R) O={o1,...,on}=ResNet50(R)  其中, s i ∈ R d w s_i\in R^{d_w} siRdw是BERT输出层单词的隐藏状态, d w d_w dw是词嵌入向量的维度。 o i ∈ R d r o_i\in R^{d_r} oiRdr是图片的token嵌入的维度。

跨模态融合

  为了有效地融合帖子的文本特征和视觉特征,本文设计了一个多模态上下文关注网络来构建多模态上下文信息,并从中提取高阶互补信息。如图2所示
在这里插入图片描述
  每个多模态上下文注意网络由两个上下文转换单元(contextual Transformer1和contextual Transformer2)组成,将图片和文本的token级特征分别交叉送入,以此进行模态间交互和互相加权。
  其中每个上下文转换单元则又由两个基于Transformer的架构组成。这两个模块分别负责模态内自注意和模态间注意,将来自不同模式的数据作为输入(input1和input2),首先将input1送入第一个transformer进行模态内自注意,然后将经过自注意的结果作为Q送入第二个transformer进行模态间注意交互。transformer的过程不再赘述,公式推导如下:
  模态内自注意transformer过
A s = s o f t m a x ( F C s Q ( i n p u t 1 ) ⋅ F C s K ( i n p u t 1 ) T d ) A_s=softmax(\frac{FC_s^Q(input1)\cdot FC_s^K(input1)^T}{\sqrt{d}}) As=softmax(d FCsQ(input1)FCsK(input1)T) H s ′ = l a y e r _ n o r m ( i n p u t 1 + A s ⋅ F C s V ( i n p u t 1 ) ) H_s'=layer\_norm(input1+A_s\cdot FC_s^V(input1)) Hs=layer_norm(input1+AsFCsV(input1)) H s = l a y e r _ n o r m ( H s ′ + F C s f f ( H s ′ ) ) H_s=layer\_norm(H_s'+FC_s^{ff}(H_s')) Hs=layer_norm(Hs+FCsff(Hs))  其中, A s A_s As是自注意亲和度矩阵, F C s f f FC_s^{ff} FCsff是一个两层的全连接网络,即transformer架构中的FFN层。
  模态间交互transformer过程:
A c o = s o f t m a x ( F C c o Q ( i n p u t 2 ) ⋅ F C c o K ( H s ) T d ) A_{co}=softmax(\frac{FC_{co}^Q(input2)\cdot FC_{co}^K(H_s)^T}{\sqrt{d}}) Aco=softmax(d FCcoQ(input2)FCcoK(Hs)T) H c o ′ = l a y e r _ n o r m ( i n p u t 2 + A c o ⋅ F C c o V ( H s ) ) H_{co}'=layer\_norm(input2+A_{co}\cdot FC_{co}^V(H_s)) Hco=layer_norm(input2+AcoFCcoV(Hs)) H c o = l a y e r _ n o r m ( H c o ′ + F C c o f f ( H c o ′ ) ) H_{co}=layer\_norm(H_{co}'+FC_{co}^{ff}(H_{co}')) Hco=layer_norm(Hco+FCcoff(Hco))  经过这个网络后,将 H s H_s Hs H c o H_{co} Hco合并成两个特征向量(池化),然后将它们concat到一起,作为多模态上下文表示,记为 C T I C_{TI} CTI C I T C_{IT} CIT
  图中的Contextual Transformer1和Contextual Transformer2之间不共享权重。对于多模态上下文注意网络,令两个模块的输出分别为 C T I C_{TI} CTI C I T C_{IT} CIT。整个多模态上下文关注网络的输出结果为 C = α C T I + β C I T C=\alpha C_{TI}+\beta C_{IT} C=αCTI+βCIT

分层编码网络

  文章提出,BERT具有11个中间层,这些中间层可以为文本提供丰富的分层语义信息,为了利用这一点,我们可以对12层输出中的每一层应用上下文转换器,但是这样太复杂了。为了解决这个问题,本文首先通过对BERT的每12/𝑔相邻层进行积分,将12层输出减少为𝑔组输出。具体来说,我们让𝑔= 3,并将BERT的每4个相邻层的输出加起来。
  也就是说,当𝑔= 3时,我们得到了三个BERT的特征向量,这些向量的维度相同,由BERT的不同隐藏层嵌入组合而成。将这三组特征分别与视觉特征送入multi-modal contextual attention network中,我们就得到了三个跨模态输出,分别记为 C 0 C^0 C0 C 1 C^1 C1 C 2 C^2 C2,最终送入分类头的特征为: C = c o n c a t ( C 0 , C 1 , C 2 ) C=concat(C^0,C^1,C^2) C=concat(C0,C1,C2)

实验

  本文在微博、推特和PHEME进行了实验:
在这里插入图片描述
  本文提出的HMCAN在TWITTER和PHEME数据集上优于所有base。
  消融实验设置:

  • HMCA-V:HMCAN的一种变体,去掉了视觉信息,只使用文本信息。
  • HMCAN-C:HMCAN的一种变体,移除多模态上下文注意网络。
  • HMCAN-𝐻:HMCAN的变体,删除层次信息,只使用BERT模型输出的最后状态。
    在这里插入图片描述
    实验中的一些可视化:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一本糊涂张~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值