Multi-Modal Graph Neural Network for Joint Reasoning on Vision and Scene Text的读书笔记
研究目的(为什么要做这个工作)
本文的研究工作是为了能够在图像上获取文本或者插图中的信息,从而让机器可以回答关于图像的问题。
本问题的难点在于在图像上读取文本信息,只使用词嵌入模型是远远不够的,因为输入是一个图像的信息而不是关于文本的信息。
模型概述(MM-GNN)
模型将输入的图像转换成图结构,这个图分为了三个子图,分别为描述图像的图,语义的图和数字的图,这三种图通过分别三个整合器来传递信息
模型原理
a.首先定义三个图
- 提取多模态数据的特征
1)图像信息的图
G v G_v Gv v表示visual, v i ∈ V v = [ v i ] i = 1 N v_i \in V_v= [ v_i ]^N_{i=1} vi∈Vv=[vi]i=1NN表示图像中自然图像的候选目标的个数。
2)语义图
G
s
G_s
Gs s表示semantic,
s
i
∈
V
s
=
[
s
i
]
i
=
1
M
s_i \in V_s= [ s_i ]^M_{i=1}
si∈Vs=[si]i=1MM表示图像中文字的目标个数,每一个
s
i
s_i
si是通过词嵌入得到的。
3)数字图
G
n
G_n
Gn n表示numerical,
n
i
∈
V
n
=
[
n
i
]
i
=
1
K
n_i \in V_n= [ n_i ]^K_{i=1}
ni∈Vn=[ni]i=1KK表示图像中数字的目标个数。数字的文本会使用sigmoid映射到-1到1的范围内
b.整合器策略
从模型的图来看,三个模态图分成了三层,主要的跨模态关系为视觉图像与语义图还有语义图与数字图这两种关系。
三个整合器的作用分别是:
1)视觉-语义 整合器具有两个方面的作用,首先是用图像内容去精炼语义图的点,来回答关于自然图像中文本语义的问题。其次,语义图也会精炼图像的特征,从而回答图像中文字所具有的视觉特征。
其具体过程为,在
G
s
G_s
Gs中的每一个顶点
s
i
s_i
si,先计算它与相关顶点之间的attention,整合器通过整合
s
i
s_i
si与其相关的
G
v
G_v
Gv的顶点
v
j
v_j
vj点来更新其特征。在
G
v
G_v
Gv中的点
v
j
v_j
vj确定其视觉上的位置,在
G
s
G_s
Gs中的点
s
i
s_i
si确定目标的语义信息。问题的特征q是通过长短期记忆模型来提取。
attention的计算公式为:
a
v
j
,
s
i
′
=
f
s
(
[
s
i
(
0
)
]
;
f
b
(
b
s
i
)
]
)
T
(
f
v
(
[
v
j
(
0
)
]
;
f
b
(
b
v
j
)
]
)
T
⊙
f
q
(
q
)
)
a^{'}_{v_j,s_i}=f_s([s^{(0)}_i];f_b(b_{s_i})])^T(f_v([v^{(0)}_j];f_b(b_{v_j})])^T\odot{f_q(q)})
avj,si′=fs([si(0)];fb(bsi)])T(fv([vj(0)];fb(bvj)])T⊙fq(q))
a
v
j
,
s
i
s
=
e
x
p
(
a
v
j
,
s
i
′
)
∑
v
j
∈
N
s
i
v
e
x
p
(
a
v
j
,
s
i
′
)
a^s_{v_j,s_i}=\frac{exp(a^{'}_{v_j,s_i})}{\sum_{v_j\in{N^v_{s_i}}}exp(a^{'}_{v_j,s_i})}
avj,sis=∑vj∈Nsivexp(avj,si′)exp(avj,si′)
f
s
,
f
v
f_s,f_v
fs,fv都是提取特征点的机器学习模型。
f
b
f_b
fb是提取bounding boxes特征的MLP,
f
q
f_q
fq是提取问题特征的MLP“;”代表拼接两个向量。这里为了能够让语义信息与视觉信息相匹配,还加入了question文本
通过计算出的attention来更新
s
i
s_i
si的特征
s
i
(
1
)
=
[
s
i
(
0
)
;
∑
v
j
∈
N
s
i
v
;
a
v
j
,
s
i
s
f
v
′
(
v
j
(
0
)
)
]
s^{(1)}_i=[s^{(0)}_i;\sum_{v_j\in{N^v_{s_i}}};a^s_{v_j,s_i}f_{v^{'}(v^{(0)}_j)}]
si(1)=[si(0);vj∈Nsiv∑;avj,sisfv′(vj(0))]
s
i
(
1
)
s^{(1)}_i
si(1)为t=1时的特征。
同样的更新策略用在视觉信息上,公式为:
a
v
j
,
s
i
v
=
e
x
p
(
a
v
j
,
s
i
′
)
∑
s
i
∈
N
v
j
s
e
x
p
(
a
v
j
,
s
i
′
)
a^v_{v_j,s_i}=\frac{exp(a^{'}_{v_j,s_i})}{\sum_{s_i\in{N^s_{v_j}}}exp(a^{'}_{v_j,s_i})}
avj,siv=∑si∈Nvjsexp(avj,si′)exp(avj,si′)
v
j
(
1
)
=
[
v
j
(
0
)
;
∑
s
i
∈
N
v
i
s
a
v
j
,
s
i
v
f
s
′
(
s
j
(
0
)
)
]
v^{(1)}_j=[v^{(0)}_j;\sum_{s_i\in{N^s_{v_i}}}a^v_{v_j,s_i}f_{s^{'}(s^{(0)}_j)}]
vj(1)=[vj(0);si∈Nvis∑avj,sivfs′(sj(0))]
2)语义到语义的整合器
这个整合器的作用是在考虑语义上下文的情况下,精炼每一个语义节点。具体做法依然是对一个
G
s
G_s
Gs中的所有节点,其邻节点计算attention,再更新该节点的特征。
a
s
j
,
s
i
′
=
g
s
1
(
[
s
i
(
1
)
]
;
g
b
(
b
s
i
)
]
)
T
(
g
s
2
(
[
s
j
(
1
)
]
;
g
b
(
b
s
j
)
]
)
T
⊙
g
q
(
q
)
)
a^{'}_{s_j,s_i}=g_{s1}([s^{(1)}_i];g_b(b_{s_i})])^T(g_{s2}([s^{(1)}_j];g_b(b_{s_j})])^T\odot{g_q(q)})
asj,si′=gs1([si(1)];gb(bsi)])T(gs2([sj(1)];gb(bsj)])T⊙gq(q))
s
i
(
2
)
=
[
s
i
(
1
)
;
∑
s
j
∈
N
s
i
s
a
s
j
,
s
i
g
s
3
(
s
j
(
1
)
)
]
s^{(2)}_i=[s^{(1)}_i;\sum_{s_j\in{N^s_{s_i}}}a_{s_j,s_i}g_{s3}{(s^{(1)}_j)}]
si(2)=[si(1);sj∈Nsis∑asj,sigs3(sj(1))]
3)语义到数字整合器
这个整合器的作用是让语义信息赋予数字信息意义。这个整合器的策略与前面相同:
x
i
(
3
)
=
[
x
i
(
0
)
;
∑
s
j
∈
N
x
i
s
a
s
j
,
x
i
h
(
s
j
(
2
)
)
]
x^{(3)}_i=[x^{(0)}_i;\sum_{s_j\in{N^s_{x_i}}}a_{s_j,x_i}h{(s^{(2)}_j)}]
xi(3)=[xi(0);sj∈Nxis∑asj,xih(sj(2))]
经过三个整合器的输出称为OCR。
最后一层是输出预测出来的答案。这个预测结果由视觉特征与OCR特征输入获得。输入的大小为词汇的大小+OCR的数量。还要计算答案是以视觉信息为重,还是以OCR特征为主的attention
y
=
f
a
(
[
f
a
t
t
v
(
v
,
q
)
T
v
;
f
a
t
t
c
(
c
,
q
)
T
c
]
)
y=f_a([f^v_{att}(v,q)^Tv;f^c_{att}(c,q)^Tc])
y=fa([fattv(v,q)Tv;fattc(c,q)Tc])
f
a
t
t
v
f^v_{att}
fattv和
f
a
t
t
c
f^c_{att}
fattc都是Top-down attention networks,
f
a
f_a
fa是一个MLP