【论文】UNITER


【论文】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 的双向连接也能实现跨模态的交互

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,wh](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

被遮掉的词记为 w m \mathbf w_{\mathbf m} wm,其附近的词为 w \ m \mathbf w_{\backslash\mathbf m} w\m,目标采用最小负对数似然损失,包括对周围词的观察和对所有图像区域的观察

MRFR

输入的 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

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

MRC 是采用了一种预测 hard label 的方式,即输出 0 or 1,我们也可以考虑采用 soft label 的方式——比较两个输出的分类分布

ITM

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} TRT×K 表示学习得到的 transport plan,它提供了一种最优化 w \mathbf w w v \mathbf v v 之间对齐的方案

作者主要考虑 OT 下面的 3 点特性非常适合 WRA 任务:

  1. self-normalization: T \mathbf T T 中所有的元素之和为 1
  2. sparsity:优化结束后, T \mathbf T T 至多只有 2 ⋅ m a x ( K , T ) − 1 2\cdot max(K,T)-1 2max(K,T)1 个非零元素,这样可以得到一个易于解释且稳定的对齐方案
  3. 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=1Taiδwi, a={ai}i=1Tν=j=1Kbjδ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=1Tai=j=1Kbj=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=1Tj=1KTijc(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)={TR+T×KT1m=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)=1wi2vj2wiTvj

实际中计算 T \mathbf T T 是相当耗费计算资源的,所以采用 IPOT 算法近似求解 T \mathbf T T

Experiments

下表展现了 UNITER Base 和 Large 在 6 个下游任务、包含 9 个数据集上的表现:UNITER-Base 在 9 个数据集上面几乎都好于其他的模型,而 UNITER-Large 则取得了当前最好的效果

Reference

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值