第五讲 · 视觉表征

自监督学习

Self-supervised Learning

从标注成本与表征迁移出发,学习代理任务、掩码重建、对比学习和自蒸馏,理解监督信号如何来自数据。

3 个章节 · 31 个主题 · 83 个演示步骤

标注推动视觉学习

图像中的对象、位置与区域,可以形成不同学习任务。先看这些任务需要怎样的输出,再追问训练信号从哪里来。

自监督学习:由数据产生训练信号

自监督学习(Self-supervised Learning,SSL)利用数据自身的结构、变换或不同视图构造目标,学习可复用的表征(representation)。

本讲围绕视觉表征展开,先解释标注成本,再逐步研究具体代理任务与学习机制,最后用下游任务检验表征的用途。

自监督学习:由数据产生训练信号。动机与评估 → 传统代理任务 → 现代方法
动机与评估 → 传统代理任务 → 现代方法

ImageNet:规模化标注的推动作用

ImageNet 大规模视觉识别挑战赛(ILSVRC)提供统一的图像类别与评价基准。历史图以分类错误率为纵轴,越低越好。

2012 年分类数据含 1000 类,训练集 1,281,167 张、验证集 50,000 张、测试集 100,000 张;训练图像并非每类恰好 1000 张。模型与训练进步借助大规模标注,但每个新任务都重新建立这样的数据集会带来成本。

ImageNet:规模化标注的推动作用。1000 类图像分类与历史竞赛结果
1000 类图像分类与历史竞赛结果

四种视觉任务,需要四种输出

图像分类(image classification)给整图类别;语义分割(semantic segmentation)给像素类别;目标检测(object detection)给框与类别;实例分割(instance segmentation)还区分同类的不同对象。

观察猫图的整图标签,以及多对象场景中的像素区域、边框和独立实例。输出粒度不同,监督信息也不同。

四种视觉任务,需要四种输出。分类、语义分割、检测、实例分割
分类、语义分割、检测、实例分割

目标标注有限,怎样学习?

为任务收集带标注数据,选择网络与训练目标,再训练并部署,是常见监督学习路径。数据质量、覆盖范围和学习目标共同影响模型。

检测、分割或专门领域可能只有少量标注。迁移学习首先回答:能否把其他数据上已经学到的特征带过来?

目标标注有限,怎样学习?。数据 → 目标与模型 → 训练 → 部署
数据 → 目标与模型 → 训练 → 部署

迁移学习与表征

把学习分成预训练与目标任务适配,可以减少目标任务标注需求。

先学特征,再适配目标任务

迁移学习(transfer learning)先在源数据学习编码器,再用小目标数据集训练新任务头。编码器把图像转为特征向量,任务头给出类别等输出。

从头训练同时学习特征和目标分类器,通常需要较多标注。迁移阶段可冻结编码器或联合微调;目标样本数 k 可远小于源样本数 n。

先学特征,再适配目标任务。从头训练与迁移学习
从头训练与迁移学习

分类改进可能惠及下游任务

左图观察分类错误率下降,右图观察 COCO 检测指标提高。两组图展示各自趋势,模型没有一一配对关系。

编码器结构与训练的改进可能通过迁移提高下游表现。比较时分别识别越低越好、越高越好的指标,并保留不同实验设置。

分类改进可能惠及下游任务。分类错误率与 COCO 检测表现
分类错误率与 COCO 检测表现

源任务的标注成本仍然存在

迁移减少目标标签需求,监督预训练仍靠源任务人工标签塑造特征。下一步把问题转向编码器本身的学习方式。

能否先从大量未标注数据学特征,再用少量目标标签建立应用?这是自监督表征学习的动机。

源任务的标注成本仍然存在。图像 → 特征 → 人工类别标签
图像 → 特征 → 人工类别标签

从观察中学习

先学习世界的结构,再学习具体任务,为减少显式标签依赖提供研究动机。

观察、交互和多模态信息提供线索

Hinton、LeCun 和 Bengio 对无监督学习、先学表征和适应变化的讨论,共同指向减少人工标签依赖。人类婴儿从观察、操作、视觉、声音和触觉积累经验。

这为任务设计提供启发;计算机仍需要具体输入、目标和优化方法。行为类比不能直接证明某种网络具有人类理解能力。

观察、交互和多模态信息提供线索。少量明确监督,大量自然经验
少量明确监督,大量自然经验

自动构造目标,扩大可用数据

监督目标来自外部人工标签,自监督目标从数据生成。自动构造目标降低标签收集成本,使更大规模未标注数据可参与训练。

合适的目标可能得到更有用、更稳健的表征,但效果依赖数据分布、目标和训练,需要用下游实验检验。

自动构造目标,扩大可用数据。标注成本、可扩展性与迁移能力
标注成本、可扩展性与迁移能力

代理任务与下游任务

训练任务可以与最终应用不同;中间编码器连接这两个阶段。

代理任务:从数据产生答案

代理任务(pretext task)为学习表征而设计。隐藏图像区域后预测缺失内容,或施加已知旋转后预测角度,都能由原数据自动产生答案。

输入经编码器形成表征,再由分类器、解码器或回归器预测自动目标。虽然没有人工标注,优化仍可采用分类或回归损失;损失反向更新编码器。

代理任务:从数据产生答案。未标注数据 → 编码器 → 代理头
未标注数据 → 编码器 → 代理头

下游任务:复用编码器,换输出头

下游任务(downstream task)是实际关心的应用。预训练后保留编码器,替换代理头,用目标数据训练类别、检测或分割输出。

编码器可冻结,也可继续更新。人工目标标签在适配阶段使用,最终关心下游表现而非代理任务分数。

下游任务:复用编码器,换输出头。表征 → 应用所需的类别或区域
表征 → 应用所需的类别或区域

同一图像的四种代理任务

四个猫图示例分别利用缺失内容、已知角度、块排列和原颜色。补全与着色的目标来自原图,旋转与排列目标由操作记录。

这些任务共同把数据结构转为训练信号,但各自诱导的特征可能不同,需要统一的表征评价协议。

同一图像的四种代理任务。补全、旋转、拼图与着色
补全、旋转、拼图与着色

怎样评估表征

固定特征好不好,与允许适配后能做多好,是不同的问题。

冻结编码器,训练线性分类器

线性探测(linear probing)冻结编码器,只用带标签数据训练线性头,检查特征的可分性。它仍使用目标训练标签。

无微调骨干还可以用最近邻或特征匹配评价。零样本迁移(zero-shot transfer)进一步要求不使用目标任务训练标签,并具备可用的输出映射;任意图像编码器不能自动输出新类别名称。

冻结编码器,训练线性分类器。线性探测与无微调迁移
线性探测与无微调迁移

从旋转角度迁移到鸟类别

先从大量未标注图像构造旋转标签,训练特征提取器;随后连接浅层分类器,用少量带标签目标数据学习鸟类别。

两个阶段的输出从“90°”变成“鸟”,标签来源随之改变。最后在独立目标数据上测分类、检测等指标,检验预训练能否减少标签需求。

从旋转角度迁移到鸟类别。未标注预训练 → 少量标签适配 → 评价
未标注预训练 → 少量标签适配 → 评价

跨模态范围与本讲重点

可用于自监督的数据关系不限于图像,接下来聚焦视觉中的具体任务。

视觉、语言、语音与机器人

语言有上下文,语音有时间依赖,机器人观察有空间与交互结构。不同模态都可以从原数据构造目标。

视觉部分先研究空间、变换与重建任务,再研究统一的视图一致性目标。跨模态示例用于建立范围认识。

视觉、语言、语音与机器人。本讲重点:视觉表征
本讲重点:视觉表征

预测图像块的相对位置

物体部件有空间结构。预测两个块的关系可以推动编码器学习这种结构。

中心猫块与八个邻域位置

上下文预测(context prediction)选中心块,再从八个周边方向采样一块,预测相对位置。猫图输入中心脸部与右上耳部,标签 Y=3。

该实验设置为 96×96 块、约 48 像素间隔及 −7 到 7 像素抖动,减少依靠边界连续性解决任务的机会。两个分支共享参数,组合块特征后进行八分类。

中心猫块与八个邻域位置。两个输入块,八路位置标签
两个输入块,八路位置标签

最近邻是否反映对象内容?

最近邻(nearest neighbors)检索比较查询块在不同特征空间中的邻居。观察部件、结构与内容相似性,随机初始化作为基线。

图中 ImageNet 监督 AlexNet 与上下文预训练提供学习后的对照。少数检索示例是定性证据,还需要目标任务实验。

最近邻是否反映对象内容?。随机初始化、监督 AlexNet、自监督特征
随机初始化、监督 AlexNet、自监督特征

在 VOC 2007 检验检测迁移

检测表包含各类结果与 mAP(mean average precision,平均精度均值)。相同结构和协议下,自监督预训练改善了从头训练结果,监督预训练仍是重要参考。

应同时读初始化方式、结构与检测条件,不能把所有行当作只改变预训练的一次实验。空间关系的价值接下来扩展到多个块。

在 VOC 2007 检验检测迁移。从头训练、自监督与监督预训练
从头训练、自监督与监督预训练

用拼图学习多块结构

从两个块的相对关系扩展到多个块的整体排列。

打乱图像块,预测排列

拼图(jigsaw puzzle)任务把图像分块后打乱,让网络识别排列。虎图依次显示原图、分块和重排,目标由操作自动记录。

对象部件、纹理与空间关系可帮助解决任务,无需人工标注对象类别。

打乱图像块,预测排列。虎图:局部外观与整体结构
虎图:局部外观与整体结构

汽车例子:第 64 号排列

从 225×225 窗口建立 3×3 网格,每个 75×75 单元随机取 64×64 块,再选预定义排列。示例标签是排列编号 64。

输出概率向量第 64 个位置的目标为 1。64 是排列身份,块数始终为九;汽车与前面的虎图共享方法,但不是同一图像案例。

汽车例子:第 64 号排列。225×225 → 3×3 → 九个 64×64 块
225×225 → 3×3 → 九个 64×64 块

在分类、检测与分割中检验特征

拼图方法报告分类 67.6%、检测 53.2%、分割 37.6%,与相对位置等预训练比较。每列对应不同任务指标。

结果应与监督来源和预训练时间一起阅读,它支持多块结构可生成迁移特征。下面改用更简单的变换标签。

在分类、检测与分割中检验特征。Pascal VOC 下游结果
Pascal VOC 下游结果

通过旋转预测学习视觉常识

图像中许多对象有典型朝向,已知旋转能生成无需标注的分类目标。

自然朝向提供结构线索

旋转预测(rotation prediction)可能要求认识对象通常的形态与朝向。代理输出要区分旋转,不能把它描述为输出对旋转不变。

旋转对称或缺少典型方向的对象可能难以判断;任务提供学习动机,不保证学到全部语义。

自然朝向提供结构线索。观察对象形态,再判断旋转
观察对象形态,再判断旋转

四种角度,四路分类

同一鸟图旋转为四种输入,共享网络预测施加的角度。目标由变换程序生成,四分类交叉熵更新编码器与角度头。

预训练结束后,用类别、检测或分割头替换角度头,检验留下的表征。

四种角度,四路分类。0°、90°、180°、270°
0°、90°、180°、270°

CIFAR-10 的标签数量与表现

先在完整 CIFAR-10 训练图像上旋转预训练,再冻结 conv1、conv2,用不同规模标签子集训练 conv3 与线性层。横轴为每类标签数,纵轴为测试准确率。

观察小样本区间两条曲线的差异。这是部分层适配,不能等同于严格的单线性头探测。

CIFAR-10 的标签数量与表现。冻结 conv1/2,训练 conv3 与线性层
冻结 conv1/2,训练 conv3 与线性层

ImageNet 预训练,VOC 标签适配

ImageNet 全训练图像用于旋转预训练,Pascal VOC 2007 标签用于适配。表中旋转方法一组结果为分类 70.87、检测 54.4、分割 39.1。

对比无预训练与监督预训练时,需要保留表中指定层和评价协议;这些数值不适用于任意结构。

ImageNet 预训练,VOC 标签适配。分类、检测与分割的迁移
分类、检测与分割的迁移

从灰度预测图像颜色

颜色与对象、材质及场景相关,原彩色图同时提供输入与预测目标。

灰度输入,颜色输出

图像着色(image colorization)用亮度信息预测原图颜色。虎图经过表征网络得到颜色输出,任务可能需要局部纹理与更大范围结构。

灰度到颜色不是唯一映射;合理着色与识别准确率不同,最终要评价特征迁移。

灰度输入,颜色输出。图像自身提供着色目标
图像自身提供着色目标

Lab:亮度与颜色分开

Lab 色彩空间(Lab color space)分离亮度 L 与色度 a、b。H×W 图像中,L 为 H×W×1,ab 为 H×W×2。

同一鸟图先分通道,用 L 预测 ab,再合成 (L,ab)。2016 年着色和 2017 年跨通道工作都利用无需类别标注的目标。

Lab:亮度与颜色分开。L 一个通道,ab 两个通道
L 一个通道,ab 两个通道

跨通道预测与双分支表征

单向着色扩展为两组通道互相预测,再组合两侧特征。

两个子网络,互相预测通道

双分支自编码器(Split-brain Autoencoder)把输入分为 X₁、X₂;F₁ 从 X₁ 预测 X₂,F₂ 从 X₂ 预测 X₁,中间特征可拼接。

Lab 中亮度与色度互相预测;RGB-D(彩色与深度)中颜色与深度编码互相预测。HHA 深度编码表示水平视差、距地面高度和表面法线与重力夹角。

两个子网络,互相预测通道。X₁ → X₂;X₂ → X₁
X₁ → X₂;X₂ → X₁

在 Places 评价拼接特征

ImageNet 全训练集用于自监督,F₁/F₂ 特征拼接后在带标签 Places 数据上评价。横轴是网络层,纵轴是 Top-1 准确率。

曲线说明不同层的迁移特征有不同表现,监督基准与其他代理方法作为参考。

在 Places 评价拼接特征。ImageNet 自监督 → Places 场景分类
ImageNet 自监督 → Places 场景分类

观察真实着色结果

对比人物、食物、动物与场景中的结构边界和颜色合理性。颜色预测与真实颜色可能不同,不能据清晰结果直接断言识别能力。

单幅图利用空间结构;视频进一步提供同一对象随时间保持近似颜色的线索。

观察真实着色结果。灰度、原颜色与预测颜色
灰度、原颜色与预测颜色

视频颜色一致性

把颜色从一帧传到另一帧,需要跨帧建立位置对应。

从参考帧给后续灰度帧着色

视频着色(video colorization)给定参考彩色帧和目标灰度帧,预测目标颜色。t=0 参考帧提供颜色,t=1、2、3 目标帧提供待匹配内容。

对象位置会变,颜色传播要沿对象对应关系移动;时间颜色一致性成为学习线索。

从参考帧给后续灰度帧着色。同一区域随时间移动
同一区域随时间移动

先学习映射,再复制颜色

共享编码器从灰度帧提取特征,比较目标与参考位置,匹配权重作为软指针读取参考颜色。颜色流向由参考帧到目标帧。

目标帧真实颜色只参与损失,前向预测不能直接读取真值;降低着色误差推动对应关系学习。

先学习映射,再复制颜色。特征空间的软指针
特征空间的软指针

匹配、颜色复制与损失

固定目标位置,沿打分、归一化、汇总和训练四步理解计算。

目标位置 j 查询参考位置 i

参考帧有 R 个位置、目标帧有 T 个位置,两侧特征均为 d 维。固定目标 j,对参考位置 i 打分并归一化。

目标位置 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}=1

A 为 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,输出为参考颜色的凸组合;目标真值没有参与读取。

与目标帧真实颜色比较

原彩色视频目标帧提供真值 cⱼ。颜色预测损失经加权汇总与匹配权重传回编码器,推动特征建立准确对应。

与目标帧真实颜色比较。误差经匹配权重更新编码器
误差经匹配权重更新编码器
\min_\theta\ \mathbb{E}[\sum_{j=1}^{T}\mathcal{L}_{\mathrm{color}}(y_j,c_j)]

θ 是共享编码器参数,遍历目标位置并对训练采样求平均;颜色分布可用交叉熵,损失须与输出表示一致。

从着色到区域跟踪

能够传播颜色的匹配,也可能传播位置关联的其他信息。

参考颜色、灰度与预测颜色

比较参考彩色帧、目标灰度帧和预测结果,观察人物移动后颜色保持及边界误差。

参考帧提供可复制的颜色,目标帧的位置对应决定它们传播到哪里。这里保留的是静态结果帧。

参考颜色、灰度与预测颜色。第一组:人物移动与颜色传播
第一组:人物移动与颜色传播

颜色传播在另一段视频中怎样表现?

另一组视频展示穿黄色服装的人物。比较目标灰度帧与预测颜色,观察衣服颜色、轮廓和背景是否保持。

这与上一组来自独立视频,不能把两组静态帧拼成同一运动轨迹。后续使用相同匹配传播区域标记。

颜色传播在另一段视频中怎样表现?。第二组:黄色服装与人物轮廓
第二组:黄色服装与人物轮廓

把参考掩码传播到对象区域

图中高亮表示区域身份。参考帧给定区域掩码后,用学到的权重传到目标帧,检验对象对应是否保持。

预训练不需要跟踪标签;下游应用仍需要初始参考标记。必须区分训练监督与应用输入。

把参考掩码传播到对象区域。同一匹配读取区域标签
同一匹配读取区域标签

传播姿态关键点

姿态关键点(pose keypoints)标记关节位置。红色连接保留三个真实人物例子,用来检验位置关系传播。

颜色、掩码和关节点是不同信息,但都依赖图像位置对应。接下来回到单图缺失区域预测。

传播姿态关键点。从区域信息到位置标记
从区域信息到位置标记

图像修复:重建与对抗目标

从周围上下文推断缺失内容,分别约束像素一致性和视觉合理性。

可见上下文输入,缺失区域输出

图像修复(inpainting)随机遮挡区域,上下文编码器(Context Encoder)读取可见信息,解码器预测缺失内容,原图提供目标。

编码器通过这种推断学习可迁移特征,重建头负责训练任务。

可见上下文输入,缺失区域输出。Context Encoder 学习缺失区预测
Context Encoder 学习缺失区预测

重建与对抗学习各自约束什么?

二值掩码 M=1 表示缺失,输入为 (1−M)⊙x。生成器 F 预测,判别器 D 区分真实与重建;两者更新方向不同。

重建与对抗学习各自约束什么?。缺失区误差与真假区分
缺失区误差与真假区分
\mathcal{L}_{\mathrm{rec}}=\|M\odot[x-F((1-M)\odot x)]\|_2^2

x、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 最小化重建及对抗目标;实际判别区域须与实现一致。

同一窗户的四种结果

固定输入与遮挡区域,观察仅重建较平滑、仅对抗可能有纹理但内容不准、联合目标协调结构与视觉合理性。

清晰度与正确恢复、识别准确率和最佳迁移并非同一评价,需要各自检验。

同一窗户的四种结果。输入、重建、对抗、联合目标
输入、重建、对抗、联合目标

检验分类、检测与分割用途

ImageNet 训练图像用于预训练,VOC 2007 用于分类、检测,VOC 2012 用于语义分割。方法对应报告 56.5%、44.5%、30.0%。

读表时保留任务、预训练方式和协议。接下来把局部遮挡扩展为大比例图像块掩码。

检验分类、检测与分割用途。ImageNet → VOC 2007 / VOC 2012
ImageNet → VOC 2007 / VOC 2012

MAE:高掩码率与非对称重建

图像有冗余,遮挡太少可能让预测过于简单。高比例随机掩码要求利用更大范围的结构。

保留少量块,重建图像

掩码自编码器(Masked Autoencoder,MAE)由少量可见块预测被遮挡像素。每行依次为掩码输入、重建、重建与可见内容合成、原图。

比较 50% 与 75% 两行的可见信息与预测结构。输出合理性不能量化表征质量,其关键设计是仅编码可见块、用轻解码器重建。

保留少量块,重建图像。50% 与 75% 掩码率的猫图
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。若使用逐块归一化目标,预测与目标要采用相同尺度。

线性探测与全模型微调

重建和识别表现不同,比较时需要明确目标阶段更新哪些参数。

固定表征的质量与适配潜力

线性探测只训练线性头,衡量固定特征在受限读出条件下的可分性。全模型微调(full fine-tuning)更新编码器和任务头,衡量适配后的表现。

同一方法在两种协议中的排名可能不同。全模型微调可接线性或复杂输出头,不能把冻结和更新的结果混为一个指标。

固定表征的质量与适配潜力。冻结编码器 / 联合更新编码器
冻结编码器 / 联合更新编码器

MAE 消融与比较

控制变量,检查掩码模式、解码器与模型规模分别带来什么变化。

掩码比例与空间采样

消融实验(ablation study)改变设计项来识别贡献。随机 75% 掩码报告 ft 84.9、lin 73.5;连续块 75% 为 82.8、63.9;网格 75% 为 84.0、66.0。

相同比例仍可能因空间模式改变难度与表征。曲线分别对应微调和线性探测;其他待控制项包括解码深度/宽度、编码器 mask token、目标、增强与训练计划。

掩码比例与空间采样。随机、连续块、网格;ft / lin
随机、连续块、网格;ft / lin

解码深度与宽度影响评价

深度表 1–12 块的 ft 约为 84.4–84.9,lin 更敏感;8 块的 lin 为 73.5。宽度表 128–1024 维中,512 维的 lin 为 73.5。

更深、更宽并未持续提高指标。两个表是不同消融,不能把最佳值拼成未运行过的新配置。

解码深度与宽度影响评价。轻解码器足够,最佳值依协议
轻解码器足够,最佳值依协议

比较方法时同时读数据与规模

MAE 微调结果为 ViT-B 83.6、L 85.9、H 86.9、H448 87.8。模型和分辨率均影响结果。

多数方法自监督预训练使用 ImageNet-1K;BEiT 的 tokenizer 还使用外部 DALL-E 数据。表中比较不是严格相同外部资源的实验。

比较方法时同时读数据与规模。ViT-B / L / H 与输入分辨率
ViT-B / L / H 与输入分辨率

高掩码率重建可视化

极少可见内容下的预测具有不确定性,观察结构与细节怎样变化。

98% 与 95% 掩码重建

五列依次为原图、98% 掩码输入、98% 输出、95% 掩码输入、95% 输出。夜间人物和网球场中,可见块增加后轮廓与场景有所改善。

只有 2% 或 5% 内容可见,输出存在不确定性;比较同一行,不能把不同人物的结果互相对应。

98% 与 95% 掩码重建。第一组:夜间人物与网球运动
第一组:夜间人物与网球运动

高掩码率下的动作与水面

继续按相同五列观察人物姿态、水面和帆板。极少可见块可提示较大场景结构,细节与真实图像仍可能不同。

对比 98% 与 95% 的同一对象,关注新增可见内容怎样改变预测;这是实际重建结果的定性证据。

高掩码率下的动作与水面。第二组:人物与水上运动
第二组:人物与水上运动

人物与犬:轮廓和细节的差别

人物和犬分别构成两行,原图与两种掩码输入/输出保持对应。场景轮廓可以恢复,面部、毛发等细节仍可能模糊。

合理重建可能与唯一真实内容不同;重建图不能代替识别指标,特征仍需下游评价。

人物与犬:轮廓和细节的差别。第三组:背景结构与对象外观
第三组:背景结构与对象外观

传统任务的收获与局限

空间、变换、通道和时间都能产生信号,专门设计任务也有成本。

关注留下的特征与迁移用途

旋转、拼图、着色和修复偏重不同结构。代理任务做得好,还需要检查分类、检测与分割表现。

为任务定制规则繁琐,特征未必通用。下一步采用统一问题:同一图像经过不同处理,能否保持一致表征?

关注留下的特征与迁移用途。视觉常识 → 表征 → 下游评价
视觉常识 → 表征 → 下游评价

从变换一致性到正负对

同图多种视图共享来源身份,可用这层关系定义统一目标。

同图拉近,异图保持区分

对比表征学习(contrastive representation learning)把同一原图的另一视图作为正对(positive pair),其他图像作为负对(negative pair)。

原猫图及补全、旋转、拼图、灰度视图共享身份,另一来源图像提供负对。实例身份不等于语义标签;另一张猫图也可能成为负样本。

InfoNCE:从候选中找正样本

先定义对象与评分,再把相似度转成候选概率和优化目标。

正对得分高,负对得分低

编码器 f 把输入映射成向量,评分函数 s 比较两向量。希望正对分数相对负对更高,原始分数还不是概率。

仅扩大向量尺度可能令评分失控,后续 SimCLR 用归一化余弦和温度控制。

正对得分高,负对得分低。编码器 f 与评分函数 s
编码器 f 与评分函数 s

一个正样本与 N−1 个负样本

固定锚点 x,将正样本与 N−1 个负样本的分数指数化并归一化,得到正候选被选中的概率。

一个正样本与 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 路分类,目标类别是正样本在列表中的位置,来自视图配对关系。

负对数概率就是交叉熵。N 路分类:正样本的位置是标签
N 路分类:正样本的位置是标签
\mathcal{L}_N=-\mathbb{E}[\log p_+]

期望遍历锚点及正负采样;自然对数下以 nat 计。p+ 越大损失越小,均匀候选概率 1/N 对应 log N。

互信息下界需要抽样条件

标准推导中正样本来自联合关系,负样本独立从边缘分布抽样;下界是 log N 减损失,损失本身不是互信息下界。

互信息下界需要抽样条件。I ≥ log N − 𝓛N
I ≥ log N − 𝓛N
I(f(x);f(x^+))\geq\log N-\mathcal{L}_N

I 是互信息。增加 N 可提高下界可表达的上限,实际训练效果依评分、采样和优化;更多候选不保证每个设置都更好。

SimCLR:增强、编码与投影

用同一输入的两次随机增强形成正对,在投影空间进行对比。

共享编码器,两种随机视图

SimCLR(A Simple Framework for Contrastive Learning)采样两种增强 t、t′,共享编码器 f 输出表征 h,投影头 g 输出对比向量 z,下游通常保留 h。

共享编码器,两种随机视图。x → t / t′ → f → h → g → z
x → t / t′ → f → h → g → z
\operatorname{sim}(u,v)=\frac{u^\top v}{\|u\|_2\|v\|_2}

u、v 是同维非零向量,余弦在 −1 到 1 之间。实现需避免零范数;温度 τ>0 控制相似度进入 Softmax 的尺度。

增强定义要保留哪些信息

数据增强(data augmentation)生成不同外观的同源视图。图中展示裁剪、翻转、颜色、灰度、旋转、遮挡、噪声、模糊和边缘等选项。

SimCLR 的关键组合包括随机裁剪缩放、颜色扰动与高斯模糊。过强裁剪可能丢失主体,颜色不变性也可能舍弃某些任务需要的信息。

增强定义要保留哪些信息。随机裁剪、颜色扰动与模糊
随机裁剪、颜色扰动与模糊

SimCLR 批内配对与平均损失

每张原图产生两个视图,每个视图轮流成为锚点。

B 张原图,2B 个视图

固定锚点 i,同源另一视图 j 为正样本,其余 2B−2 个视图为负样本。分母排除自身,却必须包含正样本。

B 张原图,2B 个视图。排除自身,一正与 2B−2 个负样本
排除自身,一正与 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× 代表不同网络宽度,方法与规模都可能贡献表现。

冻结编码器评价线性分类。ImageNet 特征与带标签线性探测
ImageNet 特征与带标签线性探测

1% / 10% 标签用于微调

半监督适配(semi-supervised adaptation)先利用全部训练图像预训练,再用 1% 或 10% 类别标签微调。表中指标为 Top-5。

SimCLR ResNet-50 行对应 75.5 与 87.8,其他宽度另列。这与只训练线性头的协议不同。

1% / 10% 标签用于微调。允许编码器更新的少标签适配
允许编码器更新的少标签适配

h 与 z 承担不同职责

对比要求 z 对增强保持一致,可能丢弃颜色等信息。投影头将 h 与 z 分开,使 h 保留更多下游有用信息。

该实验中线性和非线性头优于无投影头,非线性较强;这是特定消融的支持,需要与其他任务条件区分。

h 与 z 承担不同职责。表征空间与对比投影空间
表征空间与对比投影空间

更多负样本与更大内存占用

当前批次提供负样本,扩大 B 增加候选。曲线比较 batch 256–8192 与不同训练轮次;大批量也需要保存更多反传激活。

原实验的分布式 TPU 是设备选择。把负样本数与当前批量分离,可以在较小批次下使用较大的字典,接下来学习 MoCo。

更多负样本与更大内存占用。批量和训练轮次共同影响表现
批量和训练轮次共同影响表现

MoCo:队列与动量编码器

保存历史键扩大负样本字典,同时保持历史特征相对一致。

查询反传,历史键保留在队列

动量对比学习(Momentum Contrast,MoCo)用查询编码器生成 q,键编码器生成同图另一增强的正键 k⁺,历史队列键作为负样本。

梯度仅经过查询分支,正键与历史键停止梯度。队列中的特征无需保留生成它们时的反传激活。

查询反传,历史键保留在队列。查询 fᵩ 与动量键 fₖ
查询 fᵩ 与动量键 fₖ

键编码器缓慢追随查询编码器

查询参数 θq 由优化器更新,键参数 θk 通过指数移动平均(exponential moving average,EMA)变化,减少新旧键特征空间的不一致。

键编码器缓慢追随查询编码器。EMA 保持历史字典一致性
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 轮条件下逐项加入设计。

投影头、增强与余弦计划贡献不同;读消融行才能判断改进来源。

非线性投影头与强增强。SimCLR 设计 + MoCo 队列
SimCLR 设计 + MoCo 队列

小批量也能使用大负样本字典

在 ResNet-50、200 轮设置中,MoCo v2 batch256 的线性准确率 67.5,SimCLR batch8192 为 66.6。队列解除了批量与负样本数量的绑定。

表中 800 轮与 1000 轮属于不同训练预算。小批量不能单独保证任意任务都更好。

小批量也能使用大负样本字典。batch 256 与 8192 的比较
batch 256 与 8192 的比较

显存与训练时间是不同指标

在 8 张 V100、200 轮估计中,MoCo batch256 为每 GPU 5.0G / 53h,end-to-end batch256 为 7.4G / 65h,batch4096 为 93.0G 且未给时间。

end-to-end 指相应 SimCLR 路径。保留硬件与批量才能解释资源差异;下一步考虑没有显式负样本的目标。

显存与训练时间是不同指标。给定硬件与轮次下的资源表
给定硬件与轮次下的资源表

DINO:无标签多视图蒸馏

缓慢更新的教师提供目标,学生匹配同图其他视图的输出分布。

自监督 ViT 的空间关注

DINO(Self-Distillation with No Labels,无标签自蒸馏)训练同图视图一致性。图中输入与关注区域展示与对象边界相关的结构。

它是定性空间证据,不等同于监督分割准确率。下面解释目标如何产生。

自监督 ViT 的空间关注。实际对象与注意力区域配对
实际对象与注意力区域配对

两个全局与多个局部视图

多裁剪(multi-crop)从同图生成两全局与多个局部视图。原 DINO 默认面积比例为全局 0.4–1.0、局部 0.05–0.4,缩放尺寸分别 224×224 与 96×96。

教师读两个全局,学生读两个全局与常用八个局部,共十个视图。教师停止梯度,学生从较小局部学习全局信息;裁剪面积比例与输出分辨率不同。

两个全局与多个局部视图。教师仅全局,学生全局与局部
教师仅全局,学生全局与局部

跨视图匹配教师原型分布

投影头输出 K 维原型分数,再转成分布。原型没有人工类别名称;两全局加八局部时,两教师各匹配九个学生视图,共 18 项。

跨视图匹配教师原型分布。排除同一视图,等权平均有效配对
排除同一视图,等权平均有效配对
\mathcal{L}_{\mathrm{DINO}}=\frac{1}{|\mathcal{P}|}\sum_{(u,v)\in\mathcal{P}}-\sum_{k=1}^{K}p_t^{(k)}(u)\log p_s^{(k)}(v)

𝓟 是教师全局 u 与同图其他学生 v 的配对,排除同一视图。pt、ps 为 K 维概率向量、各自和为 1;pt 停止梯度,只更新学生。原方法对有效项等权平均。

中心化、锐化与教师更新

没有显式负样本时,多个机制共同避免无信息的恒定输出。

中心化抑制单一原型主导

中心化(centering)维护教师原型分数的逐维 EMA。减去中心 c 降低某一原型长期占主导的倾向,c 是向量而非单一标量。

中心化抑制单一原型主导。教师 logits 减去逐维移动中心
教师 logits 减去逐维移动中心
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)用低教师温度放大分数差异,降低均匀输出的倾向;学生温度更高。中心化与锐化作用需要平衡。

低温度令教师分布更有区分度。教师 τt 低于学生 τs
教师 τt 低于学生 τs
p_s=\operatorname{softmax}(z_s/\tau_s),\qquad 0<\tau_t<\tau_s

zs 为学生 logits。温度控制相对分数尺度,低于 1 本身没有脱离 logits 尺度的绝对意义。

学生反传,教师通过 EMA 更新

表征坍缩(representation collapse)是不同输入产生相同无信息输出,例如总用同一原型或均匀分布。停止教师梯度、中心化、锐化与 EMA 等共同稳定训练。

局部视图是同图匹配输入,不是负例;没有显式负样本也不表示任意设置都保证不坍缩。

\theta_t\leftarrow\lambda\theta_t+(1-\lambda)\theta_s

θt、θs 为对应教师与学生参数,0≤λ<1。学生由梯度更新,再通过 EMA 更新教师,为下一轮生成较稳定目标。

DINOv2:规模化通用视觉特征

数据质量、模型规模与图像/块级目标共同影响冻结特征的通用性。

精选数据、大骨干与多层次目标

DINOv2 使用精选去重的 LVD-142M 图像,约为 ImageNet-22k 1400 万图像的十倍,训练 ViT-g 大骨干并蒸馏小模型。

预训练结合 DINO 图像级交叉熵、iBOT 掩码块级交叉熵和 KoLeo 特征分布正则。下游分层解码头属于任务应用;块级目标不是像素 MSE。

主成分分析(principal component analysis,PCA)图把 patch 特征映射到颜色,展示相关对象部位的对应。颜色表示特征分量,不是人工类别标记;定性观察仍需任务指标补充。

精选数据、大骨干与多层次目标。图像蒸馏 + 掩码块预测 + 特征正则
图像蒸馏 + 掩码块预测 + 特征正则

回顾:信号、表征与评价

用同一学习链路理解不同方法生成的监督与留下的能力。

三个问题串起自监督学习

传统任务用空间、变换、通道和时间;MAE 预测像素;SimCLR/MoCo 比较正负视图;DINO 匹配教师分布。它们都留下编码器与表征。

判断用途时,明确输入输出、数据来源、目标标签、冻结或更新范围以及下游指标,避免把代理分数直接当成应用能力。

三个问题串起自监督学习。监督从哪里来?留下什么?怎样评价?
监督从哪里来?留下什么?怎样评价?