CFFN的概述如图2所示。主要由三个部分组成:特征提取模块、融合模块和选择模块。对于特征提取,CFFN使用了细粒度的预训练模型BERT和Swin-T。CFFN旨在根据相关度得分将词-区域对分成两部分。从高相关部分探讨一致性,从低相关部分探讨不一致性:
传统的方法往往通过注意力机制获取另一模态的高相关信息,以此推断一致性,然而,他们忽视了低相关部分对假新闻检测的重要性。在这项工作中,作者试图从高相关部分探索真实新闻的一致性,从低相关部分探索假新闻的不一致性。首先利用余弦相似度来评估不同模态片段之间的相关性得分:
s
i
j
=
t
i
v
j
T
∣
∣
t
i
∣
∣
∣
∣
v
j
∣
∣
i
∈
[
1
,
N
]
,
j
∈
[
1
,
M
]
s_{ij}=\frac{t_iv^T_j}{||t_i||\ ||v_j||}\ \ \ \ \ i\in[1,N],j\in[1,M]
sij=∣∣ti∣∣ ∣∣vj∣∣tivjT i∈[1,N],j∈[1,M] ,其中,
s
i
j
s_{ij}
sij表示
t
i
t_i
ti(第i个文本片段)和
v
j
v_j
vj(第j个视觉片段)之间的相关程度,
M
,
N
M,N
M,N分别是视觉和文本片段的数量。为了将高低相关度的片段分离,作者使用一个阈值来将相关度矩阵
S
S
S分为两部分:
{
S
m
=
{
s
i
j
>
λ
}
S
c
=
{
s
i
j
<
=
λ
}
\begin{cases} S_m=\{s_{ij}>\lambda\} \\S_c=\{s_{ij}<=\lambda\}&\end{cases}
{Sm={sij>λ}Sc={sij<=λ} 其中,
????
????
????_????
Sm表示一致部分,词-视觉区域对高度相关,而
????
????
????_????
Sc表示不一致候选部分,其中词-视觉区域对弱相关或不相关。
对于一致性部分的词-区域对,通过注意机制来汇总这些区域的特征,从而获得成对信息:
t
^
i
=
∑
j
=
1
M
σ
(
s
i
j
)
v
j
+
t
i
{
i
,
j
}
∈
S
m
\hat t_i=\sum^M_{j=1}\sigma(s_{ij})v_j+t_i\ \ \ \ \{i,j\}\in S_m
t^i=j=1∑Mσ(sij)vj+ti {i,j}∈Sm 对于不一致区域,则直接进行加法:
c
i
j
=
t
i
⊕
v
j
{
i
,
j
}
∈
S
c
c_{ij}=t_i\oplus v_j\ \ \ \ \ \{i,j\}\in S_c
cij=ti⊕vj {i,j}∈Sc 为了探索一致部分和不一致候选部分的线索,本文分别计算一致分数和不一致分数,然后用这些分数聚合相应部分的特征。以不一致分数为例:
s
i
j
c
=
s
i
g
m
o
i
d
(
M
L
P
(
c
i
j
)
)
s_{ij}^c=sigmoid(MLP(c_{ij}))
sijc=sigmoid(MLP(cij)) 类似地,将
t
^
i
\hat t_i
t^i转换为一致分数
s
i
m
s_i^m
sim。最后,将聚合过程记为:
{
z
m
=
∑
i
=
1
N
s
i
m
t
^
i
i
∈
S
m
z
c
=
∑
i
=
1
N
∑
j
=
1
M
s
i
j
c
c
i
j
{
i
,
j
}
∈
S
c
\begin{cases} z_m=\sum^N_{i=1}s_i^m\hat t_i\ \ \ \ i\in S_m\\z_c=\sum^N_{i=1}\sum^M_{j=1}s_{ij}^cc_{ij}\ \ \ \ \{i,j\}\in S_c&\end{cases}
{zm=∑i=1Nsimt^i i∈Smzc=∑i=1N∑j=1Msijccij {i,j}∈Sc 其中,
????
∈
R
1
×
????
????∈R^{1×????}
m∈R1×d,
????
∈
R
1
×
????
????∈R^{1×????}
c∈R1×d分别表示一致部分和不一致候选部分。
筛选模块
到目前为止,我们的得到了一致性特征和不一致性特征 z m z_m zm z c z_c zc,本文的做法是根据这两个特征(拼接起来)获取权重: w m c = σ ( w m ∘ w c ) w_{mc}=\sigma(w_m\circ w_c) wmc=σ(wm∘wc) 其中, w m w_m wm和 w c w_c wc是 z m z_m zm z c z_c zc分别过了一个线性层映射,根据得到的 w m c w_{mc} wmc融合 z m z_m zm z c z_c zc: z = w m c [ z m ∘ z c ] T z=w_{mc}[z_m\circ z_c]^T z=wmc[zm∘zc]T 将 z z z送入分类器,我们可以获得预测值和交叉熵损失。此外,在本文中,作者试图从高相关部分探索真实新闻的一致性,从弱相关部分探索假新闻的不一致性。因此,为了鼓励模型从正确的部分中选择线索,构造了分区标签,并设计了分区损失函数: L p = ∣ ∣ y p − w m c ∣ ∣ 2 2 \mathcal{L}_p=||y_p-w_{mc}||^2_2 Lp=∣∣yp−wmc∣∣22 ???? ???? ???? ????_{????????} wmc是一个二维向量,第一维表示一致部分的权重,第二维表示不一致候选部分的权重。因此,标签 ???? ???? = ( 1 , 0 ) ????_????=(1,0) yp=(1,0)是真新闻扩大一致部分的权重,而 ???? ???? = [ 0 , 1 ] ????_????=[0,1] yp=[0,1]是假新闻扩大inconsistency-candidate部分的权重。最终的损失由交叉熵和分区损失共同组成: L f i n a l = L + β L p \mathcal{L}_{final}=\mathcal{L}+\beta\mathcal{L}_p Lfinal=L+βLp