CrossCLR:用于多模态视频表示的跨模态对比学习

摘要

对比学习允许我们通过对比来自负样本集的正样本对来灵活地定义强大的损失函数。 最近,该原理也被用于学习视频和文本的跨模态嵌入,但尚未充分发挥其潜力。 特别是,之前的损失函数没有考虑模态内的相似性,这导致嵌入效率低下,因为相同的内容被映射到嵌入空间中的多个点。 通过CrossCLR,我们提出了一种对比损失函数来解决这个问题。 此外,我们根据输入嵌入定义了一组高度相关的样本,并将它们从负样本中排除,以避免出现假阴性问题。 我们表明,这些原则始终如一地提高了学习嵌入的质量。 使用CrossCLR学习到的联合嵌入在Youcook2和LSMDC数据集上的视频文本检索以及Youcook2数据集上的视频字幕方面,都大大超过了现有技术水平。 我们还通过学习其他模态对的改进联合嵌入来证明该概念的通用性。

1引言

跨模态任务,特别是连接视频和文本的任务,扩展了计算机视觉的影响力和适用性。 例如,它能够实现基于文本查询的视频检索[11, 10, 24]、图像和视频字幕[12],以及利用基于文本的元数据进行视觉特征学习[26, 28, 57, 41]。 链接不同的、不可直接比较的数据源会产生在仅视觉学习中不会出现的新挑战。

在本文中,我们考虑跨模态对比学习,并引入一种损失函数,该函数以比直接采用为仅视觉数据设计的损失函数更有效的方式关联数据。 对比学习基于相对于锚点的正样本和负样本的定义,这产生了一个灵活的原则:在嵌入空间中将锚点和正样本拉近,并将锚点与许多负样本推远。 许多此原则的实现已被提出:最大间隔损失[14]、三元组损失[46, 47, 18]和InfoNCE[44]。 通常,正样本被定义为实例的合成、空间[3, 33]或时间变化[33]。 实例判别也已应用于跨模态任务,其中正样本对(或一组正样本)是从同一时间窗口采样的(MILNCE[26]、AVSA[30]、CM-ACC[25])。

图1:在学习两种模态A和B之间的联合嵌入时,现有的对比学习损失,例如MaxMargin[11, 24]和CLIP[34],忽略了假负样本的可能性,因此将语义相关的概念推开了。 提出的CrossCLR损失识别有影响的样本(大圆圈/方框),将它们从负样本集中移除,并增加它们在小批量中的权重。 此外,CrossCLR向损失中添加了模态内链接。

在本文中,我们研究了现有跨模态对比学习技术的两个问题。 1. 跨模态损失仅确保来自两种模态的特征映射到联合嵌入中的邻近点,但它们缺乏一个明确的度量来确保来自相同模态的相似特征在联合嵌入中保持接近。 在以前的工作中,人们隐含地认为,通过传递性,模态之间的相似性也将保留模态内的相似性。 然而,这还没有得到证实。1. 如果来自相同模态的相似特征映射到联合嵌入中的相距甚远的点,则嵌入缺乏语义意义,因此泛化能力很差。 2. 以前跨模态对比损失的重点在于正样本对的定义,而负样本是从整个分布中随机抽取的。 这并没有反映我们所说的_有影响的样本_的影响——这些样本与许多其他样本相似,因此对嵌入的形状有很大的影响。 将有影响的样本标记为负样本可能会将实际上密切相关的样本分隔开来。

为了解决第一个问题,我们提出了一种对比损失,它强制联合嵌入尊重原始特征空间中样本的相似性。 此外,为了解决第二个问题,我们将有影响的样本定义为在数据集中具有高连通性的样本,并将这些样本从负样本集中移除。 我们还引入了基于连通性的损失加权。 我们表明,所有这三种方法都通过视频文本检索和视频字幕测试,都能改进跨模态嵌入。 虽然本文关注视频和文本作为模态,但我们表明,所提出的跨模态损失的积极效果可以推广到其他模态对。

2相关工作

2.1对比学习中的样本选择

与最近的研究[3, 16, 6, 5, 13, 2]不同,我们的工作解决了多模态对比学习问题。 我们提出模间和模内损失目标,以确保具有相似内容的样本在联合嵌入空间中保持接近,无论模态如何。 然而,样本选择在对比学习中扮演着重要的角色。 受Khosla等人[20]的启发,Zhang等人[38]提出了一种自适应自监督学习技术,无需使用标签信息即可挖掘最近的正样本。 Han等人[15]引入了一种协同训练方法,通过使用数据的其他互补视图来挖掘用于视频表示学习的难正样本。 在负样本采样方面,最近的研究探索了信息性(难)负样本,以促进更好、更快的对比学习[19, 36]。

我们工作的重点也在于选择更好的负样本,但我们没有挖掘困难负样本,而是引入了有影响样本的概念。 我们将这些样本定义为与其他样本紧密关联,并且更可能导致语义冲突的样本。 我们将它们从负样本集中排除,并在损失函数中赋予它们更大的权重。

2.2多模态表示学习

视频数据通常包含多种模态,例如原始RGB、运动、音频、文本、检测到的物体或场景标签。 将其中多种模态结合起来有助于更好地理解视频内容[26, 11]。 最近,基于Transformer的跨模态表示学习模型变得流行起来[11, 12, 34]。 VideoBERT[41]采用了BERT的设计,并将其应用于量化的视频表示。 Miech等人[28]引入了HowTo100M数据集。 后续工作利用该数据集的噪声配对来预训练视频语言模型[26, 57]。 MIL-NCE[26]提出考虑在时间上接近的邻域中采样的多个正样本对来解决视频叙述错位的问题。

以上工作侧重于利用非常大的数据集从头学习表示,而另一条研究路线是利用预训练的专家模型学习联合嵌入来计算输入特征[24, 11, 27]。 Miech等人[27]计算了来自预训练专家模型的特征,用于文本到视频的检索。 总体相似度是每个专家个体相似度分数的加权和。 CE[24]提出了一种专家混合模型和协作门控机制来组合专家。 最近的扩展(MMT)[11]从7个不同的领域提取专家特征,并采用了一种时间感知的模态聚合机制。 MMT采用双向最大边缘排序损失进行训练。

我们的工作属于第二类工作,其中我们假设预训练的输入嵌入。 CrossCLR通过强制每个模态内部的一致性来克服最大边缘排序和对比学习损失的局限性。 通过引入和利用有影响的样本,它避免了在联合嵌入空间中排斥语义相似的表示。

3CrossCLR

在本节中,我们首先定义跨模态学习任务,并重点介绍普通对比学习在学习跨模态嵌入时面临的问题。 然后,我们介绍了对比损失的修改,以确保模态内对齐并避免语义冲突。

跨模态对齐。

跨模态对齐旨在学习两个编码器fx(⋅)和fy(⋅),它们将两个模态A和B的嵌入x和y映射到zx=fx(x)和zy=fy(y),使得如果zx和zy指的是相似的内容,则它们在学习到的嵌入空间中彼此靠近,否则相距甚远。 这意味着,它旨在学习来自A和B的样本之间的相似度函数。 给定一个样本对(xi,yi),假设它描述了相似的内容。 例如,xi和yi可以分别是视频片段的嵌入及其内容的相应文本描述的嵌入。 成功学习的跨模态相似性应该能够推广到未见过的对,尽管输入模态A和B通常存在很大的差异,即使它们显示相似的内容。 A和B可以是任意模态。 在本文中,我们假设来自A的样本是从视频片段中导出的特征嵌入,而来自B的样本是句子的特征嵌入。 但是,我们也展示了一个实验研究,其中A和B是从视频片段中导出的不同模态。

图 2: CrossCLR 损失。 我们首先找到有影响的样本。 有影响的样本类似于大量其他样本。 我们在损失中强调这些样本。 此外,我们从负样本集中修剪这些样本,因为我们想要防止损失错误地将它们分开,而它们与其他样本共享语义。

预训练特征专家。

我们使用现成的特征提取器[11, 27, 29, 24]编码来自视频的特征表示,例如动作、外观、物体。 每个专家都是针对特定任务的预训练模型,更多细节请参见第4.2节。 给定一个视频v,我们采样m帧并将它们馈送到专家模型以获得每帧专家特征x=[e1,…,em]。 对于文本数据,我们使用_BERT-Base uncased_模型作为特征提取器。

为了将模态A的嵌入与模态B的嵌入对齐,我们遵循 COOT[12] 的双流分层架构,如图4所示。 它由用于片段级嵌入的局部Transformer和用于视频级嵌入的全局Transformer组成。 给定帧/词级专家特征,我们通过局部Transformer获得片段/句子级嵌入。 这些局部嵌入作为全局Transformer的输入,从而产生最终的视频/段落表示。

对比学习。

样本对 (xi,yi) 为我们提供了对比学习的信息。 特别地,每个这样的样本 i 可以被视为正样本对,而所有针对 j≠i 的样本对 (xi,yj) 将被视为负样本对。 准确地说,对于小批量数据 ℳ 中的每个样本 xi,正样本集 𝖯i 和负样本集 𝖭i 定义为 𝖯i={yi} 和 𝖭i={yj|∀yj∈ℳ,j≠i}。 小批量数据 ℳ 上相应的对比损失为:

正在针对编码器 fx 和 fy 的参数进行优化。

此公式的一个缺点是负样本的随意定义。 我们简单地假设所有与 i≠j 的组合 (xi,yj) 具有不同的内容。 然而,情况并非总是如此。 例如,两句话“有人喝了一杯茶”和“她一边喝茶一边打电话”,与两个不同的视频片段 i 和 j 对应,它们的内容在很大程度上是重叠的。 只有当 fx(xi) 和 fy(yj) 映射到嵌入空间中的不同点时,公式 (1) 中的损失目标才会最小化,尽管它们具有很高的语义相似性。 此外,上述损失中没有任何内容强制要求 fy(yi) 和 fy(yj) 映射到联合嵌入空间中的邻近点,即使 yi 和 yj 在其原始嵌入空间中相似,如给定示例所示。

3.1模态间和模态内一致性

让我们首先解决联合嵌入中输入模态缺失的一致性问题。 如果我们像这篇论文一样假设,输入模态已经通过了一个能够将语义相关的输入放置在原始特征嵌入中附近位置的编码器网络,那么我们也应该在联合嵌入空间中保留这种邻近性。 因此,fx(⋅) 和 fy(⋅) 不仅应该被优化以将一对 (xi,yi) 的 xi 和 yi 映射到联合嵌入中的邻近位置(模态间),而且来自相同模态的相似样本 xi 和 xj 也应该映射到彼此靠近的位置(模态内)。 样本 xi 的模态间和模态内负样本集定义为:𝖭iE={yj|∀yj∈ℳ,j≠i} 和 𝖭iR={xj|∀xj∈ℳ,j≠i}。

因此,学习目标基于四个对比组件,包括A到B、A到A、B到A和B到B的对齐,如图2-右所示:

其中δ(xi,yj)=exp⁡(fx(xi)Tfy(yj)/τ)=exp⁡(zxiTzyj/τ)。 分母中的第二项和第三项分别总结了模间和模内负样本。 λ是一个超参数,用于控制模内对齐。 在计算内积[40, 48, 34]之前,我们对输入特征嵌入应用ℓ2归一化。 在这种情况下,内积等价于余弦相似度。 虽然分子是对称的,但分母不是。 因此,我们为每个样本对(xi,yi)添加两个损失——每个模态一个。

3.2避免语义冲突

我们在常规对比学习中发现的第二个问题是对比实际上具有强烈语义重叠的假负样本。 对比学习中的常见假设是,足够多的负样本有助于学习更好的表示,因为在每个训练批次中,模型都会对比更多语义代表。 然而,Arora等人[1]表明,这一假设并不总是成立。

图3: Youcook2 数据集中有影响力的文本样本示例(深绿色 -> 更重要)。 An:锚样本,FN:假负样本,N:负样本。

当有大量负样本时,观察到具有高度语义重叠的负样本的概率会增加。 如图3所示,在标准对比学习方法中,两个样本"切番茄并放入碗中"和"切番茄并与香草混合"都被认为是负样本。 通过对比这些不理想的负样本对,鼓励网络丢弃其在学习到的嵌入中的公共特征,这实际上是共同的语义内容,例如,两个视频中相似的物体和动作;另见图3。 我们将这个问题称为语义冲突,在Arora等人的论文[1, 39]中被称为“类别冲突”,在Chuang等人的论文[7]中在不同的语境下被称为“采样偏差”。 当负样本数量很大时,频繁的语义冲突会阻止算法学习良好的表示。

我们认为,减少语义冲突的影响并从负样本集中去除错误的负样本非常重要。 这并非易事,因为我们没有直接的信息,例如,哪些样本是错误的负样本。 为此,我们引入了影响样本的概念,并提出了基于影响样本的两个组成部分:负样本集剪枝和损失加权。

算法1 CrossCLR的学习算法。

输入:批量大小N,队列Q,常数τ、κ和λ,模态A和模态B的网络fx和fy。

定义 δ(xi,yj) 为:

δ(xi,yj)=e(fx(xi)Tfy(yj)τ)=e(zxiTzyjτ)

对于采样的最小批次{𝒙i,𝒚i}i=1N执行

  将{𝒙i,𝒚i}i\=1N加入Q队列,并删除最旧的键;

  对于所有 k∈{1,…,|Q|} 执行

    cxk\=1|Q|∑xj∈Qxk⊤xj‖xk‖⋅‖xj‖

    cyk\=1|Q|∑yj∈Qyk⊤yj‖yk‖⋅‖yj‖

     如果 cxk<γ 则: 𝖭^xIR←𝖭^xIR∪xk 结束如果

     如果 cyk<γ 则: 𝖭^yIR←𝖭^yIR∪yk 结束如果

  结束循环

  对所有 i∈{1,…,N} 执行

    αxi\=1|Q|∑xj∈Qxi⊤xj‖xi‖⋅‖xj‖

    αyi\=1|Q|∑yj∈Qyi⊤yj‖yi‖⋅‖yj‖

     如果 αxi<γ 则: 𝖭^xIE←𝖭^xIE∪yi 结束如果

     如果 αyi<γ 则: 𝖭^yIE←𝖭^yIE∪xi 结束如果

    wxi\=e(αxiκ);wyi\=e(αyiκ)

    Lxi\=−wxilog⁡δ(xi,yi)δ(xi,yi)+∑yk∈𝖭^xIEδ(xi,yk)+λ∑xk∈𝖭^xIRδ(xi,xk)

    Lyi\=−wyilog⁡δ(yi,xi)δ(yi,xi)+∑xk∈𝖭^yIEδ(yi,xk)+λ∑yk∈𝖭^yIRδ(yi,yk)

  结束循环

  更新网络 fx 和 fy 以最小化 L\=Lx+Ly2

结束 循环

返回 编码器 fx(⋅) 和 fy(⋅)

有影响力的样本。

我们假设与其他样本紧密关联的样本更可能共享语义,因此更可能导致语义冲突。 我们使用队列技术来存储数据样本。 这使我们能够计算更可靠的语义相似性分数。 同样,最近的研究 [49, 6, 16]表明,大量的负样本在对比表示学习中至关重要。 队列大小可以远大于小批量大小,我们通过用当前小批量替换最旧的小批量来逐步更新它。 因此,给定队列𝒬x={xn}n=1M中的一组M样本,我们将有影响力的样本定义为样本xi,它与𝒬x中的许多其他样本紧密关联,其中我们通过特征的聚合相似性来衡量连接性C(xi):

连接性越高,数据样本的影响力就越大。 如图3所示,有影响力的样本往往位于语义集群的中心或建立集群之间的联系。 我们使用每个样本的连接性进行剪枝和加权。

负样本集剪枝。

可以对样本的连接性进行阈值处理,以识别有影响力的样本ℐx。 给定一组样本𝒬x和阈值γ,我们将ℐx定义为ℐx={xi|C(xi)>γ,∀xi∈𝒬x}。 为了减少对比学习中假阴性的描述性影响,我们从负样本集中移除所有有影响力的样本(在每个模态中)。 因此,我们将模态间和模态内负样本集重新定义为:𝖭xE={yj|∀(xj,yj)∈ℳ,xj∉ℐx}和𝖭xR={xj|∀xj∈𝒬x,xj∉ℐx}。 这也如图2-右所示。

损失权重。

此外,我们建议利用连通性来强调具有较大聚合连通性的样本,而不是那些具有低连通性的样本。 连通性非常低的样本可以被视为数据集的异常值。 它们过于稀疏,无法对嵌入的形状产生积极影响。 因此,我们减少了它们对表示学习的影响。 同时,我们增加了有影响样本的权重,因为这些样本的跨模态信息应该对嵌入的形状产生很大的影响。 特别是,对于每个样本和模态,我们引入一个权重

其中κ是一个超参数。 虽然我们定义了模态A的连通性、有影响的样本和权重,但模态B也适用相同的规则。

最终的CrossCLR损失为(Lx+Ly)/2,其中

4实验

4.1数据集和指标

我们在LSMDC[37]和Youcook2[55]数据集上进行了实验。

LSMDC[37]包含从202部电影中提取的118,081个短视频片段。 每个片段都标注了字幕,这些字幕是从电影剧本或音频描述中提取的。 测试集由1000个视频组成,这些视频来自训练集中不存在的电影。

Youcook2 [55] 包含2000个视频,总共有14k个片段。 该数据集收集自YouTube,涵盖89种食谱。 其中有∼9.6k个片段用于训练,∼3.2k个片段用于验证。 每个片段都有一个手动标注的文本描述。

评估协议。 我们根据召回率@K、中位排名(MdR)和平均排名(MnR)来评估在模态−到−模态检索任务中学到的嵌入。 给定一个查询,其K个最近邻从数据库中检索。 如果正确样本位于K个最近邻中,则检索被认为成功。

图4: 架构。 模型由两个分支组成:一个用于模态A(例如视频),一个用于模态B(例如 文本)。 每个模态都由来自预训练专家的特征表示,我们保持这些特征不变(视觉编码器和BERT)。 这些嵌入被送入一个Transformer,该Transformer将输入特征映射到一个联合嵌入空间。 对于视频和文本,我们使用一个两层级的Transformer层次结构,其中损失应用于片段/句子级别和视频/段落级别。 第二阶段将第一个Transformer的联合嵌入的特征作为输入。

表1: 对比学习损失的比较。 在YouCook2和LSMDC数据集上使用不同的对比学习损失进行的视频文本检索结果。 CrossCLR显示出比之前的损失更高的检索分数。


Youcook2LSMDC

Text⟹VideoVideo⟹TextText⟹VideoVideo⟹Text

R@1R@5R@10R@1R@5R@10R@1R@5R@10R@1R@5R@10
MaxMargin [11, 24] 15.0±0.3437.0±0.3849.1±0.5114.2±0.1435.3±0.0247.2±0.088.222.731.89.123.331.8
MIL-NCE [26] 18.0±0.2341.9±0.5353.9±1.0616.4±0.5141.5±0.2454.1±0.548.924.232.510.425.434.9
CLIP [34] 17.8±0.4042.1±0.7854.4±0.6617.0±0.5442.0±0.4855.0±0.589.724.132.69.523.832.5
DCL [7] 17.9±0.8841.5±0.5954.1±0.7916.8±0.3942.0±0.3755.3±0.629.024.933.28.623.432.2
NT-Xent [4] 17.5±0.4442.4±0.2755.0±0.7717.3±0.5841.6±0.8954.6±1.09.323.632.510.025.133.4
CrossCLR19.5±0.4945.9±0.5558.3±0.7618.5±0.3244.8±0.8257.9±0.7710.926.234.712.026.135.3

4.2专家特征

我们使用针对不同语义任务(即外观、场景、动作、物体和howto100m [26])训练的预训练模型对视频内容进行编码。 我们提取每一帧的特征。 具体来说,我们使用在ImageNet上预训练的ResNeSt269模型[53]来提取外观信息,并使用在Places365上预训练的DenseNet161模型[54]来提取场景信息。 就动作信息而言,我们采用具有ResNet152主干并在IG65M上预训练的R(2+1)D模型[43],并提取最终的全局池化特征。 对于物体特征,我们使用具有ResNet50 FPN主干的Faster-RCNN模型[35]。

对于Youcook2实验,我们使用[12]提供的Howto100m特征。 对于表1中的LSMDC结果,我们使用动作和外观特征作为模型的输入。 对于表4中的最先进技术(SOTA)比较,我们使用了所有专家特征,包括外观、动作、场景、物体和howto100m特征。

表2: CrossCLR损失的消融研究。 我们量化了CrossCLR组件的个体贡献:邻近加权(PW)、模态内对齐(IM)和负样本修剪(NP)(报告了5次运行的平均值和标准差)。

PWIMNPText⟹VideoVideo⟹Text
R@1R@5R@10R@1R@5R@10
17.9±0.5141.7±0.8353.7±0.7716.7±0.5340.9±0.6453.7±0.96
18.2±0.3941.9±1.2853.7±1.1216.9±1.1841.4±1.0453.9±1.33
18.7±0.3343.6±0.6356.2±0.5417.7±0.5042.8±0.7956.3±0.49
19.0±0.4245.4±0.9857.8±0.9718.3±0.3544.1±1.1357.2±1.11
19.5±0.4945.9±0.5558.3±0.7618.5±0.3244.8±0.8257.9±0.77

图5:MaxMargin、NT-Xent (SimCLR) 和 CrossCLR 损失函数训练后,联合嵌入中正样本对和负样本对的相似度得分分布。 与 MaxMargin 和 NT-Xent 相比,CrossCLR 对正样本对的方差更小(更确定)。 对于 MaxMargin,均值也向较小的值偏移,这意味着它对匹配相似语义的置信度较低。 对于负样本对,NT-Xent 和 MaxMargin 的得分集中在零附近。 相反,CrossCLR 本质上考虑了负样本对的相似性,因此集中度向正得分偏移。

4.3实现细节

我们使用动量为 0.56、小批量大小为 64 的 RADAM 优化器。 初始学习率设置为7e4。 当验证性能饱和时,将其降低 10 倍。 对于每个数据集,我们使用相应的验证集来估计超参数。 我们对 CrossCLR 使用以下超参数:Youcook2 为κ=35e4,LSMDC 为κ=55e4;Youcook2 为λ=8e1,LSMDC 为λ=65e2,τ=0.03。 我们分别对 Youcook2 和 LSMDC 数据集使用阈值γ=0.9和队列大小3K和5K。 我们训练模型 40 个 epochs,在一个 NVIDIA T4 Tensor core GPU 上训练 Youcook2 需要∼1 小时,LSMDC 数据集需要∼2 小时。 有关架构的更多详细信息,请参阅补充材料。

4.4实验结果

图6: LSMDC数据集的定性结果(最佳观看效果为彩色)。 左:我们展示了基于文本嵌入的CrossCLR和NT-Xent嵌入的t-SNE可视化。 方框的颜色代表语义的相似度。 CrossCLR比NT-Xent具有更高的模态内一致性。 右:它展示了文本到视频(前3个最近邻)和视频到视频(前3个最近邻,不包括自身)检索任务的几个示例。

CrossCLR组件的消融研究。 提出的CrossCLR包含三个组件:模态内对齐(IM)、邻近加权(PW)和负样本剪枝(NP)。 为了阐明这三个组件的贡献,我们在表2中报告了Youcook2数据集上的检索结果。 数据分割和其他实验设置保持不变。 所有三个组件都对结果产生了积极的影响,无论是单独还是联合。 模态内组件IM产生了最大的单个增益,但负样本剪枝和邻近加权所使用的有影响样本的概念也产生了明显的益处。

与其他对比学习方法的比较。 我们将CrossCLR损失与流行的对比损失进行了比较:MaxMargin [46, 47, 11, 24]、MILNCE [26]、NT-Xent [3]、CLIP [34]和DCL [7]。 为了进行公平直接的比较,我们使用了与COOT [12]相同的实验设置和架构,只更换了损失函数。 表1报告了Youcook2和LSMDC上的检索性能。 在两个数据集上,CrossCLR 始终优于之前的对比学习方法。

表 3: Youcook2 数据集上最先进的文本到视频检索的比较。 CrossCLR 在使用相同的架构和实验设置的情况下,改进了现有最佳水平 (COOT)。


Text⟹Video

R@1R@5R@10
Random0.030.150.3
Miech et al. [28] 6.117.324.8
ActBERT [57] 9.626.738.0
MIL-NCE [26] 15.138.051.2
COOT [12] 16.7±0.440.2±0.352.3±0.5
CrossCLR19.5±0.4945.9±0.5558.3±0.76

表 4: LSMDC 数据集(测试集)上最先进的文本到视频检索的比较。 CrossCLR 改进了现有最佳水平 (MMT)。


Text⟹Video

R@1R@5R@10MdR↓MnR↓
Random0.10.51.0500.0500.0
CT-SAN [52] 5.116.325.246.0
JSFusion [51] 9.121.234.136.0
CCA [21] 7.521.731.033.0
MEE [27] 9.325.133.427.0
MEE-COCO [27] 10.125.634.627
CE [24] 11.226.934.825.3
MMT [11] 13.229.238.821.076.3
COOT [12] 11.326.136.722.085.4
CLIP [32] 11.322.729.256.5
CrossCLR15.032.542.018.074.4

在图 5 中,我们探讨了不同的对比学习方法,三种对比方法 SimCLR (NT-Xent)、MaxMargin 和 CrossCLR,关于它们正负样本对的相似性得分。 我们分别显示了正样本和负样本相似性得分的直方图。 分数是在使用这三种损失分别训练网络后,在验证集上计算的。 图 5 显示,与 MaxMargin 损失或 SimCLR 损失相比,CrossCLR 对正样本产生了更高的确定性(更低的方差)。 MaxMargin 损失 [46, 47, 11, 24] 对正样本产生的平均得分明显较低,这表明该方法在安装学习嵌入中跨模态概念之间提供的训练链接方面存在问题。 SimCLR [3] 可以表示更多这些概念,但更高的方差表明也存在许多失败案例。 从负样本得分直方图中,我们可以看到 SimCLR 和 MaxMargin 损失的负样本均值为零,这是由损失的结构强制执行的。 这不允许负样本之间存在语义重叠。 相反,CrossCLR 允许负样本之间存在语义相似性,这使得分布向正分数偏移。 这并不一定意味着CrossCLR启用的负样本之间的关系都是有意义的。 然而,修剪有影响样本后检索性能的提高间接表明,这些关系中的许多都是合理的。

表5:泛化到其他模态对。 在LSMDC数据集的模态完整网格上进行模态到模态的检索。 对于几乎所有模态对,CrossCLR都能提高检索分数。

ModalityMethodTextAppearanceObjectSceneActionMean


R@1R@10R@1R@10R@1R@10R@1R@10R@1R@10R@1R@10
TextNT-Xent−⁣−−⁣−7.228.32.88.35.724.79.332.66.323.5
CrossCLR−⁣−−⁣−8.129.32.59.67.425.310.233.37.124.4
AppearanceNT-Xent7.127.5−⁣−−⁣−72.792.298.310085.698.265.979.5
CrossCLR8.830.0−⁣−−⁣−75.893.899.510085.498.967.480.7
ObjectNT-Xent2.48.368.691.5−⁣−−⁣−75.495.243.280.547.468.9
CrossCLR3.19.074.794.7−⁣−−⁣−79.595.943.382.450.270.5
SceneNT-Xent6.224.398.510082.895.6−⁣−−⁣−86.898.768.679.7
CrossCLR7.425.099.610084.096.0−⁣−−⁣−83.098.868.580.0
ActionNT-Xent7.631.784.897.947.185.485.398.5−⁣−−⁣−56.278.4
CrossCLR9.733.085.098.850.386.286.198.7−⁣−−⁣−57.879.2
MeanNT-Xent5.823.064.879.451.470.466.279.656.277.5−⁣−−⁣−
CrossCLR7.324.366.980.753.271.468.180.055.578.4−⁣−−⁣−

图6显示了学习嵌入的定性可视化。 该图中的定性样本表明,与NT-Xent相比,CrossCLR在模态内样本上带来了更多的一致性。

与现有技术的比较。 表3和表4显示,由于CrossCLR损失,从文本到视频的检索性能在YouCook2和LSMDC数据集上都超过了现有技术。 对于LSMDC实验,我们使用了动作、外观、物体、场景和howto100m特征。 然而,MMT[11]使用了其他模态,例如音频、OCR和人脸。 CrossCLR在使用较少模态的情况下优于MMT。 请注意,对于表4中的LSMDC实验,我们没有使用复杂的融合技术,只是简单地聚合了在每个模态上单独训练的每个模型的输出(更多细节见补充材料)。 由于我们使用与COOT[12]相同的架构(图4)和实验设置,只有损失不同,因此改进可以直接归因于CrossCLR。

表6: YouCook2数据集上的字幕生成性能。 我们沿用COOT [12]中的设置,并在给定真实视频片段的情况下,报告验证集上的字幕生成结果。 最后一行显示了人类的性能,可以认为是Hessel等人[17]报告的最佳可达到的性能。 + 我们除了使用片段嵌入作为模型输入外,还使用了视频嵌入。 ⋆ Vedantam等人[45]引入了两个版本CIDEr和CIDEr-D。我们报告CIDEr-D[45],但是对于带有⋆标记的方法,我们找不到他们使用的版本的相关信息。

MethodB@3B@4RougeLMETEORCIDEr-DRE@4↓
VideoBERT [42] 7.594.3328.8011.94−⋆
ActBERT [57] 8.665.4130.5613.30−⋆
Zhou et al. [56] 7.533.8427.4411.55−⋆
VTransformer [56] 13.087.6232.1815.6532.267.83
TransformerXL [8] 11.466.5630.7814.7626.356.30
MART [22] 12.838.0031.9715.9035.744.39
AT+Video [17] 9.0136.6517.77−⋆
COOT [12] 17.1210.9137.5918.8554.075.11
CrossCLR17.6011.1138.0019.2558.654.19
COOT [12]+ 17.9711.3037.9419.8557.246.69
CrossCLR+ 18.6212.0438.6320.1761.105.62
Human [17] 15.2045.1025.90

其他模态对。 我们感兴趣的是,CrossCLR获得的改进是否特定于视频文本检索,或者该损失是否能够很好地推广到其他模态对。 为此,我们比较了在从LSMDC数据集导出的各种输入模态组合上,CrossCLR与NT-Xent损失[4] 的性能。 表5显示,除了极少数例外情况,CrossCLR显示出比NT-Xent更好的检索性能。 这表明CrossCLR背后的原理并非特定于视频文本检索,而是普遍适用于学习跨模态嵌入。

4.5视频字幕生成

除了视频文本检索之外,我们还报告了字幕生成性能,以展示CrossCLR学习到的嵌入的丰富性。 表6报告了与Youcook2验证集上最先进的方法相比,使用CrossCLR方法学习到的嵌入的字幕生成性能。

我们使用与MART[22]和COOT[12]类似的方法评估字幕生成性能,指标包括CIDEr-D[45]、ROUGE-L[23]、BLEU@3和BLEU@4[31]以及METEOR[9]。 此外,我们利用重复率指标RE@4[50]来衡量字幕的重复程度。 我们将使用CrossCLR方法生成的片段嵌入输入到字幕生成模型MART[22]中(此外,我们还在+实验中使用了视频嵌入)。 与COOT相比,我们获得了更多样化和准确的标题。 MART [22] 分别使用从ResNet-200和BN-Inception模型中提取的外观和光流特征。 根据所有指标,CrossCLR 的性能显著优于现有技术,并且与其他方法相比,它生成的标题也更加多样化。

5结论

我们引入了一种对比损失,用于学习两种输入模态的联合嵌入,这种损失考虑了跨模态学习的特殊需求。 首先,假设输入模态已经具有一些有意义的嵌入,其中语义相关的概念在特征空间中彼此接近,我们也强制在联合嵌入中保持这种接近性。 以前的损失函数没有使用这种约束,部分原因是它们主要关注从头开始学习输入模态的特征表示,而不是学习联合嵌入。 在我们的实验中,模态内邻近性导致跨模态检索性能的一致提升。 其次,我们确定了假阴性样本的问题,并提出了一种通过输入嵌入中的互连程度来识别假阴性的启发式方法。 同样,这与邻近加权一起,也导致了检索性能的一致改进。 最后,我们证明了使用CrossCLR获得的改进并不局限于视频和文本嵌入。 同样的原则可以成功地应用于其他模态对,以学习联合嵌入。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值