论文介绍--Memory-Attended Recurrent Network for Video Captioning

Memory-Attended Recurrent Network for Video Captioning 这篇论文发表在2019年的CVPR上。作者Wenjie Pei等人来自腾讯和南方科技大学。

研究动机

目前做视频描述的主流框架是编码器-解码器(encoder-decoder)结构。这种架构潜在的劣势在于它无法捕捉存在于在当前视频之外的视频文本信息。作者为了解决生成描述时只显式地根据当前视频的问题,在目前流行模型中嵌入了记忆体(memory structure)。该记忆体能够在词汇表中的单词和相关视频内容建立映射关系。这些视频内容来源于整个训练集。模型在对视频进行的文字描述时,能够利用记忆体提供的信息。论文声称:记忆体让模型产生质量更好的文字描述,同时能够显式地在相邻两个单词之间建模。

模型概述

该论文提出了一种名为Memory-Attended Recurrent Network(MARN)的模型。这个模型由三部分组成:编码器(encoder)、基于注意力机制的循环解码器(attention-based recurrent decoder)和带记忆体的解码器(attended memory decoder)。大致结构如下图所示。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

编码器

编码器由两部分组成,一部分是2D卷积网络,提取二维视觉信息,另一部分是3D卷积网络,提取三维视觉信息。具体实现时,作者使用ResNet-101作为2D卷积网络,ResNeXt-101作为3D卷积网络。这里的ResNeXt101网络使用了3D卷积层,并在Kinetics数据集上做了预训练。2D卷积网络对视频帧论文介绍--Memory-Attended Recurrent Network for Video Captioning进行处理后,可以得到论文介绍--Memory-Attended Recurrent Network for Video Captioning,3D卷积网络处理得到的特征是论文介绍--Memory-Attended Recurrent Network for Video Captioning。然后将两者投射到相同的隐藏空间中得到编码器的输出:论文介绍--Memory-Attended Recurrent Network for Video Captioning

基于注意力的解码器

基于注意力机制的循环解码器主要基于带有柔性注意力的长短期记忆体(soft-attention LSTM)。作者在这里用GRU代替了LSTM。柔性注意力机制主要是利用上一次迭代产生的隐藏状态结合当前输入得到每帧视频论文介绍--Memory-Attended Recurrent Network for Video Captioning的权重论文介绍--Memory-Attended Recurrent Network for Video Captioning。然后利用得到的权重对各个视频帧特征做加权和,得到当前迭代的视频特征输入。作者按照下式计算得到第t次迭代的二维视频特征的加权和。论文介绍--Memory-Attended Recurrent Network for Video Captioning

接着按照下式计算得到三维视频特征的加权和。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

将两者连接在一起,作为GRU的视频特征输入。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

对GRU进行迭代运算,得到当前隐藏状态论文介绍--Memory-Attended Recurrent Network for Video Captioning,通过softmax得到当前迭代的单词的概率预测论文介绍--Memory-Attended Recurrent Network for Video Captioning

论文介绍--Memory-Attended Recurrent Network for Video Captioning

论文介绍--Memory-Attended Recurrent Network for Video Captioning

带记忆体的解码器

对于模型中的记忆体(memory structure),它实际上记录了词汇表中的单词论文介绍--Memory-Attended Recurrent Network for Video Captioning和单词到描述论文介绍--Memory-Attended Recurrent Network for Video Captioning的映射:论文介绍--Memory-Attended Recurrent Network for Video Captioning。描述主要由三部分组成,第一部分是相关视觉信息论文介绍--Memory-Attended Recurrent Network for Video Captioning,第二部分是单词嵌入向量论文介绍--Memory-Attended Recurrent Network for Video Captioning,第三部分是辅助信息。对于相关视觉信息,作者对每个和第论文介绍--Memory-Attended Recurrent Network for Video Captioning个单词相关视频保留了论文介绍--Memory-Attended Recurrent Network for Video Captioning帧特征,做加权和,接着将所有相关视频做加和得到论文介绍--Memory-Attended Recurrent Network for Video Captioning,如下式所示。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

作者从数据集中提供的视频类别信息提取出与单词论文介绍--Memory-Attended Recurrent Network for Video Captioning相关的作为该单词的辅助信息。最后记忆体中的映射可以表示如下论文介绍--Memory-Attended Recurrent Network for Video Captioning

作者使用了一个双层感知机对记忆论文介绍--Memory-Attended Recurrent Network for Video Captioning进行解码,得到每个单词的相关分数(relevant score)论文介绍--Memory-Attended Recurrent Network for Video Captioning

论文介绍--Memory-Attended Recurrent Network for Video Captioning

论文介绍--Memory-Attended Recurrent Network for Video Captioning是利用注意力机制做过加权和的视觉信息,论文介绍--Memory-Attended Recurrent Network for Video Captioning是上一步的单词嵌入向量,论文介绍--Memory-Attended Recurrent Network for Video Captioning是上一步的注意力解码器的隐藏状态。论文介绍--Memory-Attended Recurrent Network for Video Captioning对视频视觉信息论文介绍--Memory-Attended Recurrent Network for Video Captioning和单词论文介绍--Memory-Attended Recurrent Network for Video Captioning在记忆体中的视觉信息论文介绍--Memory-Attended Recurrent Network for Video Captioning的相关性进行建模。论文介绍--Memory-Attended Recurrent Network for Video Captioning对前一步的单词论文介绍--Memory-Attended Recurrent Network for Video Captioning和这一步候选单词论文介绍--Memory-Attended Recurrent Network for Video Captioning之间相关性建模。然后用相关分数预测本次迭代各个单词的概率。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

解码器最后输出

通过融合注意力解码器论文介绍--Memory-Attended Recurrent Network for Video Captioning和记忆体解码器论文介绍--Memory-Attended Recurrent Network for Video Captioning的结果,模型输出最后对单词的预测。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

论文介绍--Memory-Attended Recurrent Network for Video Captioning是平衡两部分解码结果的超参。

训练

训练分成两个阶段,第一个阶段是单独对注意力解码器进行训练,第二阶段是训练带有记忆体的解码器。

另外作者提出了注意力一致性损失函数(Attention-Coherent Loss,AC Loss),如下式所示。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

这个损失函数衡量了在同一次迭代过程中相邻两帧注意力权重的差异大小。在视频中,相邻两帧画面的相关性要大于时间间隔较大的两帧画面。人类对于相邻两帧画面的注意力变化较为平和。在优化模型过程中,尽量减少这个损失函数,可以让同一次迭代过程视频帧序列中的注意力权重变化更加平滑。

实验结果

作者在MSVD和MSR-VTT两个数据集做了实验。

下面是各个方法的有效性实验结果。我们可以看到,随着方法的添加,模型性能有所提升。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

下面是各种特征的有效性的实验结果。我们可以看到,随着特征的添加,模型性能有所提升。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

下面是模型MARN在MSR-VTT数据集上的实验结果。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

尽管这里作者声称自己的结果超过了现有的最好结果,但是2017年Reinforced Video Captioning with Entailment Rewards在MSR-VTT上的结果要好于该论文的结果。

下面是模型在MSVD上的结果。

论文介绍--Memory-Attended Recurrent Network for Video Captioning

与MSR-VTT类似,2017年的论文Multi-Task Video Captioning with Video and Entailment Generation在MSVD上的结果要好于该论文。

总结

本论文在通用的encoder-decoder框架中嵌入了记忆体作为解码器的一部分,增强了模型生成的视频语言描述质量。