O2NA: An Object-Oriented Non-Autoregressive Approach for Controllable Video Captioning
- 发表:ACL 2021
- idea:controllable video caption,可以通过限制object预测来强调caption的关注点。例如如下图片,我们希望它关注的是“超速”,而不是“a man is watch people ride down the road”。
- 方法:主要分三步:1)识别focus的目标并预测在caption中的位置;2)生成相关属性和关系words形成一个粗糙的caption;3)结合video information细化caption。由于object是在其他词汇之前生成的,因此无法使用word-by-word这样的自回归方式,作者使用了一种非自回归的方法
- Architecture
1. Object Predictor (OP)
-
video feature: V = L i n e a r ( 2 D ) ⊕ L i n e a r ( 3 D ) V = Linear(2D) \oplus Linear(3D) V=Linear(2D)⊕Linear(3D)
-
basic module:Transformer decoder(TFM)。
-
定义object ground truth:
o i ∗ = 1 o_i^*=1 oi∗=1表示标注有这个object,反之没有;M表示object词库大小;这里是controllable
,可以预定义想要让caption关注的object,将其设置为1。但是我觉得实际操作难以实现。
这里MP表示mean pooling, O ∈ R M O \in R^M O∈RM -
object loss
2. Length Predictor (LP)
- 要实现非自回归方式的预测一般都需要这一步预测输出序列长度。
p l ∈ R l m a x p_l \in R^{l_{max}} pl∈Rlmax表示概率, l m a x l_{max} lmax表示定义的长度最大值,为30 - length loss
3. Object Generator (OG)
为了实现非自回归解码,使用单层Transformer decoder+Linear+softmax。输入是fully masked sequence:,
- 预测值与ground truth
p 0 ∈ R l × D p_0 \in R^{l \times D} p0∈Rl×D, D D D表示词汇表大小
- object generator loss
4. Caption Generator (CG)
- 与object generator类似,只是输入和目标不同。
X 1 X_1 X1是 Y o b j ∗ Y_{obj}^* Yobj∗或 Y o b j Y_{obj} Yobj在训练和测试阶段 - caption loss
where - 校正细调
由于非自回归的方法会存在“multi-modality problem”,例如一个单词出现在不同的位置从而形成不同的caption(没看懂)。所以作者使用前人的方法进行细化。
X 2 X_2 X2为随机mask一定概率的 Y c a p ∗ Y_{cap}^* Ycap∗或 Y 1 Y_1 Y1在训练和测试阶段 - 校正损失
- objective loss
Experiments
感觉这篇文章的亮点并不在于指标,因为其实并没有SOTA。而是在于提出的O2NA允许一种简单的方法来控制视频字幕的内容,即题目中提及的controllable。