自监督特征学习近年来已有如火如荼的发展,并从单模态的自监督学习,如图片自监督特征学习,视频自监督特征学习,蔓延到多模态,利用图片与文字或者视频与文字的关联性进行特征学习。
利用图片与文字关联性进行自监督学习已有非常多优秀的工作,如 Vilbert, LXMERT, VisualBERT, VLBERT, UNITER, Unified VLP 等等。这类工作的数据源一般是 Conceptual Captions 或 SBU Captions,且图片文字对往往是从网站中已有的数据自动抓取得到,无须额外的标注成本。通过图片与文字无监督的关联,这些模型在许多下游任务已取得明显提升。
视频与文字自监督学习在最近也有一定的进展。这种自监督学习方法对下游任务也有显著提升。相比于图片与文字,视频与文字自监督学习或许可以在更多应用场景得到使用,如最近比较火的短视频推荐,或细粒度动作理解等。
论文标题:ActBERT: Learning Global-Local Video-Text Representations
论文链接:https://openaccess.thecvf.com/content_CVPR_2020/papers/Zhu_ActBERT_Learning_Global-Local_Video-Text_Representations_CVPR_2020_paper.pdf
与图片文字类似,视频与文字自监督学习也需要大量的关联数据,其中一种比较好的数据源就是教学视频(instructional videos)。在教学视频中,视频创作者往往在讲述一个具体任务的完成过程,其中会详细描述所见的视频内容。
举个例子,在教做菜的视频中,视频创作者会描述,“开始切胡萝卜”,往往人物也是在正进行“切胡萝卜”的动作。这种天然的视觉对应关系,是进行视频文字自监督学习的重要要素。其中文字描述可以通过自动语音识别技术(ASR)从视频中或从创作者上传的字幕中提取文字。这样成对的视频文字数据就产生了。
教学视频的另外一个优点就是来源丰富,包括做菜,修理日常用品,宠物护理,个人爱好等等。这种多种多样的人类日常生活数据,有助于协助很多人类日常行为或社交行为的理解。
ICCV 2019 上的一篇论文 HowTo100M,收集了一百二十多万个的视频,并从中切出了 1 亿 3 千多万的视频片段进行无监督或自监督的视频文字关联。该论文使用一个非常简单的排序损失函数进行视频文字建模,但这种方式学习到的特征在许多下游任务上都能显著提升性能。可见在大规模数据进行视频文字建模是提升具体任务的一种比较好的思路。
同样在 ICCV 2019 上,VideoBERT 率先使用 BERT 的训练方式进行视频与文本的关联学习,并将视频帧作为视觉单词输入 BERT 网络。为了解决视觉特征无法做分类预测的问题,VideoBERT 使用了 hierachical k-means 的方法将视觉特征进行离散化,这样每个数据特征都对应一个离散的视觉中心。
然而一个视觉中心可能无法很好的同时描述局部和全局视觉内容,比如表示视频片段的动作和局部交互的物体。从而使得该方法无法进行更好地视频与文字匹配,比如文字”steak“与其视频内容的关联。
为了解决上述问题,即同时进行文字与动作和局部区域的视觉输入关联,ActBERT 提出了一个简单的思路,就是在输入层同时加入全局动作特征与局部区域特征。
为了得到动作特征,首先从源数据集文本中提取动词,并构建出一个新的动词词汇表。在该词汇表下,将视频片段作为输入,训练一个 3D 的卷积网络。最后用这个 3D 网络的提取到的特征作为动作特征输入。而该网络的预测结果将是 ActBERT 分类预测时所对应的标签。
为了得到局部特征,ActBERT 使用在 COCO上 预训练的 Faster R-CNN 在视频帧上产生物体候选框,每帧仅保留部分候选框以减少冗余,这些候选框对应的特征将作为网络输入,而候选框在 COCO 上的类别分布将作为 ActBERT 预测类别。
ActBERT对三种模态的建模方式
刚刚讲到,ActBERT 有三种模态输入,即全局动作,局部区域和语言描述。
ActBERT 设计了一种全新的纠缠编码模块从三个来源进行多模态特征学习,以增强两个视觉输入和语言之间的互动功能。该纠缠编码模块,在全局动作信息的指导下,对语言模型注入了视觉信息,并将语言信息整合到视觉模型中。纠缠编码器动态选择合适的上下文以促进目标预测。简单来说,纠缠编码器利用动作信息催化局部区域与文字的相互关联。
该编码器引入了两个多头注意力模块,每个模块都将动作作为 query,从文字输入或区域输入中分别获取相关信息,并将输出作为另外一个模态的输入。具体操作如下:
ActBERT训练方式建模方式
第三、有掩码的物体分类任务。在该任务中,局部区域对象特征被随机去除。其目标分布为将该区域输入到相同的目标检测模型得到的激活值。优化目标是最小化两种分布之间的 KL 差异。
三、实验结果
ActBERT 在 HowTo100M 数据集上进行预训练。该数据集涵盖了总计 23,611 项任务,例如维护和修理、动物营救、准备食材等。在五个任务上评测了 ActBERT 的性能,结果显示 ActBERT 在所有评测任务上都获得了大幅度的性能提升。
视频描述生成实验结果
动作分割实验结果
动作步骤定位实验结果
ActBERT 的表现明显优于 TVJE,即平均提升有 7%。这个结果甚至比监督学习的性能还要好。为了与 TVJE 有公平的对比,本文删除了局部区域信息,这个结果也明显优于 TVJE,证明 ActBERT 预训练的有效性。完整 ActBERT 模型进一步提高了 4%。
文本视频片段检索与视频问答实验结果
四、结论
在 ActBERT 像其他视频文字建模方式一样,展现了自监督视频文字建模强大的特征学习能力,并提升下游任务。未来的工作有:
1. 在细粒度动作分类上验证模型性能;
2. 改善超大规模训练过程中效率的问题;
3. 进一步改进多模态编码器的结构,提升多模态编码器的泛化能力;
4. 在更多域进行评测(如娱乐短视频),验证预训练模型在不同域之间的迁移能力。