Object Relational Graph with Teacher Recommended Learning for Video Captioning论文笔记

本文最后更新于:2021年12月4日 晚上

Object Relational Graph with Teacher-Recommended Learning for Video Captioning论文笔记

[TOC]

占据paperswithcode.comMSRVTT数据集VideoCaption任务榜一的文章,发表在CVPR2020上。论文主要贡献是一个Object Relational Graph(ORG)编码器和一种Teacher Recommended Learning(TRL)训练方式。

整体框架

这篇论文使用了2D-CNN 3D-CNN和Object三种特征,其中Object特征通过图神经网络ORG学习到特征,然后Description Generator通过对三种特征的注意力机制,通过TRL生成句子。

Object Relational Graph编码器

对于视频,提取$L$个关键帧,通过2D-CNN和3D-CNN得到特征$\mathcal F, \mathcal M$,通过预训练的object-detector得到特征$\mathcal {R} = {r^i_k}$,表示第$i$帧第$k$个object的特征,最多$N$个特征,object层面的特征相互是独立的。

对于d维的Object特征,K个特征可以表示为$K\times d$的矩阵,定义$A=\phi(R) \cdot \psi(R)^T$为关系矩阵,其中$\phi,\psi$是两个可学习的线性层,将$A$归一化之后可以得到$\hat A=softmax(A, dim=1)$,类似注意力矩阵,表示每一个object对于其它object有多少的注意力。之后乘上参数和原本的特征得到加强特征$\hat R=\hat A\cdot R\cdot W_r$。

对于关系矩阵的获取,这篇文章用了两种方法,一种是帧内的(P-ORG),另一种是全局的(C-ORG)P-ORG选择帧内的$N$个object,编码他们之间的关系,不同帧的参数是共享的;C-ORG选择全部的$N\times L$个object,但是会筛选出top-k个object来减少复杂度。

Description Generation解码器

解码器部分由attn解码器和language解码器组成:

attn解码器使用LSTM网络,$\overline v$是降维掉时间轴的全局视频特征,$w_{t-1}$是前一个生成的单词,$h^{lang}_{t-1}$是language解码器的上一步hidden变量。

然后通过输入$v_i$和$h^{attn}_{t-1}$得到施加注意力之后的整个视频的特征$c^g_t$。

对于Object层面的特征,也使用注意力机制得到local特征$c^l_t$。

最后送入language解码器,得到输出。

Teacher Recommend Learning(TRL)

其他的方法在生成句子的时候是期望生成Ground Truth的句子,而Ground Truth是固定的${x^{hard}_t}$。

$$
P_t=CAP(w_{<t}|\theta_{CAP}) \ \mathcal L_{CE} = -\sum^{T}_{t=1}\delta(x^h_t)^T \cdot logP_t
$$

而TRL借助外部知识源ELM(Bert或者GPT)得到一个新的概率分布$Q_t$,这里有一个temperature来平滑这个概率分布。

$$
Q_t=ELM(w_{<t},T_e|\theta_{ELM})
$$

因为$Q_t$中有的单词概率实在是太小,所以不管那些单词,计算KL-loss。

$$
\mathcal L_{KL} = -\sum^{T}{t=1} \sum{d} Q^d_t \cdot log P^d_t
$$
最终loss是两个值相加。

实验结果

SOTA

Table 3

Table 4

Figure 6

Table3和Table4可以看出TRL贡献了非常多,超过了ORG部分的贡献量。Figure 6也很直观让人感受到TRL的厉害hh。TRL算是在最后的决策部分结合大规模预训练语言模型,效果显著。

Table 5

仅使用帧内Object和跨帧Object的差距并不是很大。