当前位置:   article > 正文

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

hmcan模型

整理了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/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/656969
推荐阅读
相关标签