Object Relational Graph with Teacher-Recommended Learning for Video Captioning
论文链接
Motivation:1.忽略了视频中物体的交互,2.对内容相关的词的充分训练带来的long-tailed问题。
解决:通过GCN对视频进行局部特征提取,通过引入外部语言模型解决长尾问题。
具体:提出了ORG捕获视觉表示的交互特征涉及了一个老师推荐学习TRL来充分利用外部语言模型ELM,将语言知识整合到caption模型中,ELM生成了在语义上更相似的词proposal,扩展了用于训练的ground truth 词,以处理长尾问题。
图2是模型框架,构造了一个基于图形的对象编码器,它的核心是一个可学习的对象关系图(ORG),它可以动态地学习不同对象之间的交互。描述生成器以step by step的方式生成每个单词,并在空间和时间上提取视觉特征。在学习过程中,不仅使用常规的教师强制学习策略(TEL),而且使用教师推荐学习策略(TRL)分别学习任务特异性知识和外部语言知识。
Object Relation Graph based Visual Encoder
给定一个视频的帧序列,抽取T个关键帧,在关键帧前后收集小范围连续的视频帧作为视频的动态时间表示,然后分别用2DCNNs和3DCNNs来对关键视频帧和连续的关键视频帧提取全局特征,分别使用F={fi}、M={mi}表示,i表示第i个关键帧,i=1,…,L,L表示关键帧的数目。
人们总是根据一个物体与视频中其他物体的关系来描述它,为了得到更细节的物体表示,他们使用训练好的目标检测模型去检测每个关键帧的类别模糊的物体,并且抽取特征。但这种方法提取的物体特征是相互独立的,他们在时间和空间上没有交互。
为了从周围物体中学习得到关系信息,本文为对象集定义了一个关系图,并使用它更新物体特征。具体地,给定K个物体,每个物体作为一个节点,让R∈RK×d表示d维特征的K个物体,A∈RK×K表示K个节点的关系协方差矩阵。
随后,对A进行归一化,使连接到同一节点的边和等于1:
A可以看作是中心对象从周围对象获得的信息。应用GCNs进行关系推理,将原始对象特征R更新为Rˆ:
本文探索了两种关系图,如图3所示,P-ORG和C-ORG,具体地,前者是在同一个关键帧上对所有物体建立的NXN关系图,而后者是将所有的关键帧的物体拼接起来建立的NXLXNXL关系图。所有NXL个节点建立连接噪音太多,所以本文只选择了top-k个相关的节点。
Description Generation在获得足够的视频特征后,我们提出了一个带有时空注意模块的分层解码器,通过步长生成语言描述。分层译码器由注意解码器和语言解码器组成。首先,在解码步骤t,注意LSTM是根据LSTM语言的历史隐藏状态h t-1lang,连接均值池全局视频特征v¯ = 1/L∑vi和前一个词wt 1,总结当前语义ht attn
其中Vi=[fi,mi]。
根据当前语义ht attn ,时间注意模型对全局上下文信息进行抽象:
对于局部物体特征,先对不同帧中的物体进行对齐,然后通过空间注意模型选择应该注意的物体。本文使用一个简单有效的方法对齐不同帧的物体,具体做法参见图2左方标记的位置,,首先使用Fast-RCNN目标检测模型检测第一个关键帧的物体,并选择L个物体作为anchors,定义anchors帧的第j个物体与第i帧中的第j’个物体之间的余弦距离为相似度。
使用原始的物体特征R去计算相似度,而不是增强的特征Rˆ,使用最大相似度来对齐anchors帧中的物体,理想情况下,对齐的物体就是同一物体,在一组对齐的对象之后,增强特征Rˆ的加权和为{αt,i}, i = 1,…L,这样,根据对齐操作和时间注意,将不同帧中的物体合并为一帧作为局部对齐特征R˜。
然后,空间注意模型决定应该注意的物体,并且抽象局部背景特征c t l :
uj∈R˜表示N个局部对齐特征的一个。最后,将全局特征和局部背景特征输入到语言LSTM模型中生成当前隐藏状态向量,再通过一个感知机模型和softmax之后得到摘要模型的概率分布。
其中[·,·]表示连接操作。Pt是的D维向量,大小是词汇数目的大小。
Teacher-recommended Learning via Extern Language Model
为了对特定内容的单词进行充分的训练,本文在TEL和提出的TRL的指导下对所提出的模型进行联合训练。
对于传统的TEL处理,在每个时间步,强制字幕模型生成地ground truth。这个词就是所谓的硬目标。被表示为sXhard = {x1h,x2h ,… xTsh },其中xth是第t个解码时间步长的ground-truth单词。将上述提到的摘要模型简记为CAP,CAP的输出概率模型被表示为Pt = CAP(w<t|θCAP ),其中w<t表示历史单词,θCAP表示CAP的参数,训练标准为交叉熵损失,只有ground-truth对应的概率参与计算:
δ(d)∈RD表示one-hot编码。由于长尾问题,TEL缺乏对内容相关词的充分培训。因此,我们提出了TRL来整合ELM中的知识。有许多现成的模型可以作为ELM使用,例如Bert和GPT。假设我们在一个大规模的单语语料库中得到了一个训练良好的ELM。在给定前t-1词w<t时,ELM在时间步长t时的概率分布为:
Qt∈RD是ELM模型的D维输出分布,θELM是ELM模型的参数,在CAP的训练阶段是固定的,Te是用来平滑输出分布的温度。
一般来说,为了将知识从ELM传递到CAP,在解码步骤中,很容易最小化CAP概率分布与ELM概率分布之间的KL发散。为了使Pt拟合Qt,KL散度被公式化为:
其中,Ptd and Qtd分别是CAP和ELM的单词d的概率分布。
Qt是任务词汇表中所有单词的概率分布,但大部分的值(<10-4)是非常小的。这些与语义无关的词可能会混淆模型并增加计算量。因此我们只提取top-k单词作为软目标:
其中xst = {xsi |i = 1,2,…, k}是第t步解码时,按概率分布Qt降序排列的单词集合,此外,当CAP在训练时,ELM是固定的,因此,KL损失函数被简化为:
由于ELM是在大规模的语料上训练的,所以在大多数情况下,硬目标被总结为软目标。表1是一个例子,我们的ELM可以生成一些语法正确、语义合理的建议,可以看作是对ground-truth word的补充。
在整个培训过程中,我们的CAP在TEL和TRL的共同指导下,分别学习任务专门性知识和外部语言知识。我们设置了一个权衡参数λ[0,1]来平衡TEL和TRL的程度,因此整个系统的判据如下:
TRL将大量的潜在单词暴露给了CAP,在一定程度上有效缓解了标题训练语料库的长尾问题。此外,由于TRL只参与CAP的训练过程,因此在推理时对句子生成没有额外的计算负担。
更多实现细节 参见论文