CLIP4Clip: An Empirical Study of CLIP for End to End Video ClipRetrieval--论文阅读
文章地址:https://arxiv.org/pdf/2104.08860.pdf'
code:https://github. com/ArrowLuo/CLIP4Clip
摘要:在本文中,作者提出了一个CLIP4Clip模型,以端到端的方式将CLIP模型的知识转移到视频语言检索中。大量的实验结果表明,从CLIP传输的CLIP4Clip模型可以在各种视频文本检索数据集上实现SOTA结果,包括MSR-VTT、MSVC、LSMDC。ActivityNet, and DiDeMo.
引言:视频文本检索是多模态视觉和语言理解的基础研究任务,可以通过它们的输入来直接区分以前的作品:原始视频(像素级)或视频特征(特征级)。
通常,预训练模型都是feature-level的,得益于它们是在一些大型的视频-文本数据集上进行训练的,,ClipBERT(Lei et al.,2021)采用稀疏采样策略,使端到端预训练成为可能。端到端训练有利于低级特征提取。少量稀疏采样的片段就足以解决视频文本检索任务。
作者利用预训练后的CLIP,提出了一个名为CLIP4clip(CLIP用于video Clip检索)的模型来解决视频-文本检索问题。具体地说,CLIP4Clip是在CLIP之上构造的,并设计了一个相似度计算器来研究三种相似度计算方法:无参数类型、顺序类型和紧密类型。
主要贡献:
- 研究了基于预训练的CLIP的三种相似度计算机制;
- 进一步在一个有噪声的大规模视频语言数据集上对CLIP进行预训练,以学习更好的检索空间.达到了SoTA的效果
结论:在CLIp4Clip模型上的大规模视频文本数据集进行post-pretraining,可以提高性能,特别是对于大量的zero-shot预测。
2.相关工作:
Video Encoder Backbone;作者主要研究了一种有效的基于transformer的video backbone多模态视频-文本检索。
从文本监督中学习视觉表示:与以往的CLipBert和MIL-NCE不同的是,作者采用基于transformer的clip,将该图像-语言预训练模型扩展到视频文本检索的视频-语言预训练。考虑到video的temporal sequence,使用2D/3D linear embedding和附加在视觉转换器上的相似度计算器来捕获时间序列特征。
Video-Text Retrieval:作者提出直接从预先训练过的CLIP中转移强大的知识,并继续在一个大规模的视频-language dataset上 pre-train 设计的基于视频的CLIP4clip,实验证明了CLIp4CLip模型的有效性。
3.框架
图1:CLIP4Clip的框架,它由三个组件组成,包括两个单模态编码器和一个相似度计算器。该模型以一个视频-文本对作为输入。对于输入的视频,作者首先将输入的视频采样到序数帧(图像)中。接下来,这些图像帧被重塑为一系列扁平的2D patches。这些patches被映射到嵌入的1D线性补丁序列嵌入层,并输入到图像编码器进行表示,如ViT。最后,相似度计算器预测了这些帧的文本表示和表示序列之间的相似度得分。在本研究中,我们研究了三种相似计算器,包括无参数、顺序和紧类型。⊗表示余弦相似度。我们使用CLIP(ViT-B/32)初始化两个单模态编码器.
首先给定一组videosV和一组标题T,目的是学习一个函数s(vi , tj )计算视频vi∈V和标题tj∈T之间的相似性。目标是根据文本到视频检索中的相似性得分对给出查询标题的所有视频(或video clips)进行排序,或者对视频到文本检索任务中给出查询视频(或video clip)的所有字幕进行排序.
本文将video(or video clip) vi∈V respented 作为一系列帧(图像)。形式上,视频(或video clip)vi是由|vi |采样帧组成的:vi = {vi 1,vi 2,……,vi |vi| }。作者提出的模型是一种端到端方式(E2E),通过像素直接训练帧作为输入。图1框架,它主要包含a text encoder, a video encoder, and a similarity calculator。
3.1 Video Encoder
为了得到video representation,首先从video clip 提取帧,然后通过video encoder进行对其编码,以获得一系列特征。在论文中,作者采用了pre-trained CLIP (ViT-B/32)作为骨干,并主要考虑将图像表示转换为视频表示。pre-trained CLIP(ViT-B/32)对本文的视频文本检索任务是有效的。
ViT首先提取不重叠的image patches(这个不重叠的图像补丁应该是从一帧中进行提取的。),然后执行一个通过线性投影将它们project into 中1D tokens中,然后利用transformer architecture对于每个token之间相互建模,获得最终的representation。对于视频的输入帧序列vi = {vi 1,vi 2,…,vi |vi| },生成的表示可以表示为Zi = 。
图2:视频编码器中扁平贴片线性投影的不同视图。彩色的虚线盒子是内核
分别研究了图1a所示的两种Linear Projection of Flattened Patches module,分别命名为2D linear and 3D linear。a)将ViT的Flattened Patches线性投影视为2D线性投影,分别嵌入每个2D帧Patches。这种2d线性算法忽略了帧间的时间信息。b)因此,我们研究了一个类似的3D线性投影,以增强时间特征提取。2D和3D之间的比较如图2所示。3D线性算法是跨时间嵌入patches的。具体地说,3D线性使用3D Conv,kernels[t×h×w]作为线性而不是核[h×w]的2D线性,其中t、h和w分别是时间、高度和宽度维度。
直接采用的是CLIp中的文本编码器来生成的标题表示,这个文本编码器其实就是一个变体transformer,对于标题tj∈T,将其表示为Wj。
3.3 Similarity Calculator
在提取视频表示Zi = {z 1 i,z 2 i,…,z |vi| i }和标题表示wj后,关键还是相似度计算,因为模型是基于预训练过的图像-文本模型建立的,故因此在相似度计算器模块中添加可学习的权重。因为没有权值初始化很难学习,会影响到反向传播的预训练模型训练的性能。
针对相似性计算器的提出了三种方法:
Parameter-free type:就是采用平均池化,融合了没有新参数的视频表示,只不过胡忽略了帧之间的时间顺序信息。
Sequential type:采用了两种方法来建模序列类型相似度计算器的序列特征,一个是LSTM,一种是transformer encoder,通过编码Z~i = LSTM(Zi) and Z~i = Transformer-Enc(Zi+P),里面已经包含了时间信息。
Tight type:使用transformer encoder进行视频和标题之间的多模态交互。ransformer encoder采用连接的标题表示wj和帧表示Zi= {z 1 i , z 2 i , . . . , z |vi| i }作为融合Ui的形成
其中P为位置嵌入,T是类似于BERT中片段嵌入的类型嵌入。具体来说,similarity function
![](/assets/blank.gif)
3.4 Training Strategy
Loss Function
给定一batch B(video、text)或(video clip、text)pairs,模型需要生成和优化B × B similarities。使用在这些相似性分数上的对称交叉熵损失来训练模型的参数。
Frame Sampling
4 Experiments
数据集:MSR-VTT, MSVC, LSMDC, ActivityNet, and DiDeMo。
图3:对不同的batch sizes、frame length, freeze layer, and learning rate的检索结果。batch sizes:freeze layer为6。learning rate:batch sizes为128,freeze layer为6,frame length为12。freeze layer:Fz-Linear 是指下面freeze layer。-第th层(包括),Fz-Linear表示只在底部freeze线性层,无Fz-Linear是不freeze的训练,batch_size为128,frame length为12,lr为5e-8。帧长:批bz=128,fl为6,lr=5e-8。
4.2 Experimental Details
在文章中,作者主要是CLip(vit-B/32)初始化文本编码器和视频编码器。实际问题是该如何初始化相似度计算器的参数。例如,顺序类型的参数。解决方案是重用来自CLIP(ViT-B/32)的类似参数。具体地说,对于顺序类型和紧密类型的位置嵌入,通过重复从CLIP的文本编码器中得到的位置嵌入来初始化它们。类似地,变压器编码器由预训练的CLIP的图像编码器的相应层的权重进行初始化。其余的参数,如LSTM和线性投影,都是随机初始化的。
finetune:用Adam优化器来微调模型。对于lr,使用在CLIP(Radford et al.,2021)之后的a cosine schedule来衰减它。如果没有其他说明,文本编码器和视频编码器(包括新模块的初始学习速率为1e-7(包括线性投影),新模块的初始lr为1e-4,例如LSTM,标题标记长度为32,帧长为12,批处理大小为128,运行5个epoch。在实验中,LSTM的层为1,顺序型和紧型的变压器编码器的层均为4。
总结:本文使用预先训练好的CLIP作为骨干,以解决来自帧级输入的video clip retrieval task。采用无参数类型、序列类型和紧密类型similarity calculator 来得到最终的结果。实验结果证明了模型的有效性,并在MSR-VTT、MSVC、LSMDC、激活网络和DiDeMo上实现了SOTA的结果。
这篇文章希望对阅读的各位有帮助,是加上翻译软件和我的理解去读的文章,记录是为了以后方便自己查阅,也会进行补充的。
CLIP4Clip: An Empirical Study of CLIP for End to End Video ClipRetrieval--论文阅读相关推荐
- CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval 论文解读
CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval 论文链接https://arxiv.org/abs/ ...
- CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval
文章目录 前置知识 摘要 动机 Related work Visual Representation Learning from Text Supervision 网络结构 训练策略 参考文献 Pap ...
- 论文阅读笔记(五)CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval
Abstract 本文以CLIP模型为基础,通过迁移CLIP模型学到的知识,提出了CLIP4Clip(CLIP For video Clip retrieval)模型用于视频文本检索任务.主要研究以下 ...
- 视频领域 CLIP4clip:An Empirical Study of CLIP for End to End Video Clip Retrieval
视频检索,CLIP4clip中CLIP指OpenAI的CLIP模型,clip指的是视频中的clip.CLIP模型很适合做Retrieval(检索)任务,因为它就是做图像和文本之间相似性,根据相似性可以 ...
- AN EMPIRICAL STUDY OF EXAMPLE FORGETTING DURING DEEP NEURAL NETWORK LEARNING 论文笔记
摘要 受到灾难性遗忘现象的启发,我们研究了神经网络在单一分类任务训练时的学习动态. 我们的目标是了解当数据没有明显的分布式转变时是否会出现相关现象. 我们定义了一个"遗忘事件" 当 ...
- 二值网络训练--A Empirical Study of Binary Neural Networks' Optimisation
A Empirical Study of Binary Neural Networks' Optimisation ICLR2019 https://github.com/mi-lad/studyin ...
- 《Do Neural Dialog Systems Use the Conversation History Effectively? An Empirical Study》
https://zhuanlan.zhihu.com/p/73723782 请复制粘贴到markdown 查看器查看! Do Neural Dialog Systems Use the Convers ...
- 【软件分析与挖掘】An Empirical Study of Bugs in Build Process
摘要 对软件构建过程中所产生的错误(build process bugs)进行实证研究. 5个开源项目:CXF, Camel, Felix,Struts, and Tuscany. 把build pr ...
- TGRS2022/遥感:An Empirical Study of Remote Sensing Pretraining遥感预训练的实证研究
TGRS2022/遥感:An Empirical Study of Remote Sensing Pretraining遥感预训练的实证研究 0.摘要 1.概述 2.相关工作 2.1.空中场景识别 2 ...
最新文章
- 网易开源支持图像识别的自动化UI测试工具,零基础亲测好评!
- 深度学习准「研究僧」预习资料:图灵奖得主Yann LeCun《深度学习(Pytorch)》春季课程...
- 邮件客户端WebMail Pro v7.7.5发布,在线订购限时75折优惠!
- 《用Python进行自然语言处理》第 1 章 语言处理与 Python
- xmemcached发布1.3.4
- 比特币源码研读(4)数据结构-交易池TransactionPool
- linux 添加最大串口数量方法
- 现在做Android开发有前途吗?复习指南
- python中的pymysql_(转)Python中操作mysql的pymysql模块详解
- 【转】Emacs -- 自动补齐
- 编程语言_Java方法参数...是什么意思_面试题008
- java 祖父类_JAVA的XX.put中的put方法,是在哪个父类或祖父类中,详述父类链。
- js类型转换的各种玩法
- PTA : 函数题 7-3 两个有序链表序列的交集 (20 分)
- python上机实验报告读取文件_Python程序设计实验报告八:文件
- android开源人脸识别插件,face-android-demo
- Linux里面qt的可执行文件在命令行中可以打开,双击可执行文件打不开
- 干货收藏 | Python语音识别终极指南
- 服务器数据库文件恢复,数据库数据恢复
- office服务器草稿位置,精确定位图片在Word文档中的位置的操作方法