广州网站建设设计公司信息,网络管理系统的基本组件,网站用什么格式的图片格式,网站建设哪家g一只小狐狸带你解锁NLP/ML/DL秘籍老板老板#xff0c;听说BERT是个瞎子此话怎讲#xff1f;它能理解语言#xff0c;但是理解不了小夕的自拍#xff01;video-BERT了解一下喵喵喵#xff1f;AI的三大核心板块#xff08;CV/Speech/NLP#xff09;近几年都相继取得了非常… 一只小狐狸带你解锁NLP/ML/DL秘籍老板老板听说BERT是个瞎子此话怎讲它能理解语言但是理解不了小夕的自拍video-BERT了解一下喵喵喵AI的三大核心板块CV/Speech/NLP近几年都相继取得了非常大的发展和进步。但是正所谓成也萧何败也萧何深度学习一直在能力泛化和鲁棒性问题上饱受诟病通用AI之路遥遥无期。不过近期得益于预训练模型的成功似乎跨模态问题VQA、看图说话等也变得更有所期了。基于预训练的跨模态解决方案主要可以分为两个分支一个是video-linguistic BERT将视频数据融入BERT另一个是visual-linguistic BERT将image图片数据融入BERT。最主要的难点都是如何将非文本信息融入到BERT的框架中。本文只涉及video-linguistic BERT。视频可以理解为一组快速播放的图片其中每一幅图片定义为帧frame。一般处理视频数据首先需要按每秒钟x帧fps的频率去对视频做抽取然后将n个连续的frame组成一个片段clip这样视频就被切割成了很多不重叠的片段。对于每一个片段clip包含m个frame使用CV领域中pretrained模型如ResNet等抽取特征向量visual features最终视频被表示成特征向量的序列。 从视频中抽取出来的特征向量自然是连续实值向量属于整个实数空间和离散的文本有很大的不同。当前将视频的特征向量注入BERT主要有下面两种方式1Pipeline方式将实值向量离散化和文本token对齐加入到BERT模型中2端到端的方式微调BERT模型结构直接使用实值向量参与计算。话不多说小夕将通过下面两篇论文分别介绍这两种方法。后续阅读需对BERT有比较深的了解和认识。有需要可以移步这里对BERT进行简单的复习回顾。文末还有彩蛋不要错过哦~~《VideoBERT: A Joint Model for Video and Language Representation Learning》这是一篇将BERT结合video来学习跨模态表示的经典之作。该工作将video中提取出的特征向量通过聚类的方法离散化继而在文本token的基础上增加视觉token一起学习视觉和文本信息。1 方法1.1 视频文本数据处理video and language processing针对video的处理首先从input video每秒中抽取20帧画面20 fps每30帧组成一个片段。对每个clip用pretrained的ConvNet提取特征向量1024维。但是由于特征向量属于整个R^1024空间是不可数的。为了和文本token相对应延续原始BERT中的MLM任务作者对所有提取出的特征向量使用hierarchical k-means做聚类一共得到20736个类中心。把类中心作为visual token每一个视觉特征向量都由它属于的类中心来表征。针对文本的处理使用现成的语音识别工具Automatic Speech Recognition提取视频中的文本利用LSTM-based的语言模型对其断句。后续处理延续原始的BERT用WordPieces切词词表大小为3万。1.2 输入格式input format经过前面的处理video中的语言和视觉信息都变成了离散的tokenVideoBERT的输入格式延续了原始BERT的设计只是增加了[]这个特殊的token用来区分text token和visual token。 1.3 自监督任务pretrain原始BERT有两个自监督任务1cloze完形填空/MLMmask language model预测被mask的text token2NSPnext sentence prediction预测两个句对是否是连续的上下句。第一个任务可以很自然的扩展到visual token中。像text token一样提前mask visual token利用没被mask的text token和visual token预测被mask的visual token是一个多分类问题使用softmax作为损失函数。第二个任务NSP在VideoBERT中变成预测text sequence和visual sequence是否一致即两者是否提取自同一个视频。类似的原始BERT我们从其他视频数据中抽取visual sequence作为负例来自该视频数据的visual sequence作为正例。是一个二分类问题。 1.4 下游任务VideoBERT通过上述两个自监督任务实际上学习了visual-liinguistic的联合表示分布p(x,y)其中x表示visual sequencey表示text sequence。这个联合分布可以用在下列三种任务上1text-to-video: 根据文本预测视频根据文本自动插图。 2video-to-text: 根据视频预测文本对视频自动生成摘要。3unimodal fashion单一模态下使用利用文本或者视频的边缘分布根据上文预测下文。对文本来说就是我们非常熟悉的语言模型对于视频来说我们可以根据前面的视频内容预测后面可能发生的事情。 2 实验文章实际设计了两个下游任务来验证学习到的跨模态联合表示的有效性。2.1 看图说话 根据视频和一个固定的模版“now let me show you how to [MASK] the [MASK],” 预测被mask掉的关键词一个动词和一个名字。下图定性的展示了三个例子每个例子展示了视频中两个片段的类中心和被预测的top verbs和nouns。 表格中的数据定量对比了该任务在不同方法上的效果。S3D是一个经典的监督模型除了S3D以外的模型都没有使用监督信号进行训练zero-shot classification直接使用pre-trained模型。BERTlanguage prior代表直接使用原始BERTVideoBERTlanguage prior是指在原始BERT基础上增加视频数据提取出得文本数据进行学习VideoBERTcross modal是完整模型并结合了视频和文本数据进行学习。对比实验结果可以看到top-5的准确率三种BERT设定效果不断提升验证了数据的有效性和多模态的有效性最终zero-shot的VideoBERTcross modal能够达到和有监督学习的S3D差不多的效果。而top-1的结果各类BERT稍显逊色的原因是BERT基于word piece切词更有利于open-vocablary的分类问题主要关注语义上的准确性而不是精确的match。 2.2 video caption作者利用该任务验证VideoBERT作为特征抽取的有效性。使用同样的transformer encoder-decoder模型生成视频摘要不同的是输入该模型的feature。1使用S3D提取的featurebaseline2使用VideoBERT提取feature3VideoBERT feature拼接S3D feature最强厂牌 从定性的例子中可以看到使用VideoBERT feature生成的video caption内容更加的细节更为生动具体。从定量的指标上来看VideoBERTS3D取得了最好的效果VideoBERT学出来的feature对下游任务video caption有很大的提升。 《Learning Video Representations Using Contrastive Bidirectional Transformer》看了上一篇的工作小伙伴们可能会有一个疑问将实值连续型的特征向量visual features通过聚类规整为有限个类中心是否会丢失video中包含的很多细节的信息呢(⊙ˍ⊙)那么这篇文章就不再使用聚类将实值连续型的visual features离散化而是直接使用实值向量visual features通过模型算法上的微调实现BERT的多模态化。1 方法 首先上模型全景图虚线上面是pretrain阶段虚线下面是下游任务的fine-tuning。灰色方框表示使用纯文本数据预训练BERT模型然后fix。白色黑线方框表示使用纯video数据预训练CBT模型红色线条部分是使用多模态数据预训练cross-modal transformer将前面两者结合。小夕下面带大家逐个揭开每个部分的神秘面纱1.1 纯文本的BERT模型自监督任务还是原始BERT的MLM随机mask text token利用周围没有被mask的文本进行预测。 其中yt为被mask的正确tokeny-t表示除去被mask掉yt的text sequence。这个MLM的损失函数实际上是要最大化利用y-t正确预测出yt的概率。而在这里根据y-t预测yt的概率被定义为如下。 其中为经过transformer得到的feature。优化目标是被mask的word sequence y-t的表示和真实的yt的embedding相似共线。上述BERT和原始的BERT本质上是一样的只是用内积的形式代替了softmax计算概率。这一小小的修改和后面visual部分的建模相呼应模型结构非常的优雅。1.2 visual CBT模型基于video数据的自监督任务同样是无缝衔接的MLM模型但是因为visual feature是连续的实值向量所以作者使用了NCEnoise contrastive estimation loss 对比上面的BERT中概率的定义和NCE的定义是不是超级相似???? 是被mask的visual sequence经过visual BERT的输出。因为visual feature不可数无法像text部分穷举所有的负例所以通过负采样的方式sample负例。优化目标是被mask的visual sequence x-t的表示和真实的xt的visual feature et相似。 1.3 跨模态CBT模型前面介绍了单一模态下的模块针对既有视频从video中提取的visual features记为yy1:T和文本从video中利用ASR提取出的文本token记为xx1:T的数据利用它们之间的对应关系学习多模态交互的表示就交给cross-modal CBT模块啦虽然visual features y和文本x来自同一段视频但是即使是教学视频它们在每一帧frame level并不是严格对应的所以我们不能强行要求模型可以通过xt预测yt或者通过yt预测xt。只需要要求它们在sequence level上存在对应关系即可说人话就是模型可以通过x预测y。同样使用NCE loss 分别用visual CBT和BERT模型计算x和y的表示。 带入cross-modal transformer计算交互的表示用一个浅层的MLP计算x和y之间的互信息。优化目标和前面两个类似正例xy之间的互信息大负例xy‘互信息小。 1.4 overall model整体模型就是上面三个部分的综合。三个部分虽然输入都稍有差异但是在算法上是非常一致对称的结合起来非常的完美。 2 实验2.1 action recognition用action recognition作为下游任务验证visual representaions的有效性。下表的左边对比了两种pretrain策略ShuffleLearn 和3DRotNet 和baseline随机初始化在fix feature和finetune的两种使用方法上在两个数据集UCF101和HMDB51上的效果。实验结果表明了本文提出的visual CBT模型的有效性。表的右边是直接和各类state-of-art的监督模型相比CBT模型也比这些模型有非常明显的提升。 2.2 action anticipation 文章使用了三个不同的数据集the Breakfast dataset the 50Salads dataset和the ActivityNet 200 dataset。不了解action anticipation任务的可以简单认为是基于video的多分类任务就好。在这个实验中作者不仅证明了CBT方法比其他已有的方法好还证明了CBT对长video有很好的表示能力。 左边表列出了CBT和其他几个方法的对比CBT在上述三个任务上都一致优于其他方法三个实验数据摆上来非常让人信服呀其中self-superY表示该方法使用pretrain-finetune的方式self-superN表示该方式是end-to-end训练的。右边表则对比了不同视频的长度下不同模型的效果。在三个数据机上CBT都一致明显优于其他两个baselineAvgPool和LSTM并且随着video长度的增加CBT的效果是越来越好的。一般的模型都会对长文本或者长video失效比如上表中两个baseline 方法但是CBT可以不受长度的限制反而能从更长的video中学到更好的表示使得模型效果变好。斯国一????2.3 other video tasks 文章还对比了video captioning 和 action segmentation 这两个任务CBT在video captioning上比前面提到的VideoBERT也有所提升这个提升可能就是优化了聚类步骤造成信息丢失的问题吧。 【这是彩蛋????】公众号后台回复【videoBERT】获取论文原文附小夕自己阅读时的笔记哦参考笔记读论文更简单~~可能喜欢Stanford CS224n追剧计划附追剧计划详细攻略如何扩充知识图谱中的同义词中文分词的古今中外你想知道的都在这里深度神经网络为何会有灾难性遗忘如何进行有效的持续学习模型训练太慢显存不够用混合精度训练了解一下万万没想到我的炼丹炉玩坏了夕小瑶的卖萌屋_关注星标小夕带你解锁AI秘籍订阅号主页下方「撩一下」有惊喜