【论文】Chen, Yen-Chun, Linjie Li, Licheng Yu, Ahmed El Kholy, Faisal Ahmed, Zhe Gan, Yu Cheng, and
Jingjing Liu. UNITER: UNiversal Image-TExt Representation Learning. (pdf)
What is UNITER
UNITER 主要的不同是给多模态社区带来了新的同于 ViLBERT、LXMERT 的路线——在模态特征融合方面,可以共享一个编码器。虽然 encoder 的输入源不同,但是通过 transformer 的双向连接也能实现跨模态的交互
![](https://i-blog.csdnimg.cn/blog_migrate/e8b593b42785ae1465ffeb7d4fb0c3a6.png)
UNITER 由 3 部分组成:
有 2 种 Embedder 结构,Image Embedder 通过 Faster-RCNN 输出的 ROI feature 和 7-D 的位置特征 [ x 1 , y 1 , x 2 , y 2 , w , h , w ∗ h ] [x_1,y_1,x_2,y_2,w,h,w*h] [x1,y1,x2,y2,w,h,w∗h](normalized top/left/bottom/right coordinates, width, height, and area)进行融合建模;Text Embedder 参考 BERT 输入, token embedding 和 position embedding 相加之后经过一个 LayerNorm 得到 text feature
建模完的 image feature 和 text feature 直接接入 transformer 进行双向建模,融合两种模态,从而达成目的,不同于 two-stream 预训练模型,这两类模态在 UNITER 中共享同一个 encoder
作者设计了 4 种预训练的任务去训练模型,
- 前三个任务 Masked Language Modeling(MLM)、MRM(Mask Region Model)和 Image-Text-Matching(ITM)都是一些常见的多模态预训练任务。其中,MRM 有 3 个变体任务:MRC(Mask Region Cls),MRFR(Mask Regin Feature Regress),MRC-KL(MRC + KL divergency)
- 第四个任务是 WRA(Word Region Alignment),这个任务主要关心的是词和图像区域的对齐,和 ITM 不同,ITM 关心的是句子和图像的对齐
Pre-training Tasks
MLM
![](https://i-blog.csdnimg.cn/blog_migrate/8eb6f12f28cde10ae2f098eefa67b0eb.png)
被遮掉的词记为 w m \mathbf w_{\mathbf m} wm,其附近的词为 w \ m \mathbf w_{\backslash\mathbf m} w\m,目标采用最小负对数似然损失,包括对周围词的观察和对所有图像区域的观察
MRFR
![](https://i-blog.csdnimg.cn/blog_migrate/f79299bd183edcb06b4b42cad7346aea.png)
输入的 ROI pooled feature 记为 r ( v m ( i ) ) r(\mathbf v_{\mathbf m}^{(i)}) r(vm(i)),transformer 输出的结果经过一层 FC layer 变换到和 ROI pooled feature 一样的维度大小,记为 h θ ( v m ( i ) ) h_{\theta}(\mathbf v_{\mathbf m}^{(i)}) hθ(vm(i)) 表示遮罩区域预测的结果,目标采用 L2 损失
MRC
![](https://i-blog.csdnimg.cn/blog_migrate/521a6abbc2735a95b13c11859fb839d0.png)
transformer 的输出经过一层 FC layer 和一层 softmax 得到一个归一化的预测分布 g θ ( v m ( i ) ) g_{\theta}(\mathbf v_{\mathbf m}^{(i)}) gθ(vm(i)),由于在数据集中并没有提供每个对象的分类标签,所以将被遮掉的区域通过 Faster RCNN 用对象检测器得到置信度分数最高的分类标签,同时得到一个 one-hot vector c ( v m ( i ) ) c(\mathbf v_{\mathbf m}^{(i)}) c(vm(i)),目标使用交叉熵损失
MRC-KL
![](https://i-blog.csdnimg.cn/blog_migrate/33bc96d856b2c196a536f0628b864bad.png)
MRC 是采用了一种预测 hard label 的方式,即输出 0 or 1,我们也可以考虑采用 soft label 的方式——比较两个输出的分类分布
ITM
![](https://i-blog.csdnimg.cn/blog_migrate/da98625b53d34a741806cd120ef94916.png)
UNITER 中同样也有 [CLS] 这样的 special token,在 [CLS] 上应用一个 FC layer 计算输入图文对的匹配得分,记为 s θ ( v , w ) s_{\theta}(\mathbf v, \mathbf w) sθ(v,w),很显然 ITM 是一个二分类问题,输出标签记为 y ∈ { 0 , 1 } y\in\left\{0,1\right\} y∈{0,1},目标采用二进制交叉熵损失
WRA
WRA 使用了 Optimal Transport,记 T ∈ R T × K \mathbf T\in\mathbb R^{T\times K} T∈RT×K 表示学习得到的 transport plan,它提供了一种最优化 w \mathbf w w 和 v \mathbf v v 之间对齐的方案
作者主要考虑 OT 下面的 3 点特性非常适合 WRA 任务:
- self-normalization: T \mathbf T T 中所有的元素之和为 1
- sparsity:优化结束后, T \mathbf T T 至多只有 2 ⋅ m a x ( K , T ) − 1 2\cdot max(K,T)-1 2⋅max(K,T)−1 个非零元素,这样可以得到一个易于解释且稳定的对齐方案
- efficiency:与常规的线性规划求解不同,OT 只用到迭代和矩阵向量乘法就可以解决,很适合大规模的模型预训练使用
具体来说,记
(
w
,
v
)
(\mathbf w,\mathbf v)
(w,v)的离散分布为
μ
,
ν
\mathbf\mu,\mathbf\nu
μ,ν,其中
μ
=
∑
i
=
1
T
a
i
δ
w
i
,
a
=
{
a
i
}
i
=
1
T
ν
=
∑
j
=
1
K
b
j
δ
v
j
,
b
=
{
b
j
}
j
=
1
T
\mathbf\mu=\sum\limits_{i=1}^T\mathbf a_i\delta_{\mathbf w_i},\ \mathbf a=\left\{\mathbf a_i\right\}_{i=1}^T\\ \mathbf\nu=\sum\limits_{j=1}^K\mathbf b_j\delta_{\mathbf v_j},\ \mathbf b=\left\{\mathbf b_j\right\}_{j=1}^T
μ=i=1∑Taiδwi, a={ai}i=1Tν=j=1∑Kbjδvj, b={bj}j=1T
a
,
b
\mathbf a,\mathbf b
a,b 作为权重向量,
∑
i
=
1
T
a
i
=
∑
j
=
1
K
b
j
=
1
\sum\limits_{i=1}^T\mathbf a_i=\sum\limits_{j=1}^K\mathbf b_j=1
i=1∑Tai=j=1∑Kbj=1
于是,
μ
,
ν
\mathbf\mu,\mathbf\nu
μ,ν 之间的 OT distance 就可以用于训练图文对
(
w
,
v
)
(\mathbf w,\mathbf v)
(w,v) 对齐,用数学公式描述为
L
W
R
A
(
θ
)
=
D
o
t
(
μ
,
ν
)
=
m
i
n
T
∈
Π
(
a
,
b
)
∑
i
=
1
T
∑
j
=
1
K
T
i
j
⋅
c
(
w
i
,
v
j
)
\mathcal L_{WRA}(\theta)=\mathcal D_{ot}(\mathbf\mu,\mathbf\nu)=\underset{T\in\Pi(\mathbf a,\mathbf b)}{min}\ \sum_{i=1}^T\sum_{j=1}^K\mathbf T_{ij}\cdot c(\mathbf w_i,\mathbf v_j)
LWRA(θ)=Dot(μ,ν)=T∈Π(a,b)min i=1∑Tj=1∑KTij⋅c(wi,vj)
其中,
Π
(
a
,
b
)
=
{
T
∈
R
+
T
×
K
∣
T
1
m
=
a
,
T
T
1
n
=
b
}
\Pi(\mathbf a,\mathbf b)=\left\{\mathbf T\in\mathbb R_+^{T\times K}|\mathbf T\mathbf 1_m=\mathbf a,\mathbf T^T\mathbf 1_n=\mathbf b\right\}
Π(a,b)={T∈R+T×K∣T1m=a,TT1n=b},
1
n
\mathbf 1_n
1n 表示一个维度为
n
n
n 的全 1 向量,
c
(
w
i
,
v
j
)
c(\mathbf w_i,\mathbf v_j)
c(wi,vj) 是计算
w
i
\mathbf w_i
wi 和
v
j
\mathbf v_j
vj 之间距离的代价函数,在实验中采用余弦距离,即
c
(
w
i
,
v
j
)
=
1
−
w
i
T
v
j
∣
∣
w
i
∣
∣
2
∣
∣
v
j
∣
∣
2
c(\mathbf w_i,\mathbf v_j)=1-\frac{\mathbf w_i^T\mathbf v_j}{||\mathbf w_i||_2||\mathbf v_j||_2}
c(wi,vj)=1−∣∣wi∣∣2∣∣vj∣∣2wiTvj
实际中计算 T \mathbf T T 是相当耗费计算资源的,所以采用 IPOT 算法近似求解 T \mathbf T T
Experiments
下表展现了 UNITER Base 和 Large 在 6 个下游任务、包含 9 个数据集上的表现:UNITER-Base 在 9 个数据集上面几乎都好于其他的模型,而 UNITER-Large 则取得了当前最好的效果
![](https://i-blog.csdnimg.cn/blog_migrate/7ee348c490c9d0c40ff0ca0d1af4aee0.png)