论文解读VLM: Task-agnostic Video-Language Model Pre-training for Video Understanding

简介

论文链接: link.
vlm是一个task-agnostic multi- modal pre-training approach。无特定任务的多模态预训练方法。用于视频理解。主要贡献如下:
In summary, the main contributions of this paper are as follows: (1) we propose to pre-train a task- agnostic encoder for video understanding; (2) we introduce masked modality model (MMM) and masked token loss for cross-modal fusion during pre-training without sacrificing separability; (3) experimental results show that the proposed simple baseline achieves competitive performance with significantly fewer parameters.

提出一个encoder,提出一个预训练任务 mmm。 实验结果很好。

模型介绍

Assume we have a clip (v, t) sampled from a video, where v and t corresponds to video modality and text modality, respectively. Since videos are signals in continuous space, we first extract token embed- dings from raw videos. We decode v into frames and then feed them into a (frozen) video encoder Encodervideo(·) and a trainable MLP layer to obtain video tokens:

给定一个视频片段,将其转化为帧,然后将这些frame 送到一个不可训练的特征提取器,这个提取器是 S3D 。 然后提取后输入到一个mlp,mlp本质就是几个fc层。
文本的处理与bert相同。最后再连接起来输入到bert。输入如下:
在这里插入图片描述
只不过在训练时会随机mask,这个等会再说。 预测mask的token时也是经过一个线性层。 多模态预训练模型上的改进还是比较少的,大多是改进训练任务。

预训练方法

MFM-MLM:这是最常见的训练任务了,mlm没啥好说的与bert一致。
mfm mask frame model: mask frame 的方式就是将frame token全置为0. 然后使模型还原。这里使用的损失是noisy contrastive estimation (NCE)。
NCE 的思想很简单,它希望我们将真实的样本和一批“噪声样本”进行对比,从中发现真实样本的规律出来。 在word2vector 中负采样就是nce的一种。

论文解读VLM: Task-agnostic Video-Language Model Pre-training for Video Understanding_第1张图片
以这个例子来说,他就将损失函数转化成十分类似于softmax,ev 是预测mask出来的frame, xv是mask掉的原始frame,xj 是所有的一个batch中没有被mask的frame token,简单通俗的讲就是让 ev 于 xv 的内积 在 ev 于所有的xj的内积中属于最大。

Masked Modality Model:

论文解读VLM: Task-agnostic Video-Language Model Pre-training for Video Understanding_第2张图片
什么是mmm,就是完全将一个模态完全mask掉,要么全部mask掉frame 要么全部mask掉text。其训练时有一半的样本是使用mlm-mfm, 另一半样本采用mmm, 在mmm中,一半mask frame,一半mask text。

其损失函数将三种方法使用统一的损失:
论文解读VLM: Task-agnostic Video-Language Model Pre-training for Video Understanding_第3张图片
该损失函数类似于我刚才讲的那个。(ev 是预测mask出来的frame, xv是mask掉的原始frame,xj 是所有的一个batch中没有被mask的frame token,简单通俗的讲就是让 ev 于 xv 的内积 在 ev 于所有的xj的内积中属于最大。)与刚才的区别就是xj不只有batch中没有被mask的frame token,还加上了整个bert 的word embedding 词库。简单说就是既可以预测是frame ,也可以预测text。

下游任务及实验

论文解读VLM: Task-agnostic Video-Language Model Pre-training for Video Understanding_第4张图片
实验部分主要是与其他模型效果做对比,还有损失函数的对比,及一些mask 率的消融实验等等。

一些细节

模型采用bert base,视频一秒提取一个frame,frame通过预训练的s3d 提取512维特征,经过mlp变为768. bert的最大长度是96,前面32为frame token,剩下的为text token 和特殊token。

以上就是vlm的主要内容。

你可能感兴趣的:(深度学习,自然语言处理,transformer)