Report/10_24/Multi-modal Transformer for...

182 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

## Multi-modal Transformer for Video Retrieval
### **▊**写在前面
检索与自然语言查询相关的视频内容对于有效处理互联网规模的数据集起着关键作用。现有的大多数文本到视频检索方法都没有充分利用视频中的跨模态线索。此外,它们以有限或没有时间信息的方式聚合每帧视觉特征。
在本文中作者提出了一种多模态TransformerMMT来对视频中的不同模态进行联合编码从而允许它们中的每一帧关注其他模态。此外Transformer架构还用于对时间信息进行编码和建模。通过实验表明本文提出的多模态Transformer能够在多个数据集上实现SOTA的视频检索性能。
### **▊**1. 论文和代码地址
![b2396a9d29bb4d8ca628220bba335459.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/FSKby3swIp6zAJujXRnQZmOaeCk1.png)
Multi-modal Transformer for Video Retrieval
论文地址https://arxiv.org/abs/2007.10639
代码地址https://github.com/gabeur/mmt
### **▊**2. Motivation
视频是目前最受欢迎的媒体形式之一,因为它能够捕捉动态事件,并自然地吸引人类的视觉和听觉感官。在线视频平台在推动这种媒体形式方面发挥着重要作用。
然而,如果不能有效地访问这些平台上数十亿小时的视频,例如通过查询检索相关内容,那么这些平台上的视频将无法使用。
在本文中,作者解决了文本到视频和视频到文本的检索任务。在文本到视频的检索任务中,给定一个文本形式的查询,目标是检索能够最好描述它的视频。
实际上,给定文本-视频对的测试集,模型的目标是为每个文本查询提供所有候选视频的排名,以便与文本查询相关联的视频的排名尽可能高。另一方面,视频到文本检索的任务侧重于在文本候选集合中找到最能描述查询视频的候选文本。
检索问题的一种常见方法是相似性学习,即学习衡量两个元素(查询和候选元素)相似性的函数。然后,可以根据与查询的相似性对所有候选对象进行排序。为了执行该排序,文本以及视频被表示在公共多维嵌入空间中,其中相似性可以被计算为其相应表示的点积。这里的关键问题是**如何学习文本和视频的精确表示,以建立相似性估计。**
![78c7ea7d165a83804b5015608c9668e8.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/RtDWzsELdmM6CB8ywZOqaAoPnIKJ.png)
文本的学习表征问题已经得到了广泛的研究,可用于对文本进行编码。与这些进步相反,学习有效的视频表示仍然是一个挑战,这也是本文工作的重点。视频数据不仅在外观上有所不同,而且在运动、音频、叠加文本、语音等方面也有所不同。
因此,**利用好跨模态关系是构建有效视频表示的关键** 。如上图所示,从所有组成模态中联合提取的线索比单独处理每个模态更具信息性。
最近的视频检索工作并没有充分利用这种跨模态高层语义。视频表示的另一个挑战是它的时间性。由于难以处理视频的可变持续时间,目前的方法通常通过聚合视频中不同时刻提取的描述来丢弃长期时间信息。作者认为,这些时间信息对视频检索任务非常重要。
综上所述作者提出了多模态Transformer来解决视频数据中的时间和多模态挑战。它执行的任务是处理在视频中不同时刻从不同模态中提取的特征并将它们聚集在一个紧凑的表示中。
基于Transformer架构本文的多模态transformer利用自注意力机制收集视频中发生的事件的跨模态和时间线索。作者将本文的多模态Transformer集成到一个跨模态框架中该框架充分利用了文本和视频信息并估计了它们的相似性。
### **▊**3. 方法
![e1f713ce5649452650f68331c45cdfe5.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/ZWb5xTBRKAiOM4om3cQ921sntpkH.png)
本文的总体方法依赖于学习函数来计算两个元素(文本和视频)之间的相似性,如上图所示。然后,作者根据文本到视频(或视频到文本)检索中与查询文本(或视频)的相似性,对数据集中的所有视频(或文本)进行排序。
换句话说给定n个视频文本对的数据集目标是学习视频和文本之间的相似性函数。如果那么返回一个高的相似度值否则返回一个低的相似度值。
### 3.1 Video representation
视频级表示由本文提出的多模态TransformerMMT来计算。MMT遵循Transformer编码器的结构。它由堆叠的自注意力层和全连接层组成。MMT的输入 是一组嵌入,所有嵌入都具有相同的。每个特征都同时嵌入了特征的语义、模态和时间信息。该输入可以表示为下面的公式:
![image-20241017175931393](C:\Users\24815\AppData\Roaming\Typora\typora-user-images\image-20241017175931393.png)
#### Features
为了从视频数据中的不同模态中学习有效的表示作者从称为“专家”的视频特征提取器开始。与以前的方法相比MMT学习了一种利用专家之间的跨模态和长期时间关系的联合表示。
作者使用N个预训练的专家。每个专家都是为特定任务训练的模型然后用于从视频中提取特征。对于一个视频v每个专家提取K个特征的序列。
专家提取的特征编码了视频的语义。每个专家输出特征为。为了将不同的专家特征投影到一个公共维度中作者学习了N个FC层每个专家一个来将所有特征投影到中。
Transformer编码器为其每个特征输入生成嵌入从而为一个专家生成了多个嵌入。为了获得每个专家的唯一嵌入作者定义了一个聚合嵌入它将收集专家的信息并将其上下文化。
作者使用所有相应专家特征的最大池化聚合max-pooling aggregation初始化此嵌入得到。然后视频编码器的输入特征序列采用以下形式
![image-20241017175951795](C:\Users\24815\AppData\Roaming\Typora\typora-user-images\image-20241017175951795.png)
#### Expert embeddings
为了处理跨模态信息MMT需要确定它所关注的专家。因此作者学习了N个的嵌入来区分不同专家的嵌入。因此视频编码器的专家嵌入序列采用以下形式
![image-20241017180139092](C:\Users\24815\AppData\Roaming\Typora\typora-user-images\image-20241017180139092.png)
#### Temporal embeddings
视频中的特征具有时序的信息,考虑到最大持续时间为秒的视频,作者学习了个维度为的嵌入特征。在时间范围内提取的每个专家特征将嵌入。此外,作者还学习了另外两个时间嵌入和,用来编码聚合特征和未知时态信息特征。视频编码器的时间嵌入序列采用以下形式:
![image-20241017180201385](C:\Users\24815\AppData\Roaming\Typora\typora-user-images\image-20241017180201385.png)
#### Multi-modal Transformer
![d4245082693b54013d7b615d1817e9c0.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/PmtEfMKqBDT8Xey4cbIukRh70dZ1.png)
MMT将其输入上下文化并生成视频表示。在输出时作者只保留的每个专家的聚合特征
![image-20241017180227240](C:\Users\24815\AppData\Roaming\Typora\typora-user-images\image-20241017180227240.png)
与collaborative gating机制相比本文的MMT的优势有两个方面首先输入嵌入不是简单地在一个步骤中进行调整而是通过多个注意力头的几个层次进行迭代优化。
其次作者提供了所有时刻的提取特征以及一个描述从视频中提取特征时刻的时间编码。由于其自注意力模块本文的多模态Transformer的每一层都能够处理所有输入嵌入从而提取视频中发生的事件在多个模态上的语义。
### 3.2 Caption representation
作者分两个阶段计算文本表示首先作者获得了文本的嵌入然后使用一个函数将其投影到不同的空间即◦。对于嵌入函数h作者使用了预训练的BERT模型。
具体地说作者从BERT的[CLS]输出中提取文本嵌入。为了使文本表示的大小与视频的大小相匹配,学习的函数可以作为多个门控嵌入模块,以匹配不同的视频专家。因此,文本嵌入可以表示为。
### 3.3 Similarity estimation
最终的视频文本相似性为每个专家视频文本相似性的加权和,如下所示:
![image-20241017180257211](C:\Users\24815\AppData\Roaming\Typora\typora-user-images\image-20241017180257211.png)
其中表示第i个专家的权重。这个权重由在文本表示上施加线性层并用Softmax实现
![image-20241017180319036](C:\Users\24815\AppData\Roaming\Typora\typora-user-images\image-20241017180319036.png)
其中表示线性层的权重,使用加权和的原因是,文本可能无法统一描述视频中的所有模态。例如,在一段视频中,一个穿着红色衣服的人正在唱歌剧,文本“一个穿着红色衣服的人”没有提供与音频相关的信息。相反,“有人在唱歌”的文本应该侧重于计算与音频模态的相似度。
### 3.4 Training
作者采用了bi-directional max-margin ranking loss来计算损失函数
![image-20241017180345947](C:\Users\24815\AppData\Roaming\Typora\typora-user-images\image-20241017180345947.png)
其中B为batch大小为视频和文本之间的相似性得分。该损失强制匹配的视频文本对的相似性比不匹配的相似性至少高出。
### **▊**4.实验
### 4.1. Pretraining
![5b18fc6a311212b4d7eaeda59bfee6b2.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/7vughbEkm1ZVylqte6CnNr3oWGKJ.png)
上表展示了在HowTo100M上预训练和在MSRVTT上微调的结果可以看出预训练对于性能的提升有促进作用。
![42ef09017079187925c01888df84956d.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/1texGrym8qa0EbiLvSfAIO4K3W2p.png)
上表展示了在HowTo100M上预训练和在ActivityNet上微调的结果。
![a09d312c57a81aff0f5be5cb9e8c8c69.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/u4Y5Wokz6OSIQUHFNCTGLpPMmw2e.png)
上表展示了在HowTo100M上预训练和在LSMDC上微调的结果。
### 4.2. Language encoder
![1bb5521ec8ea64e6de360ada346959fa.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/2xQW8zYITDgAVfm0yjGbLiquKJtc.png)
上表展示了不同本文编码器的实验结果可以看出BERT微调后的实验结果是最好的。不微调的BERT效果较差这可能是因为预训练数据集和下游任务数据集的域差距较大。
### 4.3. Video encoder
![6912359509e6547e23eff917fe5f0617.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/eX3y4HwFJTmjK81DxtNPS9czMsYG.png)
上表展示了不同输入和Encoder网络结构的实验结果。
![7da08027ad4ad03e7a8a46b478dc56e1.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/x3wC2RZPezYds7Bv1JuHMfW9h0Dy.png)
上表展示了不同初始化专家聚合特征的实验结果。
![49f8a7fd822a73c60fbe17aa9eaa8e58.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/2f7KEnuwpiqjD3RIO485y1osQLdH.png)
上表展示了不同层数和head数的实验结果。
### 4.4. Comparison of the different experts
![8ec4c70f670971a9290f88a7da621b9a.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/JwqkyhF9pNgLuBPR4dUe2WxcAOm7.png)
上表展示了在模型上使用不同的专家的实验结果,可以看出单独的音频专家并不能提供良好的性能,但与其他专家一起使用时,它的贡献最大,很可能是因为与其他专家相比,它提供了互补的线索。
### 4.5. Comparison to prior state of the art
![8bc12d4148f1018321c97429c2563218.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/fE79i81CvNhnGlVz3AIW2orRMBaP.png)
![b960fd9befa390b302a6c3d0e8542b61.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/ufYJh9HqId2SnL6NsjbgGc0kACWK.png)
![b6e5970cc662ad347dab11a8029e3a17.png](https://cdl.itadn.com/b/weblog/00-blog-img/images/2024-10-17/HMWGuK97qtRjmdLC0DhVkF84pPze.png)
上面三个表格展示了本文方法和SOTA方法在MSR VTT、ActivityNet、LSMDC数据集上对比。可以看出跟SOTA方法相比本文的方法在性能上具有绝对的优势。
### **▊**5. 总结
在本文中,作者提出了**multi-modal transformer多模态Transformer** 这是一种基于transformer的结构能够处理在不同时刻从视频中的不同模态提取的多个特征。
这利用了时间和跨模态线索对于准确的视频表示至关重要。作者将此视频编码器与文本编码器合并到跨模态框架中以执行视频文本检索并在多个数据集上达到了SOTA的性能