⚔️【阅读笔记】 Learning Video Representations from Large Language Models
题目可翻译为——从大型语言模型学习视频表征信息
声明:本博客内容用于自我学习使用,笔记内容与想法均来源于原始论文以及先验知识体系。
1. 摘要
LAVILA,一种新的方法来利用大模型去学习视频语言表示。重新利用预先训练的大模型,以适应视觉输入,并微调他们创建自动视频注释器。作者团队的自动生成的叙述提供了许多优势,包括长视频的密集覆盖,视觉信息和文本的更好的时间同步,以及更高的文本多样性。与这些叙述对比学习的视频语言嵌入在多个第一人称和第三人称视频任务中的表现优于以前的最先进技术,无论是在零样本和微调设置中。最值得注意的是,LAVILA在EGTEA分类中获得了10.1%的绝对收益,在Epic-Kitchens-100多实例检索基准中获得了5.9%的绝对收益。此外,仅使用Ego4D数据集一半的叙述训练的LAVILA优于在完整集合上训练的模型,并且在增加预训练数据和模型大小时显示出积极的缩放行为。
2. 介绍
使用web-scale的image-text数据学习视觉表示是计算机视觉的强大工具。视觉语言方法已经推动了各种任务的最新技术,包括零样本分类任务,新颖目标检测,甚至图像生成。然而,与十亿规模的图像-文本数据集相比,用于视频的类似方法受到配对视频-文本语料库的小尺寸的限制-即使在过去十年中对原始视频数据的访问已经呈现爆炸的上涨趋势。在这项工作中,展示了通过利用大语言模型(LLM)来自动生成此类视频的文本配对是可能的,从而充分利用了海量视频数据。使用这些自动生成的注释学习视频语言模型会导致更强的表征学习。这个方法,称为LAVILA:大语言模型增强的视频语言预训练,利用预训练的LLM,例如GPT-2,在其权重中编码了事实知识和会话能力的宝库。
图中可以看到常规的视频文本表征学习是利用人工注释或者ASR进行视频文本的注释匹配工作,然后送入双路编码器的模型中完成视频和文本的编码关联;而现在这个工作是用大模型打造了LAVILA,视频片段输入,然后用LAVILA当作注释去逐帧注释内容,再将其用在双路编码器中。
【ASR语音标注是语音标注的一种形式,它主要将语音数据转化为文字数据,以便于人工智能机器学习。ASR语音标注的具体步骤包括:
-
- 数据预处理:包括首尾端的静音切除和声音分帧,静音切除可以降低干扰,声音分帧是将声音切开成一小段一小段,每小段称为一帧,使用移动窗函数来实现,各帧之间一般是有交叠的。
-
- ASR语音转写:ASR是自动语音识别技术,将语音数据转写成文字数据的过程,语音转写是针对拼音文字系统之间的转换而言的,ASR语音转写只能相应地转换为另一个字母表中的字符,从而保证两个字母表之间能够进行完全的、无歧义的、可逆的转换。】
如上图所示,将这些LLM重新定位为“视觉调节的叙述者”,并对所有可访问的配对视频-文本进行微调。一旦经过训练,使用该模型通过生成丰富的文本描述来密集地注释数千小时的视频。因此,这种伪监督可以在注释片段之间和注释片段之外遍及整个视频。与另一个经过训练以重新表述现有叙述的LLM配对,LAVILA能够为视频文本对比学习创建更大,更多样化的文本目标集。除了如前所述设置新的最先进技术之外,LAVILA学习的更强的表示甚至优于仅使用一半地面实况注释的先前工作。
LAVILA的强劲表现可归因于多个因素。如下几点也是常规方法和LAVILA的一些区别所在:
- 首先,LAVILA可以为长期视频提供时序密集的监控,以往方式注释的内容其中关联的注释字幕要么太稀疏,要么视频级别的“AltText”(在网络视频的情况下)没有描述其中发生的所有细微差别的活动。
- 第二,生成的文本与视觉输入很好地对齐。尽管先前的工作已经利用了HowTo视频上的自动语音转录来自动地从语音中提取与文本配对的剪辑,但是这样的数据集在视觉内容和文本内容之间具有相对较差的对齐(≤ 50%),从而限制了所学习的表征信息的质量。
- 第三,LAVILA可以在只有一点可用的情况下显著地扩展注释。例如,平凡的日常活动的视频,特别是从以自我为中心的角度来看,对于辅助和增强现实应用程序可能非常有用。然而,这样的视频在互联网上很少见,因此不容易与相关的网络文本一起存在。最近的工作都是在选择手动捕获和叙述这样的视频数据。然而,这些叙述需要大量的手工工作:25万小时的注释时间花费在讲述3.6K小时的视频上。相比之下,LAVILA能够自动多次且更密集地讲述每个视频,因此可以学习更强的表示。
作者团队在多个视频文本预训练数据集和下游任务中广泛评估LAVILA,以验证其有效性。具体来说,在Ego4D上进行预训练后,LAVILA可以将整个数据集重新叙述10次。在这些扩展的叙述上学习的结果模型在具有挑战性的数据集上的广泛下游任务上设置了新的最先进的技术,包括Epic-Kitchen-100上的多实例视频检索(mAP的绝对增益为5.9%),Ego4D上的多项选择题回答(视频内准确度的绝对增益为5.9%),以及EGTEA上的动作识别(平均准确度的绝对增益为10.1%)。
它在评估到新数据集的零样本迁移时以及在该数据集上进行微调后都获得了增益。第三人称视频数据也显示了类似的增长。当在密集地重新叙述HowTo100M之后训练LAVILA时,作者团队在UCF-101和HMDB-51上的下游动作分类上优于先前的工作。在一个半监督学习的案例研究中,作者团队证明了作者团队的模型,它只看到50%的人类标记数据,能够超过用所有叙述训练的基线模型。此外,随着作者团队进入更大的数据体系和更大的主干,收益逐渐增加,这表明作者团队的方法具有可扩展性。
3. 相关工作
3.1 视觉语言表征学习
使用metriclearning技术将视觉和文本嵌入映射到一个共同的空间中。最近,提出了不同的任务来学习视觉和文本模态之间的更细粒度的关联,例如。掩码语言建模(MLM)和字幕。另一个研究方向是扩展模型和预训练数据。例如,CLIP在具有对比损失的4亿图像-文本对上进行了预训练(InfoNCE),而CoCa将对比和生成方法与单个基础模型相结合。类似的趋势也出现在视频文本领域。然而,收集高质量的视频-文本数据比图像-文本更困难。因此,通过对比学习或无监督对齐,努力从未经策划的视频中学习机器生成的音频转录,而其他作品则专注于将表现良好的图像-文本模型适应于视频,或者从单帧到多帧的课程学习。相比之下,作者团队的方法利用语言模型在长格式视频上生成时间密集的文本监督。
3.2 生成视觉语言模型(VLM)
首先VLM用于使用递归网络和基于Transformer的架构[42,56]的图像/视频注释。最近,生成VLM通过在视觉文本对上训练多模态Transformer来统一多个视觉任务。同时,生成式VLM还通过利用在大规模文本语料库上预训练的数十亿参数LLM ,通过零样本或少样本提示来应用在多模态任务中。在LAVILA工作中,证明了生成VLM可以叙述长视频,并且由此产生的视频文本数据有利于视频语言表示学习。
3.3 大规模多模态视频数据集
传统的视频文本数据集要么有有限的场景,例如,烹饪,或者不足以学习通用视频表示。Miech等人通过自动音频转录从长格式的How-To视频中抓取超过1亿个视频文本对。然而,ASR引入了文本噪声和视觉文本不对齐。WebVid包含1000万个带有文字描述的短视频。但它仍然比图像对应物小几个数量级,并且由于它来自库存镜头网站,因此很难扩大规模。最近发布的Ego4D数据集提供了3600小时的以自我为中心的视频,其中每隔几秒钟就有一个书面句子叙述被手动注释,但需要大量的手动工作。相比之下,LAVILA方法显示了一个很有前途的替代方案,通过使用LLM的监督自动叙述视频。
3.4 NLP中的数据增强技术
包括基于同义词的单词级替换或最近邻检索,提高了文本分类的准确性。在本文中,表明基于文本到文本模型的句子级释义有助于视频语言预训练。
5. 预备知识
视频
V
V
V是一系列运动的图像
I
I
I构成的流。其帧数
∣
V
∣
|V|
∣V∣可以是任意长的,而视频模型通常对在几秒范围内的较短片段进行具体地操作。因此,浏览一个长时的视频,并将其表示为一组
N
N
N个短片段,即
X
X
X。每个片段
x
i
x_i
xi由特定的开始帧和结束帧
x
i
=
{
I
t
i
,
.
.
.
,
I
e
i
}
x_i= \{I_{t_i},...,I_{e_i}\}
xi={Iti,...,Iei}定义,其中
0
<
t
i
<
e
i
<
=
∣
V
∣
0< t_i < e_i<=|V|
0<ti<ei<=∣V∣,并且通常某个片段也会与某个注释
y
i
y_i
yi相关联。这个注释可以是视频片段的类标签或自由形式的文本描述。作者团队通过具有其对应注释的注释片段的集合来表示视频,即
(
X
,
Y
)
=
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
N
,
y
N
)
}
(X,Y)= \{(x_1,y_1),...,(x_N,y_N)\}
(X,Y)={(x1,y1),...,(xN,yN)}。我们可以知道的一点:由于本身注释成本和视觉信息冗余重复的存在,所有的注释片段通常都不能密集地覆盖到完整视频的每一帧上去,即:
⋃
i
[
t
i
,
e
i
]
⊊
[
0
,
∣
V
∣
]
\bigcup_i\left[t_i, e_i\right] \subsetneq[0,|V|]
⋃i[ti,ei]⊊[0,∣V∣]。比较典型的一些视频模型
F
(
X
,
Y
)
F(X,Y)
F(X,Y)使用标准训练目标(诸如,当注释是具有固定词汇表的类标签时的交叉熵损失)从这些clip-level的注释中去学习。现阶段使用的基于双编码器的对比方法,如CLIP已经成为主要的流行形式。它们和free-form形式的文本注释一起起作用,这些文本注释被token成离散符号的序列,即
y
=
(
s
1
,
s
2
,
⋅
⋅
⋅
,
s
L
)
∈
{
1
,
0
}
∣
S
∣
×
L
y =(s_1,s_2,· · ·,s_L)∈ \{1,0\}^{|S|×L}
y=(s1,s2,⋅⋅⋅,sL)∈{1,0}∣S∣×L。该模型由
f
v
:
R
T
×
3
×
H
×
W
↦
R
D
v
f_v: R^{T×3×H×W}\mapsto R^{D_v}
fv:RT×3×H×W↦RDv和projection head——
h
v
:
R
D
v
↦
R
d
h_v: R^{D_v} \mapsto R^d
hv:RDv↦Rd组成的视觉编码器和
f
t
:
1
,
0
∣
S
∣
×
L
↦
R
D
t
f_t:{1,0}^{|S|×L} \mapsto R^{D_t}
ft:1,0∣S∣×L↦RDt与projection head的
h
t
:
R
D
t
↦
R
d
h_t:R^{D_t} \mapsto R^d
ht:RDt↦Rd组成的文本编码器构成,以分别获得全局视觉和文本embeddings:
KaTeX parse error: {equation} can be used only in display mode.
用对比损失,例如InfoNCE去学习全局embeddings的嵌入,这个全局embeddings可以将一批样本
B
B
B内的相应视频和文本embedding进行关联。
KaTeX parse error: {equation} can be used only in display mode.
6. LAVILA
在LAVILA中,利用大语言模型(LLM)作为监督来训练双编码器模型,其中LLM作为视觉条件的narrator,并自动生成视频片段的文本描述。具体说来,我们利用两个LLM进行监督:NARRATOR是一个视觉的LLM,它用生成的叙述伪标记现有的视频片段,生成新的注释
(
X
′
,
Y
′
)
(X',Y')
(X′,Y′)。REPHRASER是一个标准的LLM,它对现有片段中的注释信息进行再次的释义描述,将这些注释扩展成
(
X
,
Y
′
′
)
(X,Y'')
(X,Y′′)。
如下图所示:
NARRATOR生成对正在发生的动作的新描述,可能关注于正在交互的其他对象。REPHRASER用于增强文本输入,例如,改变了人类叙述的词序,并另外替换了常见的动词或名词,使注释更加多样化。最后,我们在所有这些注释的组合上训练双路编码器,即
(
X
,
Y
)
∪
(
X
′
,
Y
′
)
∪
(
X
,
Y
′
′
)
(\mathcal{X}, \mathcal{Y}) \cup\left(\mathcal{X}^{\prime}, \mathcal{Y}^{\prime}\right) \cup\left(\mathcal{X}, \mathcal{Y}^{\prime \prime}\right)
(X,Y)∪(X′,Y′)∪(X,Y′′).
6.1 NARRATOR
传统的LLM,例如GPT-2大模型,从头开始训练并生成一系列文本tokens: ( s 1 , . . . , s L ) (s_1,...,s_L) (s1,...,sL),通过对给定到目前为止看到的所有token的下一个token的概率进行建模: p ( s l ∣ s < l ) p(s_l| s<l) p(sl∣s<l)。NARRATOR重新利用现有的LLM以视觉输入,并在原始注释 ( X , Y ) (X,Y) (X,Y)上进行训练。所得到的模型在完整视频上产生密集的新注释 ( X ′, Y ′) (X′,Y′) (X′,Y′)。在语言模型中的公式化概率之后,对视觉下的文本可能性进行建模,如下所示:
KaTeX parse error: {equation} can be used only in display mode.
作者团队设计的NARRATOR遵循标准LLM的架构,仅添加了一些额外的交叉注意模块来提供视觉条件映射,如下图的右边所示。
上面的图展示的是REPHRASER和NARRATOR的监督训练过程。REPHRASER(左)将视频的叙述注释信息作为输入,通过文本编码器的传递,并使用文本解码器auto-regressive生成改写后的输出。NARRATOR(右)将视频帧信息作为输入,通过视频编码器获得视觉嵌入embeddings,然后进行注意力的交互。集成了一些额外的交叉注意力模块,文本解码器自回归地为这些新产生的帧生成新的叙述注释信息。
这使得NARRATOR能够从预先训练的权重初始化,这对于我们的任务至关重要,因为我们用于训练NARRATOR的数据(与视频片段相关的叙述)与通常用于训练LLM的大型文本语料库相比规模要小得多。此外,视频注释的多样性和噪音较小,因为它们要么是由少数注释者收集而来,要么是用ASR等工具从语音中自动转录的。在最近的工作中,类似的“冻结LM”方法在多模态少样本适应中显示出有效性。具体来说,就是采用冻结了的预训练LLM,并在每个Transformer解码器层之前添加交叉注意模块,以便文本输入可以关注视觉信息。然后,交叉参与的输出通过残差连接和输入的文本特征信息进行求和,并进入Transformer解码器层。每个交叉注意模块包括交叉注意层,其将文本token作为query,将视觉embeddings作为key和value,然后是前馈网络(FFN)。归一化层则是在交叉注意和FFN的开始时应用。添加了tanh-gating,初始值设置为零,使得新模型的输出与最初的语言模型相同。
虽然来自视频模型的特征可以作为考虑的条件,但是为了方便作者采用了视频编码器
F
\mathcal{F}
F,并将其在GT数据
(
X
,
Y
)
(X,Y)
(X,Y)上进行对比损失的计算,作者在全局池化之前使用这个功能,以允许LLM利用细粒度的时空信息进行训练。作者对narrator进行关于所有或部分基本GT注释(X,Y)的训练。对于每一对儿的
(
x
,
y
)
(x,y)
(x,y),注释损失是每一个step中正确单词的负对数似然之和,如下所示:
KaTeX parse error: {equation} can be used only in display mode.
在推理阶段,通过提供视觉输入
x
x
x加上一个特殊的句子开头标记<s>来查询NARRATOR。首先递归地从分布中采样,即$
\tilde{s}{\ell} \sim p\left(s \mid\left[<\mathrm{s}>, \cdots, \tilde{s}{\ell-1}\right], x\right)
$,直到到达句子结束标记</s>。在每个step中,从包含绝大多数概率质量的token子集中进行采样,这被称为核采样。
核采样的影响是两面的。一方面,它比基于最大似然的方法(如beam搜索及其变体)能够生成更多样化、开放式和人性化的文本。另一方面,生成的文本可能包含不相关的或嘈杂的信息,由于采样没有后处理的基础上sentence-level的可能性。为了解决这个问题,作者在相同的视觉输入上重复K次采样过程。后来的实验也证明了对比预训练目标对采样引起的噪声具有鲁棒性,并且最终性能受益于更多样化的叙事集。
Nucleus sampling(核采样)和beam search(束搜索)都是自然语言处理中用于生成文本的技术,通常用于生成文本序列,例如语言模型的文本生成或机器翻译等任务。
- Nucleus Sampling (核采样):
- Nucleus sampling旨在增强生成文本的多样性。它的基本思想是在每个生成步骤中,从概率分布中选择一个概率总和最高的一部分词汇,而不是始终选择概率最高的单个词。这个概率总和由一个称为"nucleus"的参数控制,通常设置在0.1到0.9之间,决定了保留的词汇总和的大小。这意味着在不同生成步骤中可以选择不同的词汇,从而增加了生成文本的多样性。
- Beam Search (束搜索):
- Beam search旨在寻找最可能的文本序列,通常用于生成长篇文本,如机器翻译或文本摘要。它通过在每个生成步骤选择多个备选词,然后对这些备选词进行评分,选择最高分的备选词,以构建候选文本序列。这个备选词的数量称为"束宽"(beam width),较大的束宽可以增加搜索的广度,但也会增加计算复杂度。Beam search通常用于生成高质量、连贯的文本,但它倾向于生成相对单一的结果,可能缺乏一定的多样性。
这两种技术都有其优点和缺点,选择哪种取决于具体任务的需求。Nucleus sampling可以增加文本的多样性,但可能导致一些不够连贯的结果。Beam search通常会生成质量较高的文本,但可能缺乏多样性。在实际应用中,研究人员和工程师通常会根据任务要求来选择适当的生成策略,或者结合两者以获得更好的效果。
为了对视频片段进行采样以用于注释,作者首先简单地对数据集 X X X中标记的现有片段进行重新注释,从而得到扩展的注释。此外,长时视频通常是稀疏注释标注的,这意味着所有标记的片段的时间不能覆盖到整个视频帧。因此,作者团队使用NARRATOR来注释视频的其余部分,以通过pseudo-captioning(伪注释)的方式获得额外的注释。通过一个简单的假设,即视频是一个平稳的过程,作者从未标记的interval中统一进行采样。视频片段的持续时间等于所有GT片段的平均值,即: Δ = 1 N ∑ i = 1 N ( e i − t i ) \Delta=\frac{1}{N} \sum_{i=1}^N\left(e_i-t_i\right) Δ=N1∑i=1N(ei−ti),采样步长也以同样的方式计算。结合重新注释和伪注释的注释方式,作者将由NARRATOR生成的最终注释集称为 ( X ′, Y ′) (X′,Y′) (X′,Y′)。
对于后处理。详尽的伪注释可能包含一些无信息的视觉片段,并生成无用的文本注释。因此,作者这里添加了一个过滤过程,以消除低质量的片段及对应的文本注释描述。他们使用基线双编码器模型 F F F,这个是在GT配对片段上训练出来的,来计算伪注释对的视觉和文本嵌入信息,并基于相似性得分进行过滤,即 F i l t e r ( f v ( x j ′ ) T ⋅ f t ( y j ′ ) ) Filter(f_v(x_j')^T·f_t(y_j')) Filter(fv(xj′)T⋅ft(yj′)),其中 F i l t e r ( ⋅ ) Filter(·) Filter(⋅)是对所有生成文本的前k个进行过滤,也可以是阈值过滤。在实验中,他们使用0.5的阈值。
6.2 REPHRASER
由NARRATOR生成的数据要比GT对儿大好几倍。为了确保不会过度拟合伪标记数据,作者通过增加了GT叙述的数量。特别地,作者使用文本到文本LLM,其对条件文本可能性进行建模:
KaTeX parse error: {equation} can be used only in display mode.
文本到文本模型由编码器解码器架构实现,例如,T5的结构,以在给定原始句子的情况下自动回归地生成新句子。可以观察到,REPHRASER能够做基本的操作,如替换同义词或改变词序,这是一种有效的自动数据增强方法。得到的注释称为 ( X , Y ′ ′ ) (\mathcal{X},\mathcal{Y}'') (X,Y′′)。
6.3 训练
按照算法1所述训练双路编码器。
在每次迭代中,首先对一批
B
\mathcal{B}
B个视频片段要进行采样。它包括具有标记了时间戳以及注释信息的片段
B
l
\mathcal{B}_l
Bl的子集,还有片段中从没有叙述注释信息的视频中随机采样的子集
B
u
\mathcal{B}_u
Bu。对于视频片段
x
i
∈
B
u
x_i ∈ \mathcal{B}_u
xi∈Bu,作者通过NARRATOR
y
i
′
∼
p
NARRATOR
(
y
′
∣
x
)
y_i^{\prime} \sim p_{\text {NARRATOR }}\left(y^{\prime} \mid x\right)
yi′∼pNARRATOR (y′∣x)来获得伪注释
y
i
′
y_i'
yi′,从而产生由LLM生成的注释
B
u
~
\widetilde{\mathcal{B}_u}
Bu
的一组片段。而对于视频片段
(
x
i
,
y
i
)
∈
B
l
(x_i,y_i)∈ \mathcal{B}_l
(xi,yi)∈Bl,文本监督从REPHRASER或NARRATOR获得,概率为0.5。因此,LAVILA的每个epoch的有效迭代次数与基线双路编码器相同。类似地,将得到的对儿的集合表示为
B
l
~
\widetilde{\mathcal{B}_l}
Bl
。遵循CLIP,在样本的相似性得分上使用对称交叉熵损失。
实际上,作者提前运行REPHRASER和NARRATOR,并缓存生成的视频-叙述对,以便在预训练期间没有计算开销。因此,在LAVILA中训练双编码器与训练标准双编码器对比模型一样快。
6.4 实验设置:
视频语言模型遵循双编码器架构,如CLIP。视觉编码器是TimeSFormer,其空间注意力模块是从ViT进行初始化的,ViT是在CLIP中对大规模配对图像-文本数据进行对比预训练的。在预训练期间每个片段采样4帧,在下游任务上进行微调时采样16帧。文本编码器是一个12层的Transformer,使用BPE tokenizer 来预处理视频片段对应的完整句子,并保留最多77个tokens。
NARRATOR的架构是一个视觉自回归语言模型。默认情况下,视觉编码器是TimeSformer-L,而文本解码器是GPT-2 XL。在推理过程中,使用p = 0.95的核采样并返回K = 10个候选输出。
REPHRASER的架构是使用基于T5-large 的开源narrator。它在C4上进行预训练,然后在ParaNMT的clear子集上进行微调。在推理过程中,使用多样性波束搜索,组号与波束号相同(G = B = 20),并将多样性惩罚设置为0.7。为每个句子保留3个候选词,删除标点符号,并进行基本的重复数据删除。
实验部分请查阅原始论文进行详细比对,这里不做赘述!!!