广告深度学习计算:阿里妈妈智能创意服务优化使用CPU/GPU分离的多进程架构,加速阿里妈妈智能创意服务。https://mp.weixin.qq.com/s/_pjhXrUZVzFRtiwG2LhnkwCLIP4Clip: CLIP 再下一城,利用CLIP实现视频检索 - 知乎前言: OpenAI 的论文CLIP 可以说得上是一篇神作,利用对比学习进行图文预训练,在4亿数据集上进行预训练,预训练模型在多个任务上达到了sota,之前记录过关于CLIP的文章,这里放一下~ https://zhuanlan.zhihu.co…https://zhuanlan.zhihu.com/p/4431656201.introduction
clip4clip是在clip基础上构建的,并设计了一个相似度计算器来研究三种相似度计算方法。1.研究了基于预训练的clip的三种相似度计算机制;2.进一步在一个嘈杂的大规模视频-语言数据集上对clip进行预训练,以学习更好的检索空间。并且有一些结论:1.仅凭单个图像无法对视频进行编码而进行高效检索;2.clip4clip在大规模数据集上先进行预训练是必要的;3.借助预训练clip,对于小样本数据集最好不要引入新的参数,并采用平均池化处理视频,对于大数据集,最好引入更多参数。
2.related works
video encoder backbone. 2D或3D时空卷积或者基于transformer的网络。
visual representation learning from text supervision. clip、MIL-NCE、ClipBERT。
video-text retrieval.
3.framework
给定一个视频集合V和一个字幕集合T,目标是学习一个函数s(v,t)来计算视频v∈V和t∈T之间的相似度,根据在文本到视频检索中的相似度分数对所有的视频进行排名,或者根据视频到文本检索中的查询视频对所有的字幕进行排名。本文中视频v∈V被表示为一系列帧,视频v有v个采样帧组成,直接将帧作为输入,包括一个文本编码器,一个视频编码器和一个相似度计算器。
3.1 video Encoder
从视频中提取帧,采用了CLIP的12层和32patch size的ViT-B/32的图像编码器作为视频编码器,使用Flattened Patches线性投影模块中研究了两种线性投影,分别为2D投影和3D投影,1.ViT flattened patches的线性投影叫2D投影,独立的嵌入每个2D帧块,忽略了帧与帧之间的时序关系,2.3D线性投影,将块嵌入到时间维度上,具体而言,3D线性使用了一个3D卷积核[txhxw]作为线性投影,而不是2D投影中的[hxw]卷积核,其中t,h,w分别是时间,高度和宽度。
3.2 Text encoder
直接应用CLIP中的文本编码器,12层,512维,有8个attention head。
3.3 Similarity calculator
得到视频表示和文本表示之后,关键是相似度计算。由于模型基于预训练的图文模型构建,因此在相似度计算时添加新的可学习权重,分为三类,parameter-free和sequential type都是采用两个分支来计算视频和文本表示的余弦相似度,tile采用transformer进行多模态交互,并且通过线性投影进一步计算相似度。parameter-free使用mean pooling聚合所有帧,得到一个平均帧;sequential type其中1.lstm,2.带位置嵌入的transformer后再计算mean-pooling;transformer编码将串联的标题表示和帧表示作为融合特征,再使用线性层进行相似性预测。
3.4 Training strategy
帧采样,每秒一帧。clip4clip在Howto100M数据上训练。
4.experiments