欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

VideoCLIP-XL:推进对视频 CLIP 长篇描述模型-3 方法的理解

最编程 2024-10-19 10:24:27
...

在本节中,我们介绍了我们的自动数据收集系统以及由此产生的视频与长描述(VILD)预训练数据集(第3.1节)、文本相似性引导的主成分匹配(TPCM)技术(第3.2节)、两个新的描述排序任务(第3.3节)以及新的长视频描述排序(LVDR)基准数据集(第3.4节)。

3.1 视频与长描述(VILD)数据集

训练CLIP模型通常需要大量的视觉-文本对。在图像处理领域,开源大型多模态模型(LMMs)的出现以及GPT-4V(Achiam等,2023)等API的可用性推动了使用详细长描述对图像进行标注的工作。例如,ShareGPT4V(Chen等,2023)是一个大型数据集,它源自一个高质量策划的10万个描述集合,该集合是使用GPT-4V收集的,并通过一个描述模型扩展到120万个。
在这里插入图片描述

然而,具有大量长描述的视频数据集,尤其是在开放领域,仍然非常稀缺。例如,Shot2Story(Han等,2023)提供了2万个视频片段,每个片段都附有镜头级描述和视频摘要。在使用LMMs进行标注后,进一步的手动校正确保了这些长描述的可靠性,从而使其成为一个值得信赖的评估集,并从我们的训练数据中排除。MiraData(Ju等,2024)利用GPT4V为57,800个视频片段生成长描述,这些视频片段仅限于游戏和城市/风景探索场景。Open-Sora-Dataset(PKU-YuanGroup,2024)利用LMMs为40,200个视频生成描述性叙述,主要是自然景观。

鉴于开放领域视频与长描述对的稀缺性,我们设计了一个自动数据收集系统,如图1所示。我们的方法利用了多种来源,主要包括视频叙述数据、视频指令调整数据、原始视频和可用的视频与长描述对。
(a)视频叙述数据。视频叙述数据通常包含由人类标注者产生的与人类相关的描述,可以描述整个场景、主要活动以及涉及多个角色和对象的事件。我们采用了VidLN(Voigtlaender等,2023)数据集,该数据集包含视频中每个主要人物/动物/目标的个体级描述以及背景的人类标注。为了使数据集符合我们的目的,我们采用大型语言模型(LLMs)通过提示工程(即描述聚合步骤)将个体级叙述聚合成整体级描述。最后,考虑到训练的有效性和鲁棒性,我们进一步利用LLMs对整体级描述进行重写(即描述重写步骤)。此过程涉及生成具有相同意义的不同文本描述,同时保持主要内容和详细属性不变。在附录A.1中展示了在两个步骤中使用的LLMs和提示的详细信息。
(b) 视频指令调优数据。随着大型语言模型(LMMs)的出现,大量的视频指令调优数据集也已公开。例如,VideoInstruct100K(Maaz等,2023)包含与视频摘要、基于描述的问题回答以及创造性/生成性问题回答相关的问答对。VideoChat(Li等,2023b)提供了一个丰富的数据集,其中包含详尽的视频描述和对话,通过融入视频指令中的时间和因果方面来增强数据的多样性。这些数据集最初是为了训练一种与类型无关的视频理解模型而制作的,而不是为了整理视频描述。因此,我们的方法包括使用大型语言模型(LLMs)进行数据过滤,以排除与视频描述无关的样本。我们采用了提示工程,并提供了一些示例演示,以帮助LLMs取得更好的效果。最后,还执行了描述重写步骤。所使用的LLMs和提示的详细信息见附录A.1。

© 可用视频与长描述数据。如前所述,现有将视频与长文本描述配对的数据集通常在视频的数量或领域/类型上受到限制。在这方面,我们对这些数据集执行了数据采样操作。具体而言,VILD包含了MiraData(Ju等,2024)中所有关于游戏和城市/风景探索场景的57.8K个视频片段。从Open-Sora-Dataset(PKU-YuanGroup,2024)中随机抽取了50K条描述自然景观的长字幕。最后还涉及描述重写步骤。(d) 原始视频数据。为了进一步扩大训练数据的数量,我们利用LMMs和LMMs(这里可能是指利用不同类型的LMMs或重复提及以强调,但原文表述略显重复,故在此稍作调整以明确)根据原始视频(有些结合了相应的短字幕)生成长描述。如果没有短字幕可用,则需要使用现成的模型(Li等,2023a;Huang等,2023;Zhang等,2023;Yu等,2023)执行一个可选的短视频描述生成步骤。为了提高计算效率,我们随机抽取了超过200万个视频片段,这些片段由Panda-70M(Chen等,2024)中的多个教师模型和微调后的字幕选择模型生成了高质量短字幕。然后,我们从每个视频片段中等间隔地采样 k k k(在我们的设置中 k = 3 k=3 k=3)帧作为关键帧,并使用LMMs为它们添加长描述。我们没有为每一帧都这样做,因为这将非常耗时且费力。接下来,给定整个视频的短描述和其关键帧的长描述,我们要求LLMs将它们整合成整个视频的长描述。短视频描述的辅助可以缓解帧描述中出现的幻觉。我们的发现也与现有研究(Wang等,2023c,2024)达成共识,即直接使用视频LMMs(Li等,2023b;Maaz等,2023)为长字幕描述视频可能会导致次优结果。所使用的LLMs/LMMs和提示的详细信息见附录A.1。

最后,执行了后处理步骤。过滤掉了不适宜公开(NSFW)的示例。接下来,我们使用ViCLIP(Wang等,2023c)和LongCLIP(Zhang等,2024)过滤掉平均视频-文本相似度小于0.20的低质量示例。我们最终收集了超过200万个视频与长描述数据对,作为我们的VILD数据集用于模型预训练。数据统计信息的更详细比较见附录A.2。

3.2 文本相似性引导的主成分匹配(TCPM)

CLIP模型的原始预训练以视觉-文本对 ( v , t ) (v, t) (v,t)作为输入。 v v v可以是图像或视频。它对特定的单模态编码器架构没有假设。给定一个视觉编码器 E v E_{v} Ev和一个文本编码器 E t E_{t} Et,首先提取单模态特征为 f v = E v ( v ) f_{v}=E_{v}(v) fv=Ev(v) f t = E t ( t ) f_{t}=E_{t}(t) ft=Et(t)。然后,通常采用InfoNCE(Oord等,2018)损失的对比学习来学习视觉和文本之间的对应关系。特别是,这可以表示为:

L C L ( f t , f v ) = 1 2 N ∑ N L InfoNCE  f t → f v + L InfoNCE  f v → f t \mathcal{L}_{\mathrm{CL}}\left(f_{t}, f_{v}\right)=\frac{1}{2 N} \sum_{N} \mathcal{L}_{\text {InfoNCE }}^{f_{t} \rightarrow f_{v}}+\mathcal{L}_{\text {InfoNCE }}^{f_{v} \rightarrow f_{t}} LCL(ft,fv)=2N1NLInfoNCE ftfv+LInfoNCE fvft

其中 N N N是批量大小,

L InfoNCE  f t → f v = − log ⁡ exp ⁡ ( sim ( f t , f v + ) / τ ) ∑ f v ∈ { f v + , f v − } exp ⁡ ( sim ( f t , f v ) / τ ) \mathcal{L}_{\text {InfoNCE }}^{f_{t} \rightarrow f_{v}}=-\log \frac{\exp \left(\text{sim}\left(f_{t}, f_{v}^{+}\right) / \tau\right)}{\sum_{f_{v} \in\left\{f_{v}^{+}, f_{v}^{-}\right\}} \exp \left(\text{sim}\left(f_{t}, f_{v}\right) / \tau\right)} LInfoNCE ftfv=logfv{fv+,fv}exp(sim(ft,fv)/τ)exp(sim(ft,fv+)/τ)

反之亦然。这里, τ \tau τ是温度超参数, sim \text{sim} sim是余弦相似度计算, f v + f_{v}^{+} fv+是与文本特征 f t f_{t} ft配对的正视觉特征, f v − f_{v}^{-} fv是由当前训练批次中其他未配对的图像/视频形成的负视觉特征。

为了扩展CLIP模型对长描述的理解能力,Long-CLIP(Zhang等,2024)提出使用主成分匹配进行图像CLIP。给定短描述、长描述和视觉输入( s t , l t , v s_t, l_t, v st,lt,v),损失函数表示为:

L = L C L ( f l t , f v ) + α 1 L C L ( f s t , f v ′ ) \mathcal{L}=\mathcal{L}_{\mathrm{CL}}\left(f_{l t}, f_{v}\right)+\alpha_{1} \mathcal{L}_{\mathrm{CL}}\left(f_{s t}, f_{v}^{\prime}\right) L=LCL(flt,fv)+α1LCL(fst,fv)

其中 α 1 \alpha_{1} α1是比率超参数, f v ′ = P C E ( f v , 32 ) f_{v}^{\prime}=\mathrm{PCE}\left(f_{v}, 32\right) fv=PCE(fv,32)。这里,PCE是主成分提取的缩写,由组件分解函数 F \mathcal{F} F(将特征分解为不同属性及其重要性的向量)、组件过滤函数 E \mathcal{E} E(过滤掉不太重要的属性)和组件重建函数 F − 1 \mathcal{F}^{-1} F1(重建特征)组成。在实现 E \mathcal{E} E时,Long-CLIP选择了最重要的32个属性作为保留的属性。
在这里插入图片描述

然而,当将此技术扩展到视频预训练时,我们发现由于视频通常比图像包含更丰富的内容和更多细节,这种固定策略无法动态适应视频CLIP高维特征空间在学习期间发生的严重分布变化(如图5所示)。在这方面,我们建议使用 l t l_t lt s t s_t st之间的余弦文本相似性作为信号来指导PCE过程,如图2所示。因此,我们将 f ^ v \hat{f}_{v} f^v重新写为:

f ^ v = P C E ( f v , G ( sim ( f l t , f s t ) ) ) \hat{f}_{v}=\mathrm{PCE}\left(f_{v}, \mathcal{G}\left(\text{sim}\left(f_{l t}, f_{s t}\right)\right)\right) f^v=PCE(fv,G(sim(flt,fst)))

其中 G \mathcal{G} G表示我们按重要性降序保留属性,直到 f ^ v \hat{f}_{v} f^v f v f_{v} fv之间的相似度达到 l t l_t lt s t s_t st之间的相似度为止。

3.3 两种描述排序任务

我们假定,旨在理解长描述的视频CLIP模型应固有地表现出两种特性:给定一个视频及其相关描述,模型应为(1)具有更丰富和更精确上下文以及(2)在细节程度相当的情况下更准确且更少出现幻觉的描述分配更高的分数。为了实现这些原则,我们引入了两个新任务:细节感知描述排序(DDR)和幻觉感知描述排序(HDR),以解决相应的属性问题。我们的准备步骤包括使用句法分析工具,如NLTK(Bird等人,2009)和spaCy(Honnibal等人,2020),对长描述的真实标签执行词性标注和句法结构解析。
在这里插入图片描述

随后,我们为每个视频合成多个描述候选,以促进DDR和HDR训练。如图3(a)所示,在每个步骤中,我们选择性地将特定单词(名词、数字、颜色或方向相关术语、动词)替换为同一句法类别中语义不同的对应词(例如,将boys替换为girls,将white替换为blue,将throwing替换为lifting),并进行 m − 1 m-1 m1次这样的替换。此方法产生一系列逐渐出现幻觉的描述,表示为 t H = { t 1 H , t 2 H , … , t m H } \mathbf{t}^{\mathbf{H}}=\left\{t_{1}^{H}, t_{2}^{H}, \ldots, t_{m}^{H}\right\} tH={t1H,t2H,,tmH}。类似地,如图3(b)所示,每个步骤都涉及从当前描述中随机删除子句、形容词、数字或依存解析子树。此过程递归地为每个视频生成 m − 1 m-1 m1个顺序上逐渐不太详细的描述,表示为 t D = { t 1 D , t 2 D , … , t m D } \mathbf{t}^{\mathbf{D}}=\left\{t_{1}^{D}, t_{2}^{D}, \ldots, t_{m}^{D}\right\} tD={t1D,t2D,,tmD}

对于 t H \mathbf{t}^{\mathbf{H}} tH t D \mathbf{t}^{\mathrm{D}} tD,给定相同的对应视频,我们希望模型能为序列中较早出现的描述生成更高的相似度分数。例如,对于DDR任务,我们制定损失函数如下:

L D D R = 1 m ( m − 1 ) 2 ∑ i = 1 m − 1 ∑ j = i + 1 m ReLU ⁡ ( − ( Δ i , j D − α D ) ) \mathcal{L}_{\mathrm{DDR}}=\frac{1}{\frac{m(m-1)}{2}} \sum_{i=1}^{m-1} \sum_{j=i+1}^{m} \operatorname{ReLU}\left(-\left(\Delta_{i, j}^{D}-\alpha_{D}\right)\right) LDDR=2m(m1)1i=1m1j=i+1mReLU((Δi,jDαD))

其中, α D \alpha_{D} αD是相似度差异间隙,

Δ i , j D = sim ⁡ ( f t i D , f v ) − sim ⁡ ( f t j D , f v ) \Delta_{i, j}^{D}=\operatorname{sim}\left(f_{t_{i}^{D}}, f_{v}\right)-\operatorname{sim}\left(f_{t_{j}^{D}}, f_{v}\right) Δi,jD=sim(ftiD,fv)sim(ftjD,fv)

此学习目标背后的直觉来自于模型能够区分具有最小区分度 α D \alpha_{D} αD的各种描述的要求。类似地,对于HDR,我们有损失函数:

L H D R = 1 m ( m − 1 ) 2 ∑ i = 1 m − 1 ∑ j = i + 1 m ReLU ⁡ ( − ( Δ i , j H − α H ) ) \mathcal{L}_{\mathrm{HDR}}=\frac{1}{\frac{m(m-1)}{2}} \sum_{i=1}^{m-1} \sum_{j=i+1}^{m} \operatorname{ReLU}\left(-\left(\Delta_{i, j}^{H}-\alpha_{H}\right)\right) LHDR=2m(m1)1i=1m1j=i+1mReLU((Δi,jHαH))

我们预训练过程的总损失为:
L = L C L ( f l t , f v ) + α 1 L C L ( f s t , f v ′ ) + α 2 L D D R + α 3 L H D R , \begin{aligned} \mathcal{L}= & \mathcal{L}_{\mathrm{CL}}\left(f_{l t}, f_{v}\right)+\alpha_{1} \mathcal{L}_{\mathrm{CL}}\left(f_{s t}, f_{v}^{\prime}\right)+ \\ & \alpha_{2} \mathcal{L}_{\mathrm{DDR}}+\alpha_{3} \mathcal{L}_{\mathrm{HDR}}, \end{aligned} L=LCL(flt,fv)+α1LCL(fst,fv)+α2LDDR+α3LHDR,
其中, α 2 \alpha_{2} α2 α 3 \alpha_{3} α3是平衡超参数。
在这里插入图片描述

3.4 新的LVDR基准

幻觉在当代大型语言模型(LLMs)和大型多模态模型(LMMs)中无处不在(Liu等人,2024a)。给定一个视频,具有理解长文本能力的视频CLIP模型应自然具备在长描述中区分正确和错误文本的判断力。为了更好地评估这种能力,我们提出了长视频描述排序(LVDR)基准。我们首先从Shot2Story(Han等人,2023)中随机抽取2K个视频和长描述对。然后,我们执行与图3(a)类似的合成过程,迭代 p − 1 p-1 p1次,并在每次迭代中更改 q q q个单词,从而产生总共 p p p个幻觉程度逐渐增加的描述。我们将这样的子集表示为 p × q p \times q p×q,并构建了五个子集作为 { 4 × 1 , 4 × 2 , 4 × 3 , 4 × 4 , 4 × 5 } \{4 \times 1,4 \times 2,4 \times 3,4 \times 4,4 \times 5\} {4×1,4×2,4×3,4×4,4×5}。每个不同的子集都经过人工审核,以避免不恰当的替换。图4中提供了代表性示例。根据我们的分析,一个更好的模型需要能够在给定视频的情况下,正确地将这些描述按相似度降序排序。因此,我们还设计了名为排序分数(RS)的评价标准,其可以表示为:

R S = 100 m ( m − 1 ) 2 ∑ i = 1 m − 1 ∑ j = i + 1 m 1 ( sim ⁡ ( f t i , f v ) > sim ⁡ ( f t j , f v ) ) \mathrm{RS}=\frac{100}{\frac{m(m-1)}{2}} \sum_{i=1}^{m-1} \sum_{j=i+1}^{m} \mathbb{1}\left(\operatorname{sim}\left(f_{t_{i}}, f_{v}\right)>\operatorname{sim}\left(f_{t_{j}}, f_{v}\right)\right) RS=2m(m1)100i=1m1j=i+1m1(sim(fti,fv)>sim(ftj,fv))

其中, 1 \mathbb{1} 1是指示函数。