赞
踩
以往的假新闻检测方法存在以下不足:未能利用多模态上下文信息,提取每条新闻的高阶互补信息来增强对假新闻的检测;在很大程度上忽略了文本内容的完整层次语义,以帮助学习更好的新闻表示。
基于这些观察,本文提出了一种新的分层多模态上下文注意网络(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} si∈Rdw是BERT输出层单词的隐藏状态, d w d_w dw是词嵌入向量的维度。 o i ∈ R d r o_i\in R^{d_r} oi∈Rdr是图片的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+As⋅FCsV(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+Aco⋅FCcoV(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/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。