自监督学习
Self-supervised Learning
从标注成本与表征迁移出发,学习代理任务、掩码重建、对比学习和自蒸馏,理解监督信号如何来自数据。
标注推动视觉学习
图像中的对象、位置与区域,可以形成不同学习任务。先看这些任务需要怎样的输出,再追问训练信号从哪里来。
自监督学习:由数据产生训练信号
自监督学习(Self-supervised Learning,SSL)利用数据自身的结构、变换或不同视图构造目标,学习可复用的表征(representation)。
本讲围绕视觉表征展开,先解释标注成本,再逐步研究具体代理任务与学习机制,最后用下游任务检验表征的用途。
ImageNet:规模化标注的推动作用
ImageNet 大规模视觉识别挑战赛(ILSVRC)提供统一的图像类别与评价基准。历史图以分类错误率为纵轴,越低越好。
2012 年分类数据含 1000 类,训练集 1,281,167 张、验证集 50,000 张、测试集 100,000 张;训练图像并非每类恰好 1000 张。模型与训练进步借助大规模标注,但每个新任务都重新建立这样的数据集会带来成本。
四种视觉任务,需要四种输出
图像分类(image classification)给整图类别;语义分割(semantic segmentation)给像素类别;目标检测(object detection)给框与类别;实例分割(instance segmentation)还区分同类的不同对象。
观察猫图的整图标签,以及多对象场景中的像素区域、边框和独立实例。输出粒度不同,监督信息也不同。
迁移学习与表征
把学习分成预训练与目标任务适配,可以减少目标任务标注需求。
先学特征,再适配目标任务
迁移学习(transfer learning)先在源数据学习编码器,再用小目标数据集训练新任务头。编码器把图像转为特征向量,任务头给出类别等输出。
从头训练同时学习特征和目标分类器,通常需要较多标注。迁移阶段可冻结编码器或联合微调;目标样本数 k 可远小于源样本数 n。
分类改进可能惠及下游任务
左图观察分类错误率下降,右图观察 COCO 检测指标提高。两组图展示各自趋势,模型没有一一配对关系。
编码器结构与训练的改进可能通过迁移提高下游表现。比较时分别识别越低越好、越高越好的指标,并保留不同实验设置。
从观察中学习
先学习世界的结构,再学习具体任务,为减少显式标签依赖提供研究动机。
观察、交互和多模态信息提供线索
Hinton、LeCun 和 Bengio 对无监督学习、先学表征和适应变化的讨论,共同指向减少人工标签依赖。人类婴儿从观察、操作、视觉、声音和触觉积累经验。
这为任务设计提供启发;计算机仍需要具体输入、目标和优化方法。行为类比不能直接证明某种网络具有人类理解能力。
代理任务与下游任务
训练任务可以与最终应用不同;中间编码器连接这两个阶段。
代理任务:从数据产生答案
代理任务(pretext task)为学习表征而设计。隐藏图像区域后预测缺失内容,或施加已知旋转后预测角度,都能由原数据自动产生答案。
输入经编码器形成表征,再由分类器、解码器或回归器预测自动目标。虽然没有人工标注,优化仍可采用分类或回归损失;损失反向更新编码器。
下游任务:复用编码器,换输出头
下游任务(downstream task)是实际关心的应用。预训练后保留编码器,替换代理头,用目标数据训练类别、检测或分割输出。
编码器可冻结,也可继续更新。人工目标标签在适配阶段使用,最终关心下游表现而非代理任务分数。
怎样评估表征
固定特征好不好,与允许适配后能做多好,是不同的问题。
冻结编码器,训练线性分类器
线性探测(linear probing)冻结编码器,只用带标签数据训练线性头,检查特征的可分性。它仍使用目标训练标签。
无微调骨干还可以用最近邻或特征匹配评价。零样本迁移(zero-shot transfer)进一步要求不使用目标任务训练标签,并具备可用的输出映射;任意图像编码器不能自动输出新类别名称。
跨模态范围与本讲重点
可用于自监督的数据关系不限于图像,接下来聚焦视觉中的具体任务。
预测图像块的相对位置
物体部件有空间结构。预测两个块的关系可以推动编码器学习这种结构。
中心猫块与八个邻域位置
上下文预测(context prediction)选中心块,再从八个周边方向采样一块,预测相对位置。猫图输入中心脸部与右上耳部,标签 Y=3。
该实验设置为 96×96 块、约 48 像素间隔及 −7 到 7 像素抖动,减少依靠边界连续性解决任务的机会。两个分支共享参数,组合块特征后进行八分类。
最近邻是否反映对象内容?
最近邻(nearest neighbors)检索比较查询块在不同特征空间中的邻居。观察部件、结构与内容相似性,随机初始化作为基线。
图中 ImageNet 监督 AlexNet 与上下文预训练提供学习后的对照。少数检索示例是定性证据,还需要目标任务实验。
用拼图学习多块结构
从两个块的相对关系扩展到多个块的整体排列。
打乱图像块,预测排列
拼图(jigsaw puzzle)任务把图像分块后打乱,让网络识别排列。虎图依次显示原图、分块和重排,目标由操作自动记录。
对象部件、纹理与空间关系可帮助解决任务,无需人工标注对象类别。
汽车例子:第 64 号排列
从 225×225 窗口建立 3×3 网格,每个 75×75 单元随机取 64×64 块,再选预定义排列。示例标签是排列编号 64。
输出概率向量第 64 个位置的目标为 1。64 是排列身份,块数始终为九;汽车与前面的虎图共享方法,但不是同一图像案例。
通过旋转预测学习视觉常识
图像中许多对象有典型朝向,已知旋转能生成无需标注的分类目标。
自然朝向提供结构线索
旋转预测(rotation prediction)可能要求认识对象通常的形态与朝向。代理输出要区分旋转,不能把它描述为输出对旋转不变。
旋转对称或缺少典型方向的对象可能难以判断;任务提供学习动机,不保证学到全部语义。
四种角度,四路分类
同一鸟图旋转为四种输入,共享网络预测施加的角度。目标由变换程序生成,四分类交叉熵更新编码器与角度头。
预训练结束后,用类别、检测或分割头替换角度头,检验留下的表征。
CIFAR-10 的标签数量与表现
先在完整 CIFAR-10 训练图像上旋转预训练,再冻结 conv1、conv2,用不同规模标签子集训练 conv3 与线性层。横轴为每类标签数,纵轴为测试准确率。
观察小样本区间两条曲线的差异。这是部分层适配,不能等同于严格的单线性头探测。
从灰度预测图像颜色
颜色与对象、材质及场景相关,原彩色图同时提供输入与预测目标。
灰度输入,颜色输出
图像着色(image colorization)用亮度信息预测原图颜色。虎图经过表征网络得到颜色输出,任务可能需要局部纹理与更大范围结构。
灰度到颜色不是唯一映射;合理着色与识别准确率不同,最终要评价特征迁移。
跨通道预测与双分支表征
单向着色扩展为两组通道互相预测,再组合两侧特征。
两个子网络,互相预测通道
双分支自编码器(Split-brain Autoencoder)把输入分为 X₁、X₂;F₁ 从 X₁ 预测 X₂,F₂ 从 X₂ 预测 X₁,中间特征可拼接。
Lab 中亮度与色度互相预测;RGB-D(彩色与深度)中颜色与深度编码互相预测。HHA 深度编码表示水平视差、距地面高度和表面法线与重力夹角。
在 Places 评价拼接特征
ImageNet 全训练集用于自监督,F₁/F₂ 特征拼接后在带标签 Places 数据上评价。横轴是网络层,纵轴是 Top-1 准确率。
曲线说明不同层的迁移特征有不同表现,监督基准与其他代理方法作为参考。
视频颜色一致性
把颜色从一帧传到另一帧,需要跨帧建立位置对应。
从参考帧给后续灰度帧着色
视频着色(video colorization)给定参考彩色帧和目标灰度帧,预测目标颜色。t=0 参考帧提供颜色,t=1、2、3 目标帧提供待匹配内容。
对象位置会变,颜色传播要沿对象对应关系移动;时间颜色一致性成为学习线索。
匹配、颜色复制与损失
固定目标位置,沿打分、归一化、汇总和训练四步理解计算。
目标位置 j 查询参考位置 i
参考帧有 R 个位置、目标帧有 T 个位置,两侧特征均为 d 维。固定目标 j,对参考位置 i 打分并归一化。
A_{ij}=\frac{\exp(f_i^\top f_j)}{\sum_{k=1}^{R}\exp(f_k^\top f_j)},\qquad \sum_{i=1}^{R}A_{ij}=1A 为 R×T,i、k 是参考位置,j 是目标位置。固定 j 沿 i 归一化,每列和为 1;越大权重表示更倾向读取该参考位置。
按匹配权重读取参考颜色
每个参考位置提供颜色 cᵢ,同一组权重 Aᵢⱼ汇总成目标预测 yⱼ。若用 ab 颜色则输出二维;量化颜色也可表示为类别分布。
y_j=\sum_{i=1}^{R}A_{ij}c_i固定目标 j,i 遍历参考位置。权重和为 1,输出为参考颜色的凸组合;目标真值没有参与读取。
从着色到区域跟踪
能够传播颜色的匹配,也可能传播位置关联的其他信息。
参考颜色、灰度与预测颜色
比较参考彩色帧、目标灰度帧和预测结果,观察人物移动后颜色保持及边界误差。
参考帧提供可复制的颜色,目标帧的位置对应决定它们传播到哪里。这里保留的是静态结果帧。
颜色传播在另一段视频中怎样表现?
另一组视频展示穿黄色服装的人物。比较目标灰度帧与预测颜色,观察衣服颜色、轮廓和背景是否保持。
这与上一组来自独立视频,不能把两组静态帧拼成同一运动轨迹。后续使用相同匹配传播区域标记。
把参考掩码传播到对象区域
图中高亮表示区域身份。参考帧给定区域掩码后,用学到的权重传到目标帧,检验对象对应是否保持。
预训练不需要跟踪标签;下游应用仍需要初始参考标记。必须区分训练监督与应用输入。
图像修复:重建与对抗目标
从周围上下文推断缺失内容,分别约束像素一致性和视觉合理性。
可见上下文输入,缺失区域输出
图像修复(inpainting)随机遮挡区域,上下文编码器(Context Encoder)读取可见信息,解码器预测缺失内容,原图提供目标。
编码器通过这种推断学习可迁移特征,重建头负责训练任务。
重建与对抗学习各自约束什么?
二值掩码 M=1 表示缺失,输入为 (1−M)⊙x。生成器 F 预测,判别器 D 区分真实与重建;两者更新方向不同。
\mathcal{L}_{\mathrm{rec}}=\|M\odot[x-F((1-M)\odot x)]\|_2^2x、M 与重建采用相同像素形状;⊙ 是逐元素相乘。只比较缺失区域,L2 平方衡量像素差异。
\begin{aligned}\min_F\max_D\ &\lambda_r\mathbb{E}[\mathcal{L}_{\mathrm{rec}}]\cr &+\lambda_a\mathbb{E}[\log D(x)+\log(1-D(F((1-M)\odot x)))]\end{aligned}λr、λa 是非负权重。D 最大化真假区分目标,F 最小化重建及对抗目标;实际判别区域须与实现一致。
同一窗户的四种结果
固定输入与遮挡区域,观察仅重建较平滑、仅对抗可能有纹理但内容不准、联合目标协调结构与视觉合理性。
清晰度与正确恢复、识别准确率和最佳迁移并非同一评价,需要各自检验。
MAE:高掩码率与非对称重建
图像有冗余,遮挡太少可能让预测过于简单。高比例随机掩码要求利用更大范围的结构。
保留少量块,重建图像
掩码自编码器(Masked Autoencoder,MAE)由少量可见块预测被遮挡像素。每行依次为掩码输入、重建、重建与可见内容合成、原图。
比较 50% 与 75% 两行的可见信息与预测结构。输出合理性不能量化表征质量,其关键设计是仅编码可见块、用轻解码器重建。
随机掩码 75% 的块
与视觉 Transformer(Vision Transformer,ViT)相同,图像分成不重叠 P×P 块。均匀随机掩码约 75%,只保留 25%。
若 H、W 可被 P 整除,块数 N=HW/P²。结构示例有 16 块,4 块可见、12 块缺失,用来解释位置关系,不是原实验分辨率。
大编码器只处理可见块
可见块展平、线性投影并加入原位置编码,形成约 N/4 个 token 的序列进入编码器;编码器不接收 mask token。
较短序列减少计算,使较大编码器预训练更可行。计算节省依结构与各部分开销,不能由 token 数推断一个通用倍数。
补回掩码位置,交给轻解码器
把可见表征投影到解码维度,在缺失位置插入共享可学习掩码 token(mask token),按原位置还原完整 N 块序列,再加入位置编码。
轻量 Transformer 解码器与线性输出层预测像素。大编码器、轻解码器构成非对称设计;应用阶段通常保留编码器,重建解码器服务于预训练。
只在缺失块计算 MSE
均方误差(mean squared error,MSE)只比较被掩码块的预测与真值,使监督聚焦必须推断的部分。
\mathcal{L}_{\mathrm{MAE}}=\frac{1}{|\mathcal{M}|P^2C}\sum_{p\in\mathcal{M}}\|\hat{x}_p-x_p\|_2^2𝓜 是固定掩码集合,C 是通道数,xp 与预测均为 P²C 维;|𝓜|>0。若使用逐块归一化目标,预测与目标要采用相同尺度。
线性探测与全模型微调
重建和识别表现不同,比较时需要明确目标阶段更新哪些参数。
MAE 消融与比较
控制变量,检查掩码模式、解码器与模型规模分别带来什么变化。
掩码比例与空间采样
消融实验(ablation study)改变设计项来识别贡献。随机 75% 掩码报告 ft 84.9、lin 73.5;连续块 75% 为 82.8、63.9;网格 75% 为 84.0、66.0。
相同比例仍可能因空间模式改变难度与表征。曲线分别对应微调和线性探测;其他待控制项包括解码深度/宽度、编码器 mask token、目标、增强与训练计划。
解码深度与宽度影响评价
深度表 1–12 块的 ft 约为 84.4–84.9,lin 更敏感;8 块的 lin 为 73.5。宽度表 128–1024 维中,512 维的 lin 为 73.5。
更深、更宽并未持续提高指标。两个表是不同消融,不能把最佳值拼成未运行过的新配置。
高掩码率重建可视化
极少可见内容下的预测具有不确定性,观察结构与细节怎样变化。
98% 与 95% 掩码重建
五列依次为原图、98% 掩码输入、98% 输出、95% 掩码输入、95% 输出。夜间人物和网球场中,可见块增加后轮廓与场景有所改善。
只有 2% 或 5% 内容可见,输出存在不确定性;比较同一行,不能把不同人物的结果互相对应。
高掩码率下的动作与水面
继续按相同五列观察人物姿态、水面和帆板。极少可见块可提示较大场景结构,细节与真实图像仍可能不同。
对比 98% 与 95% 的同一对象,关注新增可见内容怎样改变预测;这是实际重建结果的定性证据。
传统任务的收获与局限
空间、变换、通道和时间都能产生信号,专门设计任务也有成本。
从变换一致性到正负对
同图多种视图共享来源身份,可用这层关系定义统一目标。
同图拉近,异图保持区分
对比表征学习(contrastive representation learning)把同一原图的另一视图作为正对(positive pair),其他图像作为负对(negative pair)。
原猫图及补全、旋转、拼图、灰度视图共享身份,另一来源图像提供负对。实例身份不等于语义标签;另一张猫图也可能成为负样本。
InfoNCE:从候选中找正样本
先定义对象与评分,再把相似度转成候选概率和优化目标。
正对得分高,负对得分低
编码器 f 把输入映射成向量,评分函数 s 比较两向量。希望正对分数相对负对更高,原始分数还不是概率。
仅扩大向量尺度可能令评分失控,后续 SimCLR 用归一化余弦和温度控制。
一个正样本与 N−1 个负样本
固定锚点 x,将正样本与 N−1 个负样本的分数指数化并归一化,得到正候选被选中的概率。
p_+=\frac{\exp(s_+)}{\exp(s_+)+\sum_{j=1}^{N-1}\exp(s_j^-)}s+ 为正对分数,sj− 为第 j 个负对分数;N≥2 为含正样本的候选总数,锚点不属于候选。正项也在分母中,p+ 在 0 与 1 之间。
负对数概率就是交叉熵
InfoNCE(信息噪声对比估计损失)把识别正样本写为 N 路分类,目标类别是正样本在列表中的位置,来自视图配对关系。
\mathcal{L}_N=-\mathbb{E}[\log p_+]期望遍历锚点及正负采样;自然对数下以 nat 计。p+ 越大损失越小,均匀候选概率 1/N 对应 log N。
SimCLR:增强、编码与投影
用同一输入的两次随机增强形成正对,在投影空间进行对比。
共享编码器,两种随机视图
SimCLR(A Simple Framework for Contrastive Learning)采样两种增强 t、t′,共享编码器 f 输出表征 h,投影头 g 输出对比向量 z,下游通常保留 h。
\operatorname{sim}(u,v)=\frac{u^\top v}{\|u\|_2\|v\|_2}u、v 是同维非零向量,余弦在 −1 到 1 之间。实现需避免零范数;温度 τ>0 控制相似度进入 Softmax 的尺度。
SimCLR 批内配对与平均损失
每张原图产生两个视图,每个视图轮流成为锚点。
B 张原图,2B 个视图
固定锚点 i,同源另一视图 j 为正样本,其余 2B−2 个视图为负样本。分母排除自身,却必须包含正样本。
\ell_{i,j}=-\log\frac{\exp(\operatorname{sim}(z_i,z_j)/\tau)}{\sum_{k=1}^{2B}\mathbf{1}_{k\ne i}\exp(\operatorname{sim}(z_i,z_k)/\tau)}B≥2 是原图批量,τ>0 是温度,zi 为投影向量;分母含 2B−1 个候选。这里 B 与上一节候选总数 N 不同。
\mathcal{L}=\frac{1}{2B}\sum_{b=1}^{B}(\ell_{2b-1,2b}+\ell_{2b,2b-1})用一基索引,(1,2)、(3,4)…共享原图。两个方向分别作锚点,对 2B 个损失项平均。
亲和矩阵:每行标签的位置
将投影向量组成 Z∈ℝ^(2B×d),两两相似度得到 2B×2B 亲和矩阵(affinity matrix)。行表示锚点,对角线为自身比较。
结构示例 B=3,正列依次为 2、1、4、3、6、5。每行排除自身,把另一个同源视图作为分类目标,其他非自身列为负样本。
SimCLR 实验与设计取舍
区分评价协议,再用消融解释投影头与大批量。
冻结编码器评价线性分类
ImageNet 全训练集用于自监督,冻结特征后训练线性分类器。横轴是参数量,纵轴是 Top-1 准确率,灰色标记为监督基准。
1×、2×、4× 代表不同网络宽度,方法与规模都可能贡献表现。
1% / 10% 标签用于微调
半监督适配(semi-supervised adaptation)先利用全部训练图像预训练,再用 1% 或 10% 类别标签微调。表中指标为 Top-5。
SimCLR ResNet-50 行对应 75.5 与 87.8,其他宽度另列。这与只训练线性头的协议不同。
h 与 z 承担不同职责
对比要求 z 对增强保持一致,可能丢弃颜色等信息。投影头将 h 与 z 分开,使 h 保留更多下游有用信息。
该实验中线性和非线性头优于无投影头,非线性较强;这是特定消融的支持,需要与其他任务条件区分。
MoCo:队列与动量编码器
保存历史键扩大负样本字典,同时保持历史特征相对一致。
查询反传,历史键保留在队列
动量对比学习(Momentum Contrast,MoCo)用查询编码器生成 q,键编码器生成同图另一增强的正键 k⁺,历史队列键作为负样本。
梯度仅经过查询分支,正键与历史键停止梯度。队列中的特征无需保留生成它们时的反传激活。
键编码器缓慢追随查询编码器
查询参数 θq 由优化器更新,键参数 θk 通过指数移动平均(exponential moving average,EMA)变化,减少新旧键特征空间的不一致。
\theta_k\leftarrow m\theta_k+(1-m)\theta_q
两侧对应参数形状一致,0≤m<1;m 越接近 1,键编码器保留越多历史状态,更新越慢。
先计算损失,再维护 FIFO 队列
先进先出(first in, first out,FIFO)队列保存固定数量历史键。当前查询先用旧队列算损失,新批次键随后入队,删除最旧键。
结构示例容量 4,旧键 K1–K4。当前 K5、K6 入队后留下 K3–K6,供下一轮使用;实际队列可以更大。
MoCo v2:融合设计与实验条件
增强与投影头可用于动量框架,性能与资源需要分别比较。
非线性投影头与强增强
MoCo v2 把非线性投影头、强增强和改进训练计划结合到动量队列。表中在 ResNet-50、200 轮条件下逐项加入设计。
投影头、增强与余弦计划贡献不同;读消融行才能判断改进来源。
小批量也能使用大负样本字典
在 ResNet-50、200 轮设置中,MoCo v2 batch256 的线性准确率 67.5,SimCLR batch8192 为 66.6。队列解除了批量与负样本数量的绑定。
表中 800 轮与 1000 轮属于不同训练预算。小批量不能单独保证任意任务都更好。
DINO:无标签多视图蒸馏
缓慢更新的教师提供目标,学生匹配同图其他视图的输出分布。
自监督 ViT 的空间关注
DINO(Self-Distillation with No Labels,无标签自蒸馏)训练同图视图一致性。图中输入与关注区域展示与对象边界相关的结构。
它是定性空间证据,不等同于监督分割准确率。下面解释目标如何产生。
两个全局与多个局部视图
多裁剪(multi-crop)从同图生成两全局与多个局部视图。原 DINO 默认面积比例为全局 0.4–1.0、局部 0.05–0.4,缩放尺寸分别 224×224 与 96×96。
教师读两个全局,学生读两个全局与常用八个局部,共十个视图。教师停止梯度,学生从较小局部学习全局信息;裁剪面积比例与输出分辨率不同。
中心化、锐化与教师更新
没有显式负样本时,多个机制共同避免无信息的恒定输出。
中心化抑制单一原型主导
中心化(centering)维护教师原型分数的逐维 EMA。减去中心 c 降低某一原型长期占主导的倾向,c 是向量而非单一标量。
p_t=\operatorname{softmax}((z_t-c)/\tau_t)zt、c 为 K 维原型 logits;τt>0 是教师温度,输出各维概率和为 1。
c\leftarrow m_c c+(1-m_c)\frac{1}{B_t}\sum_{b=1}^{B_t}z_{t,b}Bt 是教师视图样本数量,0≤mc<1。批均值来自原型 logits,中心更新不参与梯度。
低温度令教师分布更有区分度
锐化(sharpening)用低教师温度放大分数差异,降低均匀输出的倾向;学生温度更高。中心化与锐化作用需要平衡。
p_s=\operatorname{softmax}(z_s/\tau_s),\qquad 0<\tau_t<\tau_szs 为学生 logits。温度控制相对分数尺度,低于 1 本身没有脱离 logits 尺度的绝对意义。
学生反传,教师通过 EMA 更新
表征坍缩(representation collapse)是不同输入产生相同无信息输出,例如总用同一原型或均匀分布。停止教师梯度、中心化、锐化与 EMA 等共同稳定训练。
局部视图是同图匹配输入,不是负例;没有显式负样本也不表示任意设置都保证不坍缩。
\theta_t\leftarrow\lambda\theta_t+(1-\lambda)\theta_s
θt、θs 为对应教师与学生参数,0≤λ<1。学生由梯度更新,再通过 EMA 更新教师,为下一轮生成较稳定目标。
DINOv2:规模化通用视觉特征
数据质量、模型规模与图像/块级目标共同影响冻结特征的通用性。
回顾:信号、表征与评价
用同一学习链路理解不同方法生成的监督与留下的能力。