想象一个没有老师的小学徒,师傅只甩给他一间堆满录像带的仓库,让他自己看、自己学。没有字幕、没有讲解、没人告诉他“这是猫、那是车”。他只能日复一日盯着屏幕,自己琢磨:画面里的人为什么总在动?东西消失后去了哪里?哪些镜头属于同一个故事?慢慢地,他练出了一双“看懂世界”的眼睛。这个学徒,就是视频自监督预训练模型;那一屋子录像带,就是海量无标注视频数据。 视频自监督预训练的核心,是从视频自身结构中“变出”训练信号。我们不告诉模型答案,而是让模型自己给自己出题:遮住一部分画面让它猜、打乱帧序让它排、把相似的镜头混在一起让它认。这些“自己出的题”叫代理任务,自动生成的答案叫伪标签。通过做这么多无师自通的练习题,模型学出了强大的视频表示能力,之后只需很少的标注数据,就能迁移到视频分类、检测等下游任务——像极了学徒出师后,学新把式比普通人快得多。

岗位关联

掌握视频自监督预训练,意味着在标注数据稀缺的真实项目中依然能把视频模型训练得又快又准,不再被昂贵的人工标注卡住进度。

目录
  1. 可视化演示
  2. 第一节:自监督学习原理
  3. 第二节:代理任务设计
  4. 第三节:对比学习
  5. 第四节:掩码建模
  6. 第五节:VideoMAE
  7. 第六节:时序预测
  8. 第七节:下游迁移
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示视频对比学习正负样本构建、VideoMAE管状掩码重建与时序预测代理任务,交互切换查看不同自监督策略的特征学习机制。

本节配有交互动效(进入视口后自动加载,约 3KB)。

视频对比学习:正负样本构建 同视频不同片段增强后为正样本拉近嵌入空间 不同视频片段为负样本推远嵌入空间 L=-log(pos/neg) 学习视频时序不变特征表示

第一节:自监督学习原理

学徒在录像带仓库里没有老师,但他发现了另一条路:录像带本身就是老师。他把同一段打架戏倒回去反复看,慢慢意识到“出拳之后必然收拳”;他把不同视频里的跑步镜头放在一起比,发现“脚离地再落地”的规律。没有一句话的讲解,Video信号里的结构规律,就是他唯一的教材。

自监督学习把这条人类直觉变成了算法。所谓“自监督”,就是不再依赖人工标注,而是从数据本身挖出监督信号。对一段视频,我们可以主动改造它——倒序播放、遮挡画面、裁剪片段——然后让模型回答“改造前长什么样”或“哪个是原版”。改造前的原始信息就是答案,答案不需要人写,数据自己会提供。这些人为设计的“题目”就是代理任务,而自动生成的答案叫作伪标签。

形式上,自监督预训练的目标可以写成:

学徒看录像带时虽然没有老师,但他观察到的规律——物体连续、动作有因果——正是伪标签的来源。自监督学习就是把这些“无师自通”的观察固化成一套可自动运行的训练流程。

LSSL(θ)=∑i=1Mℓ(fθ(xi), ypseudo(i))\displaystyle \mathcal{L}_{SSL}(\theta) = \sum_{i=1}^{M} \ell\Big( f_{\theta}(x_i),\ y_{pseudo}^{(i)} \Big)
通俗理解:模型读完一段视频 \(x_i\),得到一个预测结果,拿这个结果和视频自己生成的伪标签 \(y_{pseudo}^{(i)}\) 对比,算出一个“差距分数”,再回头调整模型的内部参数。
  1. 视频样本 \(x_i\)一批无标注视频片段中的第 \(i\) 段,取出来当训练输入。
    xi∼Dvideox_i \sim \mathcal{D}_{video}
  2. 伪标签 \(y_{pseudo}^{(i)}\)由视频自身结构自动生成的“参考答案”,不需要人工标注。
    ypseudo(i)=自生成答案y_{pseudo}^{(i)} = \text{自生成答案}
  3. 模型 \(f_\theta\)待训练的视频编码器,\(\theta\) 是它的全部可学习权重。
    fθ:视频片段→特征向量f_\theta: \text{视频片段} \rightarrow \text{特征向量}
  4. 损失函数 \(\ell\)衡量模型预测与伪标签差距的标量,越小代表学得越好。
    ℓ(⋅,⋅)≥0\ell(\cdot, \cdot) \geq 0

第二节:代理任务设计

学徒开始学会“给自己出题”了。他会遮住画面的一半猜另一半;会把一段视频倒着放,猜原来是什么顺序;会把两个无关镜头混在一起,逼自己找出哪两个属于同一个故事。题目不同,但都有一个共同点:答案就藏在视频自己身上,不需要任何人告诉他。

代理任务,就是把“视频结构”变成“训练题目”的装置。视频和图片最大的不同是拥有时间维度和空间连续性:同一物体在相邻帧里位置连续变化,同一动作有前后因果,不同视频的内容千差万别。代理任务就是针对这些结构特点设计的。最常见的三类任务分别是:对比学习(判断哪些画面属于同一来源)、掩码建模(遮挡部分画面后重建)、时序预测(预测未来的帧或恢复被打乱的顺序)。

代理任务的构造可以统一写成:

设计代理任务有一个关键原则:难度要恰到好处。题目太简单,模型抄近道就能得分,学不到深层语义;题目太难,模型直接摆烂瞎猜。好的代理任务,就像学徒给自己定的“最近发展区”——跳一跳才够得着。这也是 VideoMAE 后来把掩码率调到 90% 的根本原因:足够难,才能逼出真本事。

ypseudo=g(T(V))\displaystyle y_{pseudo} = g\Big( \mathcal{T}(V) \Big)
通俗理解:取一段视频 \(V\),先用一个变换 \(\mathcal{T}\) 把它“改造”出一道题,再按规则 \(g\) 生成这道题的答案。
  1. 视频片段 \(V\)原始输入,未经任何人工标注的视频序列。
    V={v1,v2,…,vT}V = \{v_1, v_2, \dots, v_T\}
  2. 任务变换 \(\mathcal{T}\)对视频做改造的操作,比如随机遮块、打乱帧序、裁剪正负样本。
    T:V→V~\mathcal{T}: V \rightarrow \tilde{V}
  3. 伪标签生成规则 \(g\)根据变换方式自动推导出答案,比如“被遮住的块原来的样子”。
    g:V~→ypseudog: \tilde{V} \rightarrow y_{pseudo}

第三节:对比学习

学徒发现一个窍门:把同一段视频的两个不同角度看两遍,他能在人群中认出同一个人;而把两段毫无关系的视频放在一起,他能立刻判断“这不是一件事”。这种“分辨相似与不相似”的能力,让他对人物、场景、动作的把握越来越敏锐。

对比学习就是这样一种“分辨相似与不相似”的框架。对每个样本,模型要回答一个问题:“这个画面片段和哪个片段来自同一来源?”同一视频的时空片段(如同一动作的不同裁剪)构成正样本对;来自不同视频的片段构成负样本对。模型被要求拉近正样本对在特征空间中的距离,同时推远负样本对。视频里的时间连续性天然提供了丰富的正样本——相邻帧天然相似,这正是视频相比图像的优势。

对比学习最经典的损失函数是 InfoNCE:

回到学徒的比喻:他之所以能“认人”,不仅因为记得正样本长什么样,更因为在大量负样本的干扰下依然能认出正样本。对比学习的精髓,正是在“干扰中还能认出对的”,这让他学到的不再是肤浅的像素相似,而是真正稳定的身份与语义特征。

LInfoNCE=−log⁡exp⁡(sim(q,k+)/τ)∑j=0Kexp⁡(sim(q,kj)/τ)\displaystyle \mathcal{L}_{InfoNCE} = -\log \frac{\exp\left( \mathrm{sim}(q, k_{+}) / \tau \right)}{\sum_{j=0}^{K} \exp\left( \mathrm{sim}(q, k_{j}) / \tau \right)}
通俗理解:把查询向量 \(q\) 分别和正样本、一堆负样本算相似度,然后让“正样本的相似度占比”尽量大,也就是让模型在众多干扰项里“认出”正确的那一个。
  1. 查询特征 \(q\)当前视频片段经编码器得到的表示向量,是“问题”的起点。
    q=fθ(vq)q = f_{\theta}(v_q)
  2. 正样本特征 \(k_+\)与查询来自同一视频上下文的另一片段,模型要给它最高相似度。
    k+=fθ(v+),v+ 与 vq 同源k_{+} = f_{\theta}(v_{+}), \quad v_+ \text{ 与 } v_q \text{ 同源}
  3. 负样本特征 \(k_j\)来自其他视频的片段,模型要压低它与 \(q\) 的相似度。
    kj=fθ(vj),j=1,…,Kk_j = f_{\theta}(v_j), \quad j = 1, \dots, K
  4. 温度系数 \(\tau\)控制相似度分布的“锐利程度”,\(\tau\) 越小,分布越极端,训练越强调困难样本。
    τ>0\tau > 0

第四节:掩码建模

学徒想了个新玩法:找一张纸,把屏幕的一部分遮住,只留前后几帧的画面,然后闭上眼睛猜被遮住的部分。遮住跑步者的下半身,他能根据上半身起伏和地面光影猜出“在跑步”;遮住一扇门,他能根据人们进出方向猜出门外是走廊。每次猜完,他揭开纸对照,错了就重新琢磨。这个猜谜游戏,逼他真正理解了画面的整体结构和物体运动规律。

掩码建模正是把这个猜谜游戏搬进了神经网络。具体做法是:把视频切成一个个小块(时空 patch),随机遮挡其中一部分,然后让模型根据剩下的可见块,重建被遮挡块的内容。重建目标可以是原始的 RGB 像素,也可以是更深层的特征表示;只要模型能“补全”被遮的内容,就说明它学会了视频的全局语义与时空连贯性。视觉领域的 BERT、图像领域的 MAE,都是这条技术路线上的里程碑。

掩码重建的损失函数通常写成均方误差形式:

学徒的猜谜游戏之所以有效,是因为他不能只看局部,而必须把整段视频的来龙去脉串起来。掩码建模也一样:被遮住的块越多,模型越不能靠局部像素“作弊”,越要调动全局语义。这就是掩码率可以高达 90% 的理论基础——题目越难,逼出的能力越强。

LMSE=1∣M∣∑i∈M∥p^i−pi∥22\displaystyle \mathcal{L}_{MSE} = \frac{1}{|\mathcal{M}|} \sum_{i \in \mathcal{M}} \left\lVert \hat{p}_i - p_i \right\rVert_2^2
通俗理解:对所有被遮住的块,算出“模型猜的内容”和“原本真实内容”之间的平均平方差距,差距越小,说明猜得越准。
  1. 掩码集合 \(\mathcal{M}\)被遮挡的时空块下标集合,只有这些位置参与损失计算。
    M={i∣第i块被遮挡}\mathcal{M} = \{i \mid 第i块被遮挡\}
  2. 原始内容 \(p_i\)第 \(i\) 块被遮前的真实像素或特征,充当伪标签。
    pi=未被遮时的原始块p_i = \text{未被遮时的原始块}
  3. 重建内容 \(\hat{p}_i\)模型根据可见块推测出的第 \(i\) 块内容。
    p^i=D(E(x可见))\hat{p}_i = D\left(E(x_{\text{可见}})\right)
  4. L2 范数平方衡量重建与真实差距的欧氏距离,平方后保证误差非负且对大误差更敏感。
    ∥p^i−pi∥22\left\lVert \hat{p}_i - p_i \right\rVert_2^2

第五节:VideoMAE

学徒玩猜谜玩上了瘾,开始变本加厉:他一张纸不够,直接把屏幕的 90% 都糊住,只留零星几个角落。旁人觉得这根本不可能猜出来,但他反而发现,越是只留一点点线索,他越能强迫自己回忆整个场景的完整逻辑。只看到参赛者的号码布,他能想起整个马拉松现场。这种“几乎全遮”的极端训练,就是他脑内建立全局模型的秘诀。

VideoMAE 把这种“极端猜谜”做到了极致。它的掩码率高达约 90%,远高于图像 MAE 常用的 75%。只保留 10% 的时空块作为可见 token 送入编码器,编码器因此极其轻量;随后,被掩码的位置和可见位置一起送入一个轻量解码器,重建完整的视频块。更关键的是 VideoMAE 采用了 Tube Masking(管状掩码策略)——不是随机打散地遮单个 patch,而是沿时间轴连续地遮住整根“时空管道”,这样能保留视频的时空连续性,防止模型靠相邻帧的冗余像素直接抄答案。

VideoMAE 的掩码率公式简单而震撼:

VideoMAE 的非对称架构也值得注意:

学徒发现“几乎全遮”反而让他建立起了全局观。VideoMAE 验证了同样的道理:当模型没法靠局部像素抄近道时,它被迫去理解“这一帧和下一帧之间发生了什么”“整个场景的结构是什么”。这种被逼出来的全局时空理解,正是下游视频任务最需要的底层能力。

rmask=∣M∣N≈0.9\displaystyle r_{mask} = \frac{|\mathcal{M}|}{N} \approx 0.9
通俗理解:把视频划分成 \(N\) 个小块,其中约 90% 的块被遮住,模型只能靠剩下 10% 的小块还原全局。
  1. 可见块输入用掩码向量 \(m\) 把被遮位置置零,只保留 10% 可见块进入编码器。
    x⊙(1−m)x \odot (1 - m)
  2. 编码器 \(E\)只处理可见 token 的轻量 Transformer,提取高效特征。
    E:可见token→特征E: \text{可见token} \rightarrow \text{特征}
  3. 可学习掩码 token \(e_{mask}\)代表“未知内容”的可训练占位符,与编码器特征拼接后送入解码器。
    emask=待学习的掩码占位符e_{mask} = \text{待学习的掩码占位符}
  4. 解码器 \(D\)轻量 Transformer,负责融合可见与掩码信息,重建全部时空块。
    D:(可见特征,emask)→x^D: (\text{可见特征}, e_{mask}) \rightarrow \hat{x}

第六节:时序预测

学徒看跳高视频时,运动员刚助跑起跳,他就已经猜出接下来要过杆;看倒放的视频,他能从“水花从水面飞回盆里”猜出原视频是“把水泼出去”。视频和图片最本质的区别,就是时间在流动,动作有前因后果。学徒意识到,如果他能预测“下一秒会发生什么”,就说明他真的看懂了视频。

时序预测类代理任务,就是专门利用视频时间维度构造的“预测题”。常见形式有三种:一是帧顺序预测,把一段视频的帧打乱,让模型恢复出正确顺序;二是未来帧预测,给定前 \(t\) 帧,模型预测第 \(t+1\) 帧的内容;三是时间方向判断,让模型判别视频是正放还是倒放。这些任务有个共同点:答案只来自视频自身的先后顺序,不需要人工标注。

未来帧预测可以形式化为条件概率模型:

时序预测对动作识别尤其关键,因为很多动作光看单帧根本无法区分。“举起”和“放下”在静态画面里可能一模一样,只有看时间轴上的运动方向才能分辨。学徒通过预测“下一秒”,学会了动作的因果与方向感,这正是视频区别于图像的最珍贵“手感”。

P(xt+1∣x1,x2,…,xt)\displaystyle P\big(x_{t+1} \mid x_1, x_2, \dots, x_t\big)
通俗理解:在看完全部历史帧之后,模型估计下一帧最可能出现的样子;这个“未卜先知”的能力,正是时序理解能力的体现。
  1. 历史帧序列 \(x_1, \dots, x_t\)模型当前看到的前 \(t\) 帧,构成预测的依据。
    x1,x2,…,xtx_1, x_2, \dots, x_t
  2. 未来帧 \(x_{t+1}\)模型要预测的目标帧,充当伪标签。
    xt+1x_{t+1}
  3. 条件概率 \(P(\cdot \mid \cdot)\)模型对“给定历史,未来是什么”的预测分布。
    P(xt+1∣x1,…,xt)P(x_{t+1} \mid x_1, \dots, x_t)

第七节:下游迁移

学徒终于学成出师,去一家武馆做见习弟子。武馆师父只示范了一遍“如何防守”,他就举一反三地学会了应对各种招式。他不是因为见过所有招式,而是因为此前在录像带仓库里积累的“看动作规律”的功底,让他学新招式特别快。这份功底,就是预训练得到的通用特征;武馆的活儿,就是下游任务。

把自监督预训练好的编码器迁移到下游任务,是最后一步也是离应用最近的一步。最常用的有两种方式。第一种是线性探测(Linear Probe):冻结编码器的全部参数,只训练一个线性分类头,用来快速评估预训练特征的质量。第二种是微调(Fine-tune):用下游任务的数据集(通常只需要少量标注)更新整个网络的参数,以取得最优的下游性能。两种方式的取舍在于:线性探测更能反映预训练特征本身的好坏,微调则能榨出最后一截性能。

下游线性分类头的数学形式很简单:

学徒出师后并没有停止学习,他只是学得更快了。预训练 + 微调也遵循同样的逻辑:无标签视频负责打底子,少量有标签数据负责点拨方向。用 10 万条无标签视频预训练,再拿 1000 条标注微调,效果往往能逼近甚至超过用 10 万条全标注数据从头训练的模型——这就是自学成才的威力。

y=WTfθ(x)+b\displaystyle y = W^{T} f_{\theta}(x) + b
通俗理解:预训练编码器 \(f_\theta\) 把视频变成特征向量,再用一个线性层(权重 \(W\) 和偏置 \(b\))把特征映射到具体的类别得分上。
  1. 编码器 \(f_\theta\)自监督预训练得到的视频编码器,承载着之前学到的通用特征。
    fθ:x→zf_\theta: x \rightarrow z
  2. 线性权重 \(W^{T}\)可学习的分类权重矩阵,把特征空间映射到类别空间。
    WT∈RC×dW^{T} \in \mathbb{R}^{C \times d}
  3. 偏置 \(b\)分类头的偏置项,给每个类别一个可调节的基准分。
    b∈RCb \in \mathbb{R}^{C}
  4. 输出 \(y\)每个类别的得分向量,取最大得分的类别即为预测结果。
    y=WTz+by = W^{T} z + b

AI 应用场景

场景一:电商短视频内容质检

阶段:预训练 + 微调

解决的问题:电商平台每天新增数百万条用户短视频,内容审核需要区分违规与正常视频。传统做法需要人工标注数万条视频才能训练一个分类器,成本极高且周期长。利用自监督预训练,平台可以先用海量无标注视频训练一个通用编码器,之后只需几百条标注视频微调就能上线。

具体案例:某电商内容安全团队收集了三个月的历史短视频(约 12 万条,全部无标注),用 VideoMAE 做自监督预训练得到视频编码器。随后人工标注了 800 条“违规/正常”视频做微调,三天内上线了内容质检模型,准确率达到 91%,相比从零训练节省了约 95% 的标注成本。

场景二:工业产线安全监控

阶段:表征学习 + 时序建模

解决的问题:工厂事故类型多样且事故样本极其稀少,无法用监督学习训练一个覆盖所有危险动作的检测器。更现实的做法是:用产线上大量“正常作业”的监控视频做自监督预训练,让模型学习正常动作的节奏和规律,之后只需少量危险动作样本微调,即可识别出偏离正常的危险行为。

具体案例:某汽车零部件工厂用 20 台产线摄像头的三个月监控视频(约 5 万小时,全部为正常作业)做自监督预训练。安全团队仅标注了 50 条“伸手入机器”“越过安全围栏”等危险动作视频用于微调,便训练出一个能实时提醒的异常行为识别模型。上线后人工巡检工作量减少了 60%。

场景三:体育视频检索与集锦生成

阶段:特征抽取与检索

解决的问题:体育媒体机构需要在数万小时比赛视频中检索“进球瞬间”“扣篮瞬间”等精彩片段。传统按文本标签检索漏检率高,而人工标注所有精彩瞬间成本不可接受。用自监督预训练编码器提取视频特征后,系统可以按内容相似度做检索,无需逐条标注。

具体案例:某体育媒体平台用过去三个赛季的篮球比赛录像(无标注)做自监督预训练,然后把比赛切成 4 秒小片段提取特征向量。运营人员上传一个“精彩扣篮”片段,系统即可在全部历史比赛中检索出相似片段并自动生成集锦。上线后集锦召回率提升了约 40%,制作时间从 3 小时缩短到 20 分钟。

Python 演示

python36 行
import torchimport torch.nn as nn torch.manual_seed(0) # ========== 极简 VideoMAE 掩码重建演示 ==========T, C = 8, 32                      # 8 帧, 每帧 32 维特征x = torch.randn(T, C)             # 合成一段"视频特征序列" mask = torch.zeros(T, 1)          # 掩码标记: 1=被遮mask[torch.randperm(T)[:4]] = 1   # 随机遮住 4 帧  class VideoMAEDemo(nn.Module):    def __init__(self):        super().__init__()        self.encoder = nn.Linear(C, 64)  # 编码可见帧        self.decoder = nn.Linear(64, C)  # 重建被遮帧     def forward(self, x, m):        vis = torch.relu(self.encoder(x * (1 - m)))        ctx = vis.mean(dim=0, keepdim=True)  # 全局上下文        return self.decoder(ctx)             # 重建全部帧  model = VideoMAEDemo()optim = torch.optim.Adam(model.parameters(), lr=0.03) for step in range(100):    rec = model(x, mask)    loss = nn.functional.mse_loss(rec * mask, x * mask)  # 只计算被遮帧    optim.zero_grad()    loss.backward()    optim.step() print(f"最终重建损失: {loss.item():.4f}")
目的:用合成视频特征演示 VideoMAE 掩码重建的核心思想——随机遮住部分帧,模型借助可见帧重建被遮帧。
  1. mask[torch.randperm(T)[:4]] = 1随机选 4 帧打上掩码标记,模拟遮挡
  2. self.encoder = nn.Linear(C, 64)编码器只处理可见帧,压缩信息
  3. vis = torch.relu(self.encoder(x * (1 - m)))被遮帧乘以 0,只保留可见帧信息
  4. ctx = vis.mean(dim=0, keepdim=True)把可见帧信息汇聚成全局上下文向量
  5. self.decoder = nn.Linear(64, C)解码器从全局上下文重建被遮帧
  6. loss = nn.functional.mse_loss(rec * mask, x * mask)只在被遮帧位置计算重建损失

常见误区

误区自监督和无监督不是一回事吗?都是不用标签,我用了无监督这个词就能准确描述 VideoMAE 了。

正解无监督学习是一个大集合,泛指不依赖人工标签的所有方法(聚类、降维、生成模型都算);自监督是其中一种具体范式,它从数据自身结构构造伪标签,本质上仍然在做一个“有监督”的预测任务——只是老师由视频自己充当。好比学徒看录像带自学,虽然没有人类老师,但每道自出的题都有藏在视频里的标准答案。

为何常见:两者都强调“不需要人工标注”,初学者很容易把“无标签”与“无监督信号”混为一谈。

误区既然 VideoMAE 用 90% 掩码率效果好,那我直接把掩码率调到 99%,效果肯定更好吧?

正解掩码率过高会让任务失去解:可见信息太少,不足以推断被遮内容,模型只能瞎猜,学不到有意义的特征。90% 是 VideoMAE 在视频任务上平衡难度与可行性的经验位置。掩码率过低(如 25%)则模型靠相邻 patch 就能抄近道,同样学不到全局语义。好比看图猜字,只露一个笔画谁都猜不出来,露一半才最有训练价值。

为何常见:人们容易把“任务越难训练效果越好”直接推向极端,忽略了任务可解性的边界。

误区自监督模型已经学到很好的特征了,直接拿去做视频分类就行,不需要再训练。

正解预训练模型学到的是通用表示,但下游任务的输出空间(比如分类类别)是任务特定的,必须加上输出头并经过微调或线性探测才能做预测。如果预训练数据与下游数据分布差异大,微调更是必不可少。好比学徒虽然懂很多常识,但做具体工作时仍需师傅带几天,熟悉工作流程。

为何常见:预训练模型在标准基准上表现好时,容易让人误以为下游任务零成本、零适配。

误区对比学习中负样本越多越好,把负样本库加到几十万甚至上百万,模型一定更强。

正解负样本增多确实能降低表征坍缩风险,但也带来显存和计算开销的大幅上升,常规做法是用大 batch 或 memory bank 缓解。更重要的是负样本的质量而非绝对数量:如果负样本与正样本过度重叠(比如都来自相似场景),反而会淹没正样本信号,让模型学不到关键区分度。学徒认人时,如果身边全是同卵双胞胎,认人的难度不是靠人数堆出来的。

为何常见:论文里经常出现“增大负样本数量带来提升”的结论,读者容易把它当成普适规律而无视收益递减。

面试题

Q1. 自监督学习最核心的思想是什么?

单选题 · easy

  • A.依赖大量人工标注数据
  • B.从数据自身生成监督信号← 正确答案
  • C.无需任何训练过程
  • D.用生成对抗网络学习

答案:B。自监督学习的本质是从数据自身结构(如视频的时空顺序、遮挡关系)构造伪标签,从而生成监督信号。选项 B 准确描述了这一点。A 是监督学习;C 违背了“学习”的本质;D 是另一类生成模型方法,不是自监督的核心思想。

Q2. InfoNCE 损失分母中的负样本主要起什么作用?

单选题 · mid

  • A.增加计算复杂度开销
  • B.提供对比基准防止塌陷← 正确答案
  • C.减少模型参数量
  • D.让正样本对变多

答案:B。负样本提供了“对比”的基准,让模型必须在大量干扰项中认出唯一正确的正样本,从而防止所有样本的特征收缩到同一区域(即表征塌陷)。A 是负样本带来的副作用而非作用;C 与参数量无关;D 混淆了正负样本的构造。

Q3. 视频自监督预训练中,常用的代理任务有哪几类?

多选题 · mid

  • A.对比学习判别正负样本← 正确答案
  • B.掩码部分帧并重建内容← 正确答案
  • C.预测未来帧或时序顺序← 正确答案
  • D.直接输出类别概率

答案:ABC。对比学习、掩码建模、时序预测是最经典的三大类视频自监督代理任务。A、B、C 分别对应这三类。D 是下游分类任务的输出方式,属于监督学习范畴,不是自监督的代理任务。

Q4. VideoMAE 采用约 90% 掩码率的核心原因是什么?

单选题 · mid

  • A.逼模型学习全局时空语义← 正确答案
  • B.纯粹为了减少显存占用
  • C.让模型记住训练样本
  • D.降低数据预处理的难度

答案:A。高掩码率去掉局部冗余信息,使模型无法靠相邻 patch 直接“抄答案”,只能理解全局时空结构来完成重建。B 是附带收益并非核心原因;C 恰恰是模型不该做的事(记住样本会导致过拟合);D 与预处理无关。

Q5. 线性探测(Linear Probe)的操作方式是什么?

单选题 · easy

  • A.固定编码器只训练分类头← 正确答案
  • B.微调全部网络的所有参数
  • C.重新设计模型的损失函数
  • D.增加训练数据增强策略

答案:A。线性探测冻结预训练编码器的全部参数,只训练一个线性分类头,用来评估预训练特征本身的质量。B 是微调(Fine-tune);C 扭曲了线性探测的含义;D 属于数据层面操作,与线性探测无关。

Q6. 关于掩码建模,下列说法正确的有哪些?

多选题 · hard

  • A.掩码目标可以是原始像素← 正确答案
  • B.掩码目标可以是特征表示← 正确答案
  • C.掩码率越高效果一定越好
  • D.掩码策略需兼顾时空结构← 正确答案

答案:ABD。掩码重建的目标既可以是原始像素,也可以是深层特征,A、B 都正确。D 也正确,视频掩码要兼顾时间和空间结构(如 Tube Masking),才能避免模型走捷径。C 错误——掩码率过高会导致任务不可解,效果反而变差。

Q7. 伪标签在自监督任务中的正确理解是什么?

单选题 · mid

  • A.来自数据自身结构的自动标注← 正确答案
  • B.由人工专家设计标注规则
  • C.由生成模型合成的高质量标签
  • D.与真实标签完全一致的标签

答案:A。伪标签是任务构造过程中由数据自身生成的“参考答案”,比如被遮块的原始内容、被打乱帧的正确顺序。A 准确描述了这一点。B 是人工规则,不是数据自身生成;C 混淆了生成模型与自监督;D 的“真实标签”在无标注场景中根本不存在。

Q8. 以下哪些属于视频时序预测类任务?

多选题 · hard

  • A.打乱帧顺序后恢复原始顺序← 正确答案
  • B.根据历史帧预测未来帧← 正确答案
  • C.对单帧图像做基础分类
  • D.判断两段视频是否同一来源

答案:AB。A 是帧顺序预测,B 是未来帧预测,都属于利用时间维度的时序预测任务。C 是单帧分类,不涉及时序;D 是典型的对比学习任务,关注“同源还是异源”,而非时间先后关系。

Q9. 评估视频自监督预训练特征质量时,常用做法是什么?

单选题 · easy

  • A.只看预训练损失的大小
  • B.在下游任务微调后评估← 正确答案
  • C.随机初始化网络再训练
  • D.评估推理时的显存消耗

答案:B。预训练特征好不好,最终要用下游任务(如视频分类)来检验,常见做法包括线性探测和微调后评估。A 中预训练损失只反映代理任务表现,不能直接代表特征质量;C 相当于放弃预训练;D 是工程指标,与特征质量无关。

Q10. 视频自监督对比学习中,正样本对的常用构造方式是什么?

单选题 · hard

  • A.同一视频段的不同时空裁剪← 正确答案
  • B.任意两个无关视频的帧
  • C.单帧与其水平翻转的图像
  • D.单帧加高斯噪声后的版本

答案:A。同一视频段的不同时空裁剪,在内容和运动上保持一致,是视频对比学习最自然的正样本对来源。B 是负样本;C、D 属于图像增强的正样本构造,没有利用视频特有的时间维度优势,不是视频场景下的最佳答案。