Transferring Vision-Language Models for Visual Recognition: A Classifier Perspective

标题:视觉-语言模型用于视觉识别:一个分类器的视角

原文地址:Transferring Vision-Language Models for Visual Recognition: A Classifier Perspective | International Journal of Computer Vision

源码:GitHub - whwu95/Text4Vis: 【AAAI'2023 & IJCV】Transferring Vision-Language Models for Visual Recognition: A Classifier Perspective

发表:International Journal of Computer Vision (2024) 132:392–409【中科院2区,JCR Q1】

目录

摘要

1.介绍

2.相关工作

2.1视觉识别任务与迁移学习

2.2图像语言预训练

2.3 将 CLIP 迁移到下游任务

3方法论

3.1 Denotations(表示)

3.2对现有学习范式的重新审视

3.3我们提出的范式

3.4初始化讨论

3.4.1微不足道的类间相关性

3.4.2视觉统计知识的相关性

3.4.3文本语义知识关联

3.5参数冻结讨论

4 .实验:视频识别

4.1训练

4.2推理

4.3消融研究

4.4主要结果

5实验:图像识别

5.1训练

5.2主要结果

6实验:3D点云识别

6.1训练

6.2主要结果

7结论与局限

附录

A附加细节

A.1视频数据集统计

A.2分布式InfoNCE的批量收集

A.3 LDA分类器

A.4视觉编码器架构


摘要

从预训练的深度模型向下游任务传递知识,特别是在有限标记样本的情况下,是计算机视觉研究中的一个基本问题。最近,大规模、任务无关的视觉-语言预训练模型的出现,这些模型是通过数十亿个样本学习得到的,为这个问题带来了新的启示。在本研究中,我们探讨了如何有效地将对齐的视觉和文本知识转移到下游视觉识别任务中。我们首先重新审视了线性分类器在传统的迁移学习框架中的作用,然后提出了一种新的范式,在这种范式中,分类器的参数是从文本编码器的语义目标初始化的,并在优化过程中保持不变。为了进行比较,我们还使用来自各种资源的知识来初始化分类器。在实证研究中,我们证明了我们的范式提高了迁移学习任务的性能和训练速度。通过仅进行轻微修改,我们的方法在涵盖三种不同数据域的17个视觉数据集上都证明了有效性:图像、视频和3D点云。

关键词:Visual recognition · Large vision model · Transfer learning(迁移学习)

1.介绍

在优化神经网络训练效率的领域,知识迁移旨在向下游任务提供预先学习的信息。对于视觉识别任务,该方法通常涉及利用从经过优化的大规模通用数据集中得出的任务无关模型的特征表示,然后在模型顶部构建一个分类器。以前的研究更加强调学习基础模型。例如,在过去的十年中,主导的方法涉及在ImageNet(Deng等人,2009)数据集上训练模型,然后将它们转移到下游任务中。由于计算能力的急剧增加,提出了具有数量级更多参数和FLOPs的通用预训练模型,在全监督/半监督(Sun等人,2017年)和自监督(He等人,2020年,2022年)风格中均取得了成功。最近,由于对比视觉语言模型(Radford等人,2021年;贾等人,2021年;袁等人,2021年)在迁移学习中具有卓越的能力和对视觉识别任务的有效性,它们作为预训练模型越来越受到关注。这些模型利用语言模态的知识,已经在各种视觉任务中展示出了改进的性能,例如零样本分类(Radford等人,2021年)、字幕生成(Mokady等人,2021年)和图像生成(Ramesh等人,2021年),只举几例。

在这项研究中,我们旨在通过重新审视来自分类器视角的知识转移过程,增强用于下游视觉识别任务的视觉-语言预训练模型的可转移性。具体地,我们研究了预训练模型的特性,并提出了一种简单而有效的范式来增强它们的可转移性。我们的研究结果表明,这些预训练模型具有三个基本特性,适用于我们的范式:(i) 语义丰富的表示,这是通过使用大型神经网络架构训练模型,使用广泛的弱相关的图像-文本样本对获得的。与在标准图像-标签数据集上学习的监督式模型相比,语义丰富的表示预计包含更多的语义和概念的多样化表示,在未知的目标域环境中至关重要。(ii) 模态对齐,将成对样本的视觉和文本模态的表示向量在语义嵌入空间中进行对齐。这种属性在下游任务的样本有限时具有优势,即在零-/少样本场景下,与仅对视觉分类器进行微调的方法相比。(iii) 内部模态相关性。对比训练算法也提供了弱的内部模态相关性。即,相似图像或文本的表示向量彼此靠近。与前述特性相反,通常忽视了来自样本的内部模态相关性的影响。简而言之,一个具有适当相关目标的分类器而不是独热标签学习得更快并且表现更好。

为了展示适当相关的分类器目标的重要性,我们进行了一个玩具(简单)实验来描述两种情景下的内部模态相关性。我们使用了Kinetics视频识别数据集(Kay等人,2017)进行分析(详细配置见第4.3节)。在第一个情景中,我们使用CLIP(Radford等人,2021)的文本编码器提取类标签名称的文本嵌入向量,然后计算文本嵌入向量之间的相关性。在第二个情景中,我们检查了普通微调框架的最终投影头。准确地说,我们基于相同的CLIP模型中的视觉编码器学习了一个分类器。分类器的投影头是一个d×c的矩阵,用于计算"pre-softmax" logits(对数几率,softmax的输入),从d维特征向量到c类。因此,我们将d维的行向量视为类标签的“嵌入”。这种非严格的设置允许我们探索这些学习到的“嵌入”之间的内部模态相关性。结果绘制在图1中。尽管我们可以观察到类别名称的嵌入之间存在明显的相关性,因为其中一些包含相同的关键词(例如,playing <something>),但有趣的是,在第二个情景中,这些学习到的“嵌入”在训练后也展现出类似的相关性图,尽管它们是随机初始化并且在优化过程中没有知道任何文本信息(也就是说,使用独热标签的交叉熵损失进行优化)。

图1 Kinetics-400上20个类别“类标签嵌入”的类间相关图。左:提取的类标签文本向量,右:学习分类器的“嵌入”。调整颜色阈值以获得更好的视图。为了看得更清楚,请放大

总的来说,我们充分利用大规模对比式图像-语言预训练模型,并构建了一种新颖的通用范式,适用于迁移学习设置。我们的主要贡献如下:
- 我们从分类器的角度重新审视了迁移学习流程,并发现了适当相关的目标和预先对齐的语义知识对于下游视觉识别任务至关重要。
- 我们建立了一种新的范式,利用对比式预训练的视觉-语言模型来转移文本知识用于视觉识别。我们的范式加速了迁移学习的进展,同时充分利用了预训练模型。
- 我们在17个视觉数据集上进行了全面的实验,涵盖了图像、视频和3D点云三个不同的数据领域。对于视频识别,我们在6个知名的视频基准数据集上评估了我们的模型,包括单标签和多标签识别,同时也验证了它在零样本和少样本场景中的有效性。对于图像分类,我们在10个不同的图像数据集上进行了实验,结果表明我们的方法是一种有效的少样本学习器。对于3D点云识别,我们在ModelNet40数据集上验证了我们的方法,并发现它明显优于仅视觉的范式。
- 我们在https://github.com/whwu95/Text4Vis 开放了我们的代码和模型。

2.相关工作

2.1视觉识别任务与迁移学习

视觉识别是机器学习系统设计中最重要的任务之一。从视觉主干的角度来看,我们可以大致将系统的演变分为两个时代: i) 基于卷积神经网络(CNN)的架构用于图像(Krizhevsky等人,2012;He等人,2016;Simonyan&Zisserman,2014;Ioffe&Szegedy,2015)或视频识别(Carreira&Zisserman,2017;Qiu等人,2017;Xie等人,2018;Tran等人,2018;Wu等人,2021a, b)。 ii) 基于视觉Transformer(ViT)的架构用于图像(Dosovitskiy等人,2020;Han等人,2021;Liu等人,2021)或视频识别(Bertasius等人,2021;Arnab等人,2021;Liu等人,2022;Fan等人,2021)。 由于ViT模型在没有大规模数据集的情况下很难从头开始训练,因此迁移学习技术重新受到关注。

迁移学习旨在通过从相关但不同的源领域转移知识来增强目标领域中目标学习者的性能,从而减少学习目标模型所需的目标域数据量(Tan等人,2018;Ribani&Marengoni,2019;Zhuang等人,2020)。一个典型的迁移学习系统由一个在源域数据上预训练的模型和一个针对目标域数据的分类器组成。本研究讨论了一类利用大规模任务无关模型的迁移学习系统。相关研究在第2.3节中进行了讨论。

2.2图像语言预训练

近期对比式语言-图像预训练模型(CLIP)的成功(Radford等人,2021)为利用图像-文本InfoNCE对比损失(Van den Oord等人,2018)打下了基础。此后,已经提出了几项结合了各种学习任务的工作,包括图像-文本匹配和遮挡图像/语言建模,例如ALIGN(Jia等人,2021b)、BLIP(Li等人,2022b)、Florence(Yuan等人,2021)和CoCa(Yu等人,2022)。这些经过对比学习的模型展现出了两个下游任务的基本特性:丰富的视觉特征表示对齐的文本特征表示。另一项近期的研究(Yang等人,2022)将下游分类任务纳入预训练过程中,从而在标准交叉熵损失上实现了更高的准确性。这些进展展示了协调预训练视觉和语言模型的潜力,并为进一步推动视觉-语言理解领域的发展开辟了令人兴奋的机会。

2.3 将 CLIP 迁移到下游任务

将预训练的 CLIP 迁移到下游任务是一项近期兴起的研究方向。几项最新研究(Gao 等人,2021;Zhang 等人,2021b;Zhou 等人,2021,2022)已经探讨了将预训练的 CLIP 高效地迁移到下游图像识别任务中。此外,CLIP 还被利用来增强密集预测任务,如目标检测(Rao 等人,2022)和分割(Lüddecke&Ecker,2022;Li 等人,2022a)。在视频领域,CLIP 也受益于许多文本-视频检索方法(Zhao 等人,2022;Luo 等人,2021)。对于视频识别,ActionClip(Wang 等人,2021b)和 VideoPrompt(Ju 等人,2022)扩展了 CLIP(Radford 等人,2021)来训练一个带有对比损失的下游视频-文本匹配模型,并在推理期间利用学习到的视频和文本嵌入之间的相似性。其他方法,如 STAdapter(Pan 等人,2022)和 EVL(Lin 等人,2022b),仅使用视觉编码器进行单模态转移,不涉及文本知识。本研究调查了线性分类器与标准视觉识别范式中的高效特征转移之间的关联。我们提出了一种直接将视觉和文本知识转移至视觉识别任务中的方法,而不使用基于对比的方法。

3方法论

3.1 Denotations(表示)

在本文中,我们使用粗体字来表示向量,而使用大写斜体字母来表示张量或矩阵。例如,我们使用 \mathbf{z}\in\mathbb{R}^d来表示从维度为 d的预训练模型中提取的特征向量,使用\mathbf{W}\in\mathbb{R}^{d\times c} 来表示 c类线性分类器的投影矩阵。为了避免歧义,我们还使用大写斜体字母来表示下标中的模态。具体来说,我们使用V和 T 分别表示视觉模态和文本模态。我们还使用小写斜体字母来表示函数或神经网络,例如 g_{\mathcal{V}}(\cdot,\Theta_{\mathcal{V}})g_{\mathcal T}(\cdot,\Theta_{\mathcal T}),分别表示视觉编码器和文本编码器。此外,我们使用花体字母,如 D,来表示元素的集合。

3.2对现有学习范式的重新审视

在图2a中,我们描述了传统的情景,其中视觉编码器模型gv在包含视觉样本的大规模数据集D上进行训练,这些样本可能包含真实标签。在我们的标记下游数据集\tilde{\mathcal{D}}=\{(x_{1},y_{1}),(x_{2},y_{2}),\ldots\} 上,我们的经验学习目标可以表示为:
g_{V}^{*},W^{*}=\mathop{\mathrm{argmin}}_{\Theta_{V,W}}\mathbb{E}_{x,y\sim\tilde{D}}\Big[H(y|\sigma(W\cdot g_{V}(x)))\Big],\quad(1)
其中,H(\hat{p}|p)表示预测分布p与真实分布 \hat{p}之间的交叉熵。符号 \sigma表示softmax操作,\mathbf{W}\in\mathbb{R}^{d\times c}表示用于分类的线性投影矩阵。方程1的表述是一个标准的视觉特征转移范式,其中视觉编码器gv 和投影矩阵 W被联合学习。

如图2b所示,我们接下来回顾了视觉-语言模型的对比学习范式,这在视觉-语言预训练中得到了广泛的应用,例如 CLIP(Radford等人,2021),并扩展到视频-文本微调,例如 ActionCLIP(Wang等人,2021b),CLIP4Clip(Luo等人,2021)。

给定一个数据集D=\{(x_{V,1},x_{T,1}),(x_{V,2},x_{T,2}),包含弱相关的视觉-语言对(例如,图像-文本,视频-文本)。为了方便使用符号,我们使用 x_vx_T 表示大小为b的一个小批量数据,然后我们最小化以下目标:

\begin{array}{c}g_V^*,g_T^*=\underset{\Theta_V,\Theta_T}{\operatorname*{argmin}}\mathbb{E}_{\boldsymbol{x}_V,\boldsymbol{x}_T\sim\hat{\mathcal{D}}}\big[H(\mathbb{Q}|\sigma(g_V(\boldsymbol{x}_V)^\mathrm{T}\cdot g_T(\boldsymbol{x}_T)))\big],\\\\(2)\end{array}

其中Q是一个包含大小为c的b个 one-hot 编码的集合,它们的第 1,2,...,b个元素为1(b < c),表示正视觉-语言对。我们注意到,方程2的定义不是Van den Oord等人(2018)中提出的Noise-Contrastive Estimation(NCE)损失的严格形式。相反,我们采用了Radford等人(2021)和Chen等人(2021)中使用的交叉熵版本的实现。对比学习范式首先使用投影矩阵g_T(x_T)对视觉特征g_V(x_V) 进行投影,然后遵循标准的迁移学习范式来将相似度矩阵与对角线标签集 Q进行匹配。

总结:通过学习视觉编码器和文本编码器,模型能够将图像和文本的特征映射到同一个低维空间中,使得相似的图像-文本对在该空间中的表示尽可能接近,而不相似的对则尽可能远离。

3.3我们提出的范式

图2:将视觉-语言预训练模型转移到视觉识别任务的说明。

a. 广泛使用的标准视觉模式下微调范式,使用交叉熵损失函数。

b. 视觉-语言对比学习范式,使用对比损失函数,例如 CLIP(Radford等人,2021)、ActionCLIP(Wang等人,2021b)。

c. 重新审视分类器的作用,从视觉-语言预训练模型中转移知识。这里的 c 表示类别数量,b 是批量大小,d 表示嵌入的维度。

在视觉统计模块中:类中心投影和线性判别投影都是用来初始化分类器参数的技术,在训练开始阶段为分类器提供了有关数据分布和类别之间关系的先验信息,这些信息可以帮助分类器更好地初始化参数,更有效地学习数据的特征,从而帮助分类器更有效地学习并提高分类性能。

在文本语义模块中:未对齐的文本嵌入和对齐的文本嵌入都是用来初始化分类器的参数。它们的主要作用是为分类器提供初始的语义信息,以便在训练过程中更好地利用视觉和文本之间的关系进行分类。(在4.3中有所提及)

在琐碎的设置模块中:随机向量和正交向量作为分类器参数的初始化方式,旨在为模型提供一个合适的起点,使得模型能够更好地学习数据的特征和关系,并且更有效地进行训练和收敛。

正如图2所示,我们提出了一种更加通用的范式,通过用预定义的矩阵\hat{W}取代可学习的、随机初始化的线性投影矩阵 W,从分类器的角度进行构建。根据第3.2节,训练目标可以被表述为:
g_{V}^{*}=\underset{\Theta_{V}}{\mathrm{argmin}}\mathbb{E}_{x,y\sim\tilde{D}}\big[H(y|\sigma(\tilde{W}\cdot g_{V}(x)))\big].\quad(3)
在接下来的子节中,我们将研究不同的 \hat{W} 的初始化方法。

公式的目标是找到最优的视觉编码器参数\theta _V,使得在给定数据集\widetilde{D}上,模型的预测分布与真实标签的分布之间的交叉熵损失最小化。

3.4初始化讨论

为了研究样本中所包含的语义信息之间的相关性有多大帮助,我们检验了几种初始化方法,这些方法代表了不同程度的样本内模态相关性(或者从分类器的角度来看是不同类别之间的相关性),如图3所示。

图3:六种投影矩阵初始化的示意图,这些初始化方法会产生不同程度的目标嵌入向量之间的相关性。左侧:a 表示目标向量之间几乎没有相关性;b 表示从视觉统计中计算得到的相关性;c 表示从文本语义知识中计算得到的相关性。右侧:从六种初始化方法得到的类间相关性图。令人印象深刻的是,相关性图在从视觉统计和文本语义知识转移方面呈现出相似的外观。有关更多详情,请参见图1。

3.4.1微不足道的类间相关性

随机矩阵:我们从最简单的初始化方法开始,该方法涉及将 \widetilde{W} 的每一行设置为具有均值为零和标准差为I_d的随机高斯向量。这可以表示为:

\tilde{W}\sim\mathcal{N}(\mathbf{0},I_d),\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad(4)

其中I_d表示维度为 d\times d的单位矩阵。虽然这种方法由于其随机性生成了 \widetilde{W}的行之间的微不足道的相关性,但这些相关性无法反映视觉类别之间的实际对应关系。因此,我们期望模型性能较差,因为在学习视觉特征表示时,它需要避免这些不正确的相关性。

尽管从同一高斯分布中生成了所有行,这可能导致行之间存在一些轻微的相关性,但这种相关性是随机的,无法提供有意义的信息来表达不同类别之间的关系。

随机正交矩阵:接下来,我们考虑消除投影矩阵中的相关性的情况。我们遵循随机矩阵的方法,然后通过确保行向量正交来消除相关性。这是通过QR分解实现的。具体来说,由于 ( d > c ),我们首先生成大小为d\times d的随机矩阵,然后选择前c行作为我们的投影矩阵。形式上,我们有:
\tilde{W}_j \sim QR(U)_j, \quad j = 1, 2,..., c,

U_i \sim \mathcal{N}(0, I_d), \quad i = 1, 2,..., d,\qquad(5)
其中 U 是中间随机矩阵,QR(U) 是通过QR分解获得的行正交矩阵。类似于随机矩阵,我们期望这种初始化方法会导致性能较差。由于独热标签向量也是彼此正交的,因此使用正交矩阵来投影视觉特征向量可能没有帮助,这可能增加学习有意义的视觉特征的难度。

原因:通过随机正交矩阵生成行向量彼此正交的投影矩阵,以消除随机矩阵存在的不同行之间存在微弱的相关性问题,

缺点:在标签已经具有正交性的情况下,通过正交矩阵来进行特征投影可能不会带来太多额外的优势,因为标签本身已经提供了足够的信息来进行类别区分。意思就是说,将特征向量正交化,那么得到的特征向量可能会捕捉到完全不相关的类别信息,这样的特征向量可能无法很好地与标签之间的关系相对应,因为它们在特征空间中与标签的分布方式可能不同

3.4.2视觉统计知识的相关性

类中心投影(Class Center Projection是利用视觉编码器的统计知识的一种方法。我们从训练数据集中随机选择一个小的标记样本子集。在我们对Kinetics-400数据集的实验中,我们从每个类别中随机选择60个视频,大约占训练数据的10%。接下来,我们计算从视觉编码器中提取的每个类别的视觉嵌入的均值。这些均值向量被视为每个类别的中心,并用于初始化分类器的参数。类中心初始化提供了从预训练模型获得的视觉知识的基本近似。然而,其有效性在很大程度上取决于用于计算投影矩阵的数据,当数据有限时,估计的视觉嵌入之间的相关性可能会有偏差。

利用训练数据集中各个类别样本的视觉特征的平均值来初始化分类器的参数,从而使得分类器在初始阶段就能够对不同类别的视觉特征有一定的认知。

线性判别投影(LinearDiscriminantProjection)是我们提出了另一种初始化投影矩阵的方法,使用视觉统计信息。我们使用多类Fisher线性判别分析(LDA)来学习一个线性分类器,并将分类器的权重矩阵用作我们投影矩阵的初始化。具体来说,我们首先使用与前一方法相同的视觉嵌入来计算LDA系数,按照先前的研究方法(Li等人,2006年)。然后,我们使用LDA系数来初始化\widetilde{W},并在数据集上微调视觉编码器时冻结它。直觉上,LDA同时最大化了类间协方差并最小化了类内协方差。因此,我们将其称为利用视觉统计知识的最大相关性初始化。然而,线性判别投影也受到有偏数据采样进程的影响。

尽管线性判别投影可以利用视觉统计知识来初始化投影矩阵,但由于数据采样进度(采样的数据不够代表性或者不够均匀)可能存在偏差,因此该方法也会受到影响。这意味着在使用线性判别投影时需要注意数据采样的偏差,以避免对模型性能造成负面影响。

3.4.3文本语义知识关联

文本嵌入向量 我们现在描述如何将预训练的文本编码器中的文本语义知识传输到初始化投影权重 \widetilde{W}中。给定一个标记化的类别标签集合 L = l1, l2,..., lc,我们初始化 \widetilde{W}中的第 i 行向量如下:

\tilde{W}_i\sim g_T(\boldsymbol{l}_i),\quad i=1,2,\ldots,c,\quad(6)

其中 gT 是一个函数,使用预训练的文本编码器将文本输入映射到嵌入的特征向量。在我们的实验中,我们研究了两种类型的文本特征编码器i) 仅使用文本样本训练的编码器,例如遮蔽语言建模任务中的 DistilBERT(Sanh et al., 2019);ii) 与视觉编码器以对比样式训练的编码器,例如 CLIP(Radford et al., 2021)。使用文本嵌入来初始化 \widetilde{W}允许我们在相同的嵌入空间中粗略地预先对齐视觉和文本嵌入。

3.5参数冻结讨论

值得一提的是,在我们的范式中,\widetilde{W} 不是优化的目标。这意味着在对下游任务进行微调时,我们会冻结它,不对其进行更新。我们有以下几个原因:首先,由于文本知识是由文本编码器提取的,冻结这部分可以显著减少进行微调所需的计算资源。正如我们在第4节中所展示的,冻结\widetilde{W}的参数会导致训练时间的减少。其次,冻结参数有助于减少由于类别标签的有限语义知识(猫、狗、牛...标签)而引入的偏差。通过保持特征嵌入的分布方式与它们在大规模数据集上学习时的方式相同,我们提高了表示的多样性和学习的稳定性。最后,这种配置还与之前使用文本信息进行视觉迁移学习的研究进行了比较。

对于“冻结参数有助于减少由于类别标签的有限语义知识(猫、狗、牛...标签)而引入的偏差”的理解:

①通过冻结参数,将不会在微调过程中更新用于初始化分类器的权重矩阵。这意味着,在微调阶段,模型不会受到类别标签的限制,而是保持与训练时相同的特征表示。

用于标记图像或文本的类别标签可能无法完全捕捉到图像或文本内容所涵盖的所有语义信息。虽然类别标签能够提供关于数据样本所属类别的基本信息,但它们可能无法涵盖数据样本的所有细节和语义特征。

"3 Methodology"部分描述了作者提出的视频识别方法的方法论和技术细节。总结:

1. **模型架构**:
   - 作者使用了Transformer-based的模型架构,其中包括使用ViT(Vision Transformer)和         ResNet作为视频编码器。
   - 通过在视频中均匀采样帧,并将其输入到视频编码器中,生成视频的特征表示。

2. **文本嵌入**:
   - 作者利用预训练的文本编码器(如CLIP和DistilBERT)生成类别标签的文本嵌入。
   - 这些文本嵌入用于初始化分类器,以帮助模型学习视频和文本之间的语义关联。

3. **微调策略**:
   - 作者采用了零样本、少样本和常规训练三种不同的微调策略来评估模型在不同数据条件下的性能。
   - 在零样本和少样本任务中,模型的部分参数被冻结,以降低计算成本并增强模型的泛化能力。

4. **推理策略**:
   - 作者探讨了两种不同的推理策略:单视图和多视图。单视图只使用视频的一个剪辑来进行评估,而多视图则使用多个剪辑来提高准确性。

5. **实验设置**:
   - 作者使用了多个标准视频数据集进行实验,包括Kinetics-400、UCF-101、HMDB-51等,以评估模型在不同任务和数据集上的性能。

通过这些方法,作者设计了一个综合的视频识别框架,结合了文本嵌入、微调策略和推理策略,以实现在各种视频识别任务中的高性能和泛化能力。

4 .实验:视频识别

在本节中,我们将图像-语言预训练模型迁移到视频模态,即视频识别任务。为了评估转移模型的有效性,我们在六个知名的视频数据集上进行了实验,其中包括修剪和未修剪的视频数据。具体而言,这些数据集包括Kinetics-400和600(Kay等人,2017;Carreira等人,2018),UCF-101(Soomro等人,2012),HMDB-51(Kuehne等人,2011),ActivityNet-v1.3(Caba Heilbron等人,2015)和Charades(Sigurdsson等人,2016)。这些数据集被选择代表了广泛的视频识别任务,并且在这一领域中被广泛用作基准。

我们在三种不同的情景下评估了迁移模型:零样本、少样本和常规视频识别。在零样本情景中,模型未在目标数据集上进行训练,但对其进行了评估,从而使我们能够评估其对新数据的泛化能力。在少样本情景中,模型在目标数据集的一个小子集上进行训练,并在验证集上进行评估,使我们能够探索其从有限标记数据中学习的能力。在典型的识别情景中,模型在整个目标数据集上进行训练,并在验证集上进行评估,使我们能够衡量其在标准监督学习配置下的性能。通过在这三种情景下评估模型,我们旨在全面评估其在不同条件下的性能。

4.1训练

视频识别任务将视频作为输入,然后将其送入一个已学习的编码器以估计视频的动作类别。给定一个视频,我们首先在整个视频上均匀采样 T (例如,8、16、32) 帧。然后我们利用 ResNet (He et al., 2016) 或 ViT (Dosovitskiy et al., 2020) 作为视频编码器。我们范式中的分类器是从类名的文本嵌入中初始化的(将视频的动作类别名称转换成文本嵌入的形式,即将每个动作类别名称映射成一个向量形式的表示,通过文本嵌入向量来初始化分类器),然后被冻结(固定),只留下视频编码器中的参数需要学习。

常规训练方式 表格1展示了我们用于常规视频识别的训练细节。我们在所有视频数据集上采用相同的训练方法,即Kinetics-400、ActivityNet、HMDB-51、UCF-101和Charades。

Few-Shot视频识别 在训练过程中采用的所有训练策略与表1中的相同,只有一个修改:将训练epochs增加到100。

零样本视频识别 我们使用Kinetics-400预训练模型直接在其他数据集上执行跨数据集的零样本视频识别,即ActivityNet、HMDB-51、UCF-101和Kinetics-600,而无需对其他数据集进行额外训练。

4.2推理

为了权衡准确性和速度,我们考虑了两种推理策略:
1. 单视图:该策略仅使用视频中的单个剪辑(视频中的一个连续的片段)和中心裁剪进行高效评估,如表4.3所示。
2. 多视图:这种策略在先前的工作中被广泛使用,它涉及对每个视频进行多次剪辑采样,并使用几个空间裁剪来提高准确性。为了与最先进的方法进行比较,我们使用了四个剪辑和三个裁剪(“4×3 视图”)。

4.3消融研究

在本节中,我们在Kinetics-400数据集上进行了广泛的消融实验。除非另有说明,我们使用ViT-B/16作为视频骨干网络,采用8帧作为输入,并使用单个视图进行测试。默认设置用粗体斜体标出。

离线分类器的不同初始化 首先,我们研究初始化方法如何影响分类器的学习。然后,我们使用参数为 W\in R^{d\times c} 的分类器,该分类器是基于所有帧的汇总时间特征表示的平均值构建的,为实验准备了我们的受控环境。根据第3.3节,我们评估了六种初始化方法在少样本和全样本设置下的性能。为了对照,我们还提供了使用标准视觉-仅微调(即在线)分类器进行训练的结果,该分类器具有可训练的权重。

表2列出了结果。将随机的d×c矩阵(服从正态分布)提供给离线分类器会导致性能显著降低。此外,去除分类器内部模态之间的相关性也会导致性能下降。从这个初始化方法家族中,我们认识到在分类器目标中正确的相关性是必要的。接下来,我们观察到使用视觉侧的一个小标记子集提供相关信息会导致性能提高,在少样本情况下,分类器不再猜测结果,在全样本情况下,相对于仅使用视觉的在线分类器,它学习得更加合理。与可学习的相关性相比,预提取的正确相关性提供了更明确的目标,使其成为一种更有效的方法,特别是在迁移学习过程中,特别是在少样本学习中。值得注意的是,在少样本情况下,类中心初始化的性能优于LDA初始化,表明CLIP编码器具有自然分布良好的特征嵌入。

最后,我们调查了文本语义初始化对分类器性能的影响。我们观察到,来自CLIP文本编码器的嵌入显著提高了少样本和全样本的准确性。有趣的是,尽管语义与视觉模态不直接对齐,但基于DistilBERT的初始化表现也非常好。这个结果可以解释为DistillBERT和CLIP都是用大规模数据预训练的,具有很强的语言建模能力,使它们能够生成良好的语义目标。因此,我们得出结论,视觉嵌入受益于语义目标的相关性,提取的对齐进一步促进了学习进程,减少了对大量样本的需求

我们还在图3中提供了这些分类器的可视化结果。显然,后两种初始化方法在相关性图中展现出相似的模式,这与随机和正交初始化的区别是明显的。

在这项研究中,我们探索了几种用于 ViT 和 ResNet 的时间建模策略,包括:

1. TAP:时间平均池化是一种直接的时间建模策略,为比较提供了一个简单的基准线。
2. T1D:通道级时间 1D 卷积,在以前的研究中被广泛使用,用于在 ResNet 的后期阶段(res4-5)中促进高效的时间交互。
3. T-Trans:这种策略涉及将帧的嵌入输入到一个多层(例如,6 层)的时间变换器编码器中。
4. TokenT1D:这种方法涉及使用 T1D 对视觉变换器中通过注意力聚合的本地特征生成的 [类] 标记特征进行时间关系建模。我们将 TokenT1D 应用于视觉变换器的多个位置,以建模令牌之间的时间依赖关系。

我们的实验结果如表3所示。我们观察到,在 ViT 和 ResNet 的背景下,TAP 为时间建模提供了一个简单的基准线,而 T-Trans 实现了最佳的 top-1 准确率。有趣的是,我们发现在这种情况下,T1D 策略似乎并不有效。这可能是因为 T1D 有可能破坏 CLIP 学到的强表示。相比之下,TokenT1D 是另一种内部骨干的时间建模策略,仅修改全局 [类] 标记特征而不是分块特征。我们观察到,TokenT1D 不会导致性能下降,甚至略微改善了 TAP 基线。我们认为这是因为 TokenT1D 对预训练特征进行了最小的修改,从而使模型保留了学习到的表示,同时将令牌之间的时间依赖关系纳入考虑。

我们将我们提出的方法与基于对比损失的调整方法 ActionClip(Wang 等,2021b)进行比较,该方法在第2.2节中介绍。这个范式将视频识别任务视为一个视频文本匹配问题,采用对比损失,需要进行批次收集以收集所有 GPU 上所有批次的嵌入,并计算给定批次与所有其他批次之间的余弦相似度。

为了确保公平比较,我们在实验中遵循了 ActionClip(Wang 等,2021b)的官方代码和配置。与基于对比损失的范式相反,我们的识别范式使用交叉熵损失来训练模型,并且我们使用预先提取的文本嵌入作为我们的分类器。因此,我们范式中唯一需要学习的部分是视觉编码器,而在基于对比的范式中,预训练的文本编码器仍然需要更新,需要更大的 GPU 内存。在表4中,我们将我们的方法与基于对比的范式进行比较,并观察到在没有批次收集的情况下,后者表现不佳。这是因为对比学习偏爱较大的批次大小,例如,CLIP(Radford 等,2021)使用了 256 个 GPU,并且每个 GPU 的批次大小为 128,以维持一个大的 32768×32768 相似性矩阵。此外,涉及批次收集将使训练时间倍增。

我们的结果表明,我们提出的方法在准确性和成本之间取得了最佳的平衡。具体来说,我们的方法在使用 8 个 GPU 运行训练时只需 10 小时,使用 ViT-B/16 获得了 81.5% 的性能,比相应的对比方法快 2 倍。我们的方法对于视频识别任务更加高效和有效,特别是在计算资源有限的应用中。请参考附录 §A.2 获取有关批次收集的更多详细信息。

此外,为了减轻不同实现细节的影响,我们已经基于我们的代码引入了对比式训练损失函数。正如表5所示,使用对比损失进行训练会降低训练效率,但并没有显著提高性能。此外,通过在对比式方法中进一步引入一个固定的离线分类器,我们进一步提高了性能。这种改进可以归因于在训练过程中固定文本目标所实现的加速收敛。

文本输入形式我们在表6中研究了几种文本输入形式,包括类别名称、单个硬模板、多个硬模板和可学习模板。具体如下:

1. 类别名称。为了生成文本嵌入,我们利用数据集的类别名称作为文本输入,例如“eating hotdog”或“driving car”。结果显示,仅使用标签文本可以产生良好的性能。

2. 单个硬模板。我们使用手工制作的模板,“a video of a person {class name}.” 作为输入。这个模板只略微提高了标签文本的基线性能。

硬模板:事先定义好的固定文本模板,用于构造文本输入。在这种情况下,模板中的某些部分可能是固定的文本,而其他部分则可能是需要替换的占位符,

例如 {class name},用于插入视频类别的名称,为可以替换的占位符。

3. 多个硬模板。CLIP 2提供了28个Kinetics的模板,包括上述的单个模板。在训练过程中,我们使用这些模板作为文本增强,每次迭代随机选择一个。然后,我们使用单个模板作为输入评估模型。在Kinetics400上,性能下降了0.6%,这可能是因为各种提示模板在训练过程中引入了额外的噪音。

CLIP 2 :https://github.com/openai/CLIP/blob/main/data/prompts.md.

4. 可学习模板。我们使用自动化的提示CoOp (Zhou et al., 2021) 使用一组可学习的向量描述提示的上下文。具体来说,给文本编码器的提示设计如下形式:

t=[\mathrm{V}]_1[\mathrm{V}]_2\ldots[\mathrm{V}]_M[\mathrm{class~name}],\quad(7)

其中每个[V]_m (m∈{1,..., M}) 是与词嵌入相同大小的向量,M 是上下文标记的数量。在我们的实验中,我们将 M 设置为 4。

这段话表明,不同的模板对我们模型的性能影响很小。在计算成本和效率方面,表格 7 展示了我们模型的计算成本和效率,以每个 NVIDIA A100 GPU 上的吞吐量为单位,批量大小为 16,这与标准推理设置相符。我们的模型展示了比之前基于 Transformer 的方法 ViViT(Arnab 等人,2021)高出 29 倍的吞吐量,并且 FLOPs 少了 44 倍,同时保持了相同的准确性。这些结果验证了我们方法的高效性。

4.4主要结果

我们在 Kinetics-400 数据集上评估了我们模型在常规视频识别方面的性能,这是一个具有挑战性的基准测试。表 8 比较了我们模型与那些在大规模数据集(如 ImageNet21K、IG-65M、JFT-300M、FLD-900M 和 JFT-3B)上预训练的最先进方法。迄今为止,JFT-300M、FLD-900M 和 JFT-3B 这三个最大的数据集都没有开源,并且没有提供预训练模型。因此,我们利用了公开可用的 CLIP(Radford 等人,2021)检查点,这些检查点是在 4 亿个网络图像文本对(WIT-400M)上进行训练的。值得注意的是,通过利用相同的 CLIP 预训练骨干,我们的模型在 EVL(Lin 等人,2022b)和 ST-Adapter(Pan 等人,2022)上展示了显著的性能改进。此外,我们的方法在需要较少的计算成本或较小分辨率的情况下,与使用 JFT-300M(Sun 等人,2017)或 FLD-900M(Yuan 等人,2021)预训练的方法相比,也取得了更优越的性能。此外,随着预训练数据的大幅增加至 20 亿个样本(即 Merged2B(Sun 等人,2023)),我们的方法实现了出色的top准确率达到 89.4%,巩固了其作为最先进方法的地位。

为了验证我们方法的泛化能力,我们进一步在广泛使用的未修剪视频基准 ActivityNet-v1.3 上评估了其性能。具体来说,我们使用 ViT-L 主干和 16 帧的 Kinetics-400 预训练模型在 ActivityNet-v1.3 数据集上进行微调。使用官方评估指标报告了前 1 名的准确度和平均精度(mAP)。如表 9 所示,我们的方法在 mAP 准确度上明显优于最近的最先进模型,达到了 96.9%。

我们还在UCF-101和HMDB-51数据集上评估了我们的方法,以展示其对较小数据集的泛化能力。我们使用在Kinetics-400上预训练的ViT-L模型在这两个数据集上微调,并在第一个分割上呈现平均类别准确率。我们使用了16帧作为输入。如表10所示,我们的模型展现出了很强的可迁移性,在UCF-101上实现了98.2%的平均类别准确率,在HMDB-51上实现了81.3%的平均类别准确率。

Few-Shot Video Recognition在少样本视频识别中,我们探索了更具挑战性的K-shot C-way情况,而不是传统的5-shot 5-way配置。我们的目标是仅使用每个类别的K个样本进行训练来对数据集中的所有类别进行分类,其中下限和上限分别用术语“零样本”和“全样本”表示。使用CLIP预训练的ViT-L/14模型,采用8帧和TAP进行少样本视频识别,在表11中报告了四个数据集的Top-1准确率。尽管数据量有限,我们的方法展现了对多样领域数据的显著可迁移性。此外,我们的方法在这些极度数据稀缺的情况下表现出色,显现出了鲁棒性。例如,在HMDB-51的2-shot情况下,我们的方法的准确率比Swin(Liu et al., 2022)和X-Florence(Nietal., 2022)分别提高了+52.6%和+21.9%。

在少样本学习领域,"K-shot C-way"是一种常见的表示方法,其中K表示每个类别(class)的样本数量,C表示总共的类别数。因此,"5-shot 5-way"表示每个类别有5个样本,并且总共有5个类别。

多标签视频识别 是指在一个视频中可以存在多个标签或动作的识别任务。在之前的实验中,我们主要关注了单标签视频识别的情况。为了进一步验证我们方法的性能,我们在多标签视频识别任务上进行了实验。Charades数据集是一个多标签未修剪视频数据集,其中包含具有多个动作的长期活动。针对这项任务,我们使用了预训练的 Kinetics-400 ViT-L 主干进行训练,并使用平均精度(mAP)指标评估了我们的结果。如表12所示,我们的方法取得了46.0的mAP最高性能,表明了其在多标签视频分类中的有效性

零样本视频识别

此外,我们在开放集设置下进行了实验。我们使用我们的Kinetics-400预训练模型(即,具有8帧的ViT-L)对其他四个视频数据集进行了零样本评估。对于UCF101、HMDB-51和ActivityNet,我们遵循了E2E(Brattoli等人,2020)的两种评估协议:

1. 为了与先前的研究进行公平比较,我们随机选择了测试数据集的一半类别:对于UCF-101选择了50个类别,对于HMDB-51选择了25个类别,对于ActivityNet选择了100个类别,并在它们上评估我们的方法。我们重复这个过程十次,并对每个测试数据集的结果进行了平均。我们将这种设置称为UCF∗、HMDB∗和ANet∗。

2. 在第二个评估协议中,我们直接评估完整的数据集,以获得更真实的准确性分数

对于Kinetics-600,我们选择了Kinetics-400之外的220个新类别进行评估。我们使用了Chen和Huang(2021)提供的三个拆分(将数据集分割成不同的子集,以用于训练、验证和测试),并从Kinetics-600中的220个类别中为每个拆分抽取了160个类别进行评估。我们报告了三个拆分的平均准确率。如表13所示,我们的方法展现出了强大的跨数据集泛化能力,在先前的零样本视频识别方法上取得了显著的改进(在UCF-101上提高了27.1%,在HMDB-51上提高了17.0%,在ActivityNet上提高了52.1%,在Kinetics-600上提高了26.8%)。

在4 Experiments: Video Recognition部分,进行了多项实验来评估提出的视频识别方法的性能。

总结:

1. **Regular Video Recognition**:
   - 在Kinetics-400数据集上评估了模型的性能,这是一个常用的视频识别基准。
   - 与使用其他大规模数据集进行预训练的最先进方法进行了比较,显示了显著的性能提升。

2. **Generalization to Other Datasets**:
   - 在ActivityNet-v1.3、UCF-101和HMDB-51等其他数据集上评估了模型的泛化能力。
   - 结果显示,模型在这些数据集上取得了很高的性能,表明其对不同领域数据的泛化能力较强。

3. **Few-Shot Video Recognition**:
   - 在少样本学习的情况下进行了评估,包括K-shot C-way设置,即每个类别只有少量样本用于训练。
   - 结果显示,即使在数据量有限的情况下,该方法仍能取得显著的性能提升,表现出了很强的迁移能力。

4. **Zero-Shot Video Recognition**:
   - 在零样本学习的情况下进行了评估,评估模型在未见过的数据集上的性能。
   - 结果显示,在多个数据集上取得了显著的性能提升,表明该方法对未知领域的泛化能力较强。

通过这些实验,验证了提出的视频识别方法在不同场景下的有效性和泛化能力,证明了该方法在视频理解任务中的潜力和优势。

5实验:图像识别

在这项工作中,我们还将我们的方法应用于图像识别。我们在10个数据集上进行了全面评估,这些数据集代表了各种视觉识别任务,包括ImageNet(Deng等,2009)、StanfordCars(Krause等,2013)、Caltech101(Fei-Fei等,2004)、OxfordPets(Parkhi等,2012)、Flowers102(Nilsback&Zisserman,2008)、Food101(Bossard等,2014)、FGVCAircraft(Maji等,2013)、SUN397(Xiao等,2010)、DTD(Cimpoi等,2014)和EuroSAT(Helber等,2019)。这些任务包括对通用对象、场景和细粒度类别进行分类,以及纹理识别和卫星图像分析等专门任务。

5.1训练

对于预训练的CLIP模型,我们使用ResNet-50(He等,2016)作为默认的图像编码器的主干,图像主干在训练过程中进行更新。我们使用AdamW优化器进行模型训练,初始学习率为5e-6,并采用余弦退火调度逐渐减小学习率。我们还采用了5个epoch的预热策略。最大训练时期数设置为150。

5.2主要结果

如图4所示,我们的方法,仅视觉方法和zero-shot方法的性能在10个图像数据集上进行了评估,所有数据集都使用16个镜头(16个不同的视角或者角度)进行训练。10个数据集的结果从左到右排列,10个数据集的平均结果显示在最右边。我们的研究结果表明,CLIP在所有10个数据集上都表现出强大的zero-shot(只有预训练,没有在指定的场景下进行训练)性能。然而,仅视觉方法在所有数据集上表现出较差的性能。我们认为,这可能是由于缺乏一个合适的分类器目标。因此,它可能容易受到小样本中的偏差的影响,这可能会破坏经过良好预训练的图像编码器。与所有10个数据集上的仅视觉和零拍摄方法相比,我们的方法在识别准确性上有了实质性的提高。具体而言,与仅视觉方法和零拍摄方法相比,10个数据集的平均改善分别为41%和18%。这表明了我们的方法在提高少数镜头学习性能的有效性。

图4 对10个图像数据集上少样本学习性能的比较。对零样本CLIP、仅视觉和所提出的方法的评估强调了在小样本中整合合适的分类器目标以减少偏差,并在多样的图像数据集上实现高准确性的重要性。

表14进一步比较了我们的方法与另外两种迁移方法——线性探测和CoOp (Zhou等人,2021)在广泛使用的ImageNet数据集上的性能。我们按照原始CLIP论文 (Radford等人,2021)中的说明实现了线性探测方法。我们的研究结果表明,CoOp方法显著增强了zero-shot模型的性能,提高了4.77%。值得注意的是,我们提出的方法进一步改善了这一性能,zero-shot模型的准确率提高了8.33%,突显了我们方法在整合适当的分类器目标方面的有效性。

6实验:3D点云识别

我们进一步将我们的方法扩展到了3D点云识别,并在ModelNet40数据集上进行了评估。该数据集包含40个类别的12,311个3D CAD模型,包括飞机、汽车、植物和灯具等。点云被归一化到一个单位球上,并分为9,843个训练模型和2,468个测试模型。ModelNet40是点云识别的一个广泛使用的基准数据集。

6.1训练

对于视觉编码器,我们使用 ResNet-101 架构作为默认的主干,并在输入点云上应用多视角透视投影,这遵循了 SimpleView 的方法。SimpleView 将点云从六个正交视图投影出来:前视图、右视图、后视图、左视图、顶视图和底视图。此外,我们还包括了根据 Zhang 等人的观察添加的上/底-前/后-左角的视图,因为观察到左视图对于少样本识别最具信息量对于每个视图,具有 3D 坐标的点被投影到二维图像平面上的像素上,并将其深度值用作像素值,在 RGB 通道上都是用相同的像素值。最后,所有得到的图像都被上采样到 (224, 224) 的大小以与 CLIP 的设置相匹配。

我们使用随机梯度下降(SGD)优化器进行模型训练,初始学习率为2e-4,并采用余弦退火调度逐渐降低学习率。此外,我们还使用了10个epoch的预热策略;最大训练时期数设置为250。

6.2主要结果

在少样本情景中与仅视觉范式的比较

我们采用了CLIP(Radford等人,2021)中采用的少样本评估协议,即使用1、2、4、8和16个样本进行训练,并在完整的测试集上部署模型。如图5所示,我们首先呈现了我们方法的零样本结果(14.9%),该结果是通过直接利用CLIP模型对每个视图进行分类并对10个视图的结果进行平均得到的。然后,我们比较了不同调参模型在3D点云识别上的性能。我们的结果表明,随着训练样本数量的增加,所有模型的准确性逐渐提高。值得注意的是,我们的方法(绿色曲线)在绝对准确率上大幅优于仅视觉方法(橙色曲线),提高了30%-40%,这与在图像识别和视频识别中的发现一致,验证了我们方法的有效性。此外,我们发现,我们的方法在所有训练样本水平上明显优于线性探测方法(蓝色曲线),后者是一个强大的少样本学习基线。这些结果证实了我们提出的方法的有效性和优越性,该方法利用文本知识提高了可迁移性。

对“6实验:3D点云识别”总结:

在3D点云识别实验中,采用了ModelNet40数据集进行评估,该数据集包含40个类别的12311个3D CAD模型。使用了ResNet-101作为默认的视觉编码器,并在输入点云上应用了多视角透视投影。提出的方法在训练过程中逐步提高准确性,随着训练样本数量的增加,所有模型的性能都逐渐提高。提出的方法在不同训练样本水平上均表现出优越性,相对于仅视觉方法和线性探测方法,准确率提高了30%-40%。这些结果验证了提出的方法的有效性和优越性,证明了结合文本知识以提高迁移性的可行性。

7结论与局限

本研究提出了一种新的范式,通过来自文本编码器的知识增强视觉识别任务的可迁移性。具体来说,我们使用文本编码器的语义目标初始化分类器,并在优化过程中将其冻结。我们进行了大量实验来检验这种范式的功能:首先,我们证明了目标初始化之间的适当相关性是有益的。其次,我们展示了视觉和文本语义的对齐是提高少样本性能和缩短学习进度的关键。最后,我们验证了我们提出的范式在三种类型的视觉识别任务(即图像、视频和3D点云识别)上在17个视觉数据集上的有效性。

该研究仍然存在一些值得在未来研究中探讨的局限性i) 提出的范式的性能受限于类别标签的表示方式。例如,在人员重新识别等任务中,标签通常是诸如0、1、2等的数值。在这种情况下,我们无法从文本编码器中转移任何语义信息,而转移视觉统计知识(即LDA分类器)可能会有所帮助。ii) 提出的范式的性能取决于视觉语言预训练模型的容量。虽然在本研究中我们使用CLIP作为我们的源模型,但获得性能更好的模型仍然是一个未解决的问题。iii) 类别名称的描述方式也会影响性能。例如,在动作识别数据集SomethingSomething中,类别名称如“将某物放入某物”和“用某物覆盖某物”缺乏明确的目标主体。因此,利用预先对齐的视觉语言模型的先验知识变得具有挑战性,导致性能不佳。

附录

A附加细节

在本附录中,§ A包含以下内容的更多详细信息:视频数据集的统计信息(§A.1)、视觉编码器架构(§A.4)、批量收集(§A.2)和LDA(§A.3)。

A.1视频数据集统计

Kinetics-400(Kay等人,2017)是一个大规模的视频数据集,由400个不同人类动作类别的240 k训练视频和20 k验证视频组成。数据集中的每个视频都是从原始YouTube视频中注释的10秒动作片段。

Kinetics-600(Carreira等人,2018)是Kinetics-400的扩展。Kinetics-600包含来自600个动作类别的约48万个视频。480 K视频分为390 k、30 k和60 k,分别用于训练、验证和测试集。在本文中,我们使用它的测试集进行零炮评价。

UCF-101(Soomro等人,2012年)包含13 k视频,跨越101个人类动作。

HMDB-51(Kuehne等人,2011年)包含约7000个视频,属于51个行动类别

ActivityNet-v1.3(CabaHeilbron等人,2015年)是一个大规模的未修剪视频基准,包含来自200个活动类别的19,994个5到10分钟的未修剪视频。

Charades(Sigurdsson等人,2016)是一个视频数据集,专为动作识别和定位任务而设计。它包含超过10,000个人们日常活动的短视频剪辑,由157个动作类别组成。

A.2分布式InfoNCE的批量收集

不同于单进程、多线程,并且仅在单台机器上运行的数据并行训练(DP),分布式数据并行训练(DDP)是一种广泛采用的单程序多数据训练范式,适用于单机和多机训练。由于线程之间的全局解释器锁(GIL)竞争、每次迭代复制的模型以及输入散布和输出聚集引入的额外开销,DP通常比DDP慢,即使在单台机器上也是如此。因此,我们开发了基于DDP的分布式信息归一化交叉熵(InfoNCE)用于大批量训练和快速训练。分布式InfoNCE实现的核心是批量收集。假设有M个GPU,每个GPU获得N个输入对,我们需要在GPU之间计算NM×NM的相似性矩阵以用于InfoNCE损失。如果没有批量收集,每个GPU只会计算本地的N×N矩阵,使得 N ≤ NM。然后,余弦相似度和InfoNCE损失将仅针对单个GPU内的对计算,随后它们的梯度将被平均并同步。显然,这并不是我们想要的。

分布式InfoNCE的批量收集过程如下所示。在计算相似度矩阵(从而计算每个图像/视频对应的文本输入的逻辑得分)时,每个GPU只需要保存M个视觉特征,并与NM个文本特征进行矩阵乘积,得到一个大小为M×NM的矩阵。这个计算是分布式(即分片)在N个GPU之间进行的,总共我们计算了跨GPU的NM×NM个相似度。我们使用的损失是对称的,对文本输入也是一样的。如算法1所示,我们还提供了一个示例伪代码,以帮助您理解该说明。

这段伪代码展示了如何使用类似NumPy的伪代码来说明批量收集在分布式InfoNCE中的作用。

  1. 首先,我们使用视觉编码器和文本编码器分别提取视觉输入和文本输入的特征表示。
  2. 然后,对提取的特征进行归一化,确保它们具有单位长度。
  3. 接下来,使用批量收集函数(batch_gather)收集并连接跨GPU的所有特征,得到全局的视觉特征和文本特征。
  4. 然后,计算归一化后的局部视觉特征与全局文本特征之间的点积,以及归一化后的局部文本特征与全局视觉特征之间的点积。这些点积值将用作分类器的输入,用于N*M路(例如,128路)分类,生成每个GPU上N个输入对应的损失值。
  5. 最后,通过分布式数据并行机制来平均这些损失值,这相当于在NMxNM(例如,128x128)相似性上计算损失。

这样,批量收集函数的作用在于在多个GPU之间收集和连接特征,以便在分布式设置下计算相似性和损失。

A.3 LDA分类器

这里我们提供LDA分类器的详细信息。我们直接使用官方的CLIP预训练视觉编码器来提取视频嵌入向量,而视觉编码器在Kinetics-400上不进行微调。然后,我们对Kinetics-400训练集中预先提取的视频嵌入向量执行LDA,以初始化W并在Kinetics-400数据集上微调视觉编码器时冻结它。

LDA通常用于特征分类或特征降维。然而,在这项工作中,我们仅将LDA用于特征分类(以获取“判别系数”作为分类器),而不是用于特征降维。为了更好地理解,我们在算法2中展示了生成LDA系数的代码,没有进行维度缩减。

这段代码展示了如何使用Python中的scikit-learn库中的LinearDiscriminantAnalysis类来生成Kinetics-400数据集的LDA系数。具体步骤如下:

1. 导入所需的库:导入numpy和LinearDiscriminantAnalysis类(命名为LDA)。
2. 加载预先提取的视觉特征和标签数据。视觉特征保存在名为'feats'的数组中,而标签保存在名为'labels'的数组中。
3. 创建LDA对象:通过调用LinearDiscriminantAnalysis类的构造函数创建一个LDA对象。
4. 使用fit()方法对特征和标签数据进行拟合,以训练LDA模型。
5. 提取LDA系数:通过访问lda.coef_属性,可以获取训练后的LDA模型的系数。这些系数将作为分类器的权重。

最终,变量classifier中保存了生成的LDA系数,其形状为[400, 512],其中400表示类别数量,512表示特征向量的维度。

A.4视觉编码器架构

我们在本文中提供了视觉编码器和文本编码器的完整架构细节。表15显示了CLIP-ResNet架构。表16显示了CLIP-ViT架构。

总体流程如下:

  1. 数据预处理:首先,对视觉和文本数据进行预处理,包括图像、视频或点云的特征提取以及文本的编码。

  2. 特征提取:使用预训练的视觉编码器(如CLIP的视觉编码器)提取视觉数据的特征向量,并使用预训练的文本编码器将文本数据转换为嵌入向量。

  3. 分类器初始化:通过在预训练数据集(如Kinetics-400)上应用LDA(线性判别分析)来初始化分类器的参数。这一步旨在为分类器提供语义上的先验信息。

  4. 模型微调:在训练过程中,对视觉编码器进行微调,以使其适应特定任务的数据特征。同时,保持分类器的参数固定,不进行微调。

  5. 模型评估:在微调完成后,对模型进行评估,以验证其在特定任务上的性能。

  6. 性能分析:对模型的性能进行分析和比较,以评估新范式的有效性和优势。

在利用文本知识来增强视觉识别任务的迁移能力,从而提高模型在各种视觉任务上的性能。

  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值