Lecture 03 学习讲义
正文
工具
按问题查找
学习信号与表示限制可见信息,怎样构成可验证的重建任务?

MAE 的正面证据,也要说清使用接口

原论文的端到端微调、最后块微调和线性读出,允许改变的计算不同。

MAE 的正面证据也依赖评价接口

独立阅读

MAE论文Table 3使用ImageNet-1K图像作自监督预训练,再端到端微调分类。ViT-L/16在224输入的top-1为85.9%;同表从零训练实现为82.6%。这里的结果支持:遮挡像素目标可以为较大视觉模型提供有效起点。它不是只看重建图好不好看。

论文Figure 9进一步指出,同一ViT-L表示的线性读出为73.5%,只微调最后一个块即可到81.0%。因此线性读出低,并不自动意味着这份表示不适合适配;评价允许改变多少计算,会影响判断。

这些是论文在明确训练与评价条件下的结果,不是本课程LAB 08的数字。阅读时区分三层:MAE原论文、当前教学卷积模型、页面里的16块索引图。它们分别提供研究实证、可运行学习链和透明机制。

学习信号与表示怎样判断表示支持了哪种使用方式?

先说明允许哪些参数改变,再比较结果

解释、算例与证据

P23 · 冻结读出和微调,在问不同的问题

把第一部分的方法转为使用与评价:冻结读出问现成表示,微调问适配起点,二者应各有协议。

P23 学习表示机制图,状态 1P23 学习表示机制图,状态 1线性读出编码器 · 冻结线性头 · 可训练现有特征能否读出?微调适配编码器 · 可训练任务头 · 可训练适配后能到哪里?空间迁移空间特征 · 按协议检测 / 分割头位置与边界可用吗?共同写明:新数据切分 · 标签预算 · 训练参数范围 · 任务指标

冻结编码器的线性读出、可训练编码器的微调和空间任务三种协议,训练范围与数据条件并列。

  • 线性读出
  • 编码器 · 冻结
  • 线性头 · 可训练
  • 现有特征能否读出?
  • 微调适配
  • 编码器 · 可训练
  • 任务头 · 可训练
  • 适配后能到哪里?
  • 空间迁移
  • 空间特征 · 按协议
  • 检测 / 分割头
  • 位置与边界可用吗?
  • 共同写明:新数据切分 · 标签预算 · 训练参数范围 · 任务指标
冻结编码器的线性读出、可训练编码器的微调和空间任务三种协议,训练范围与数据条件并列。 查看对应图解状态
查看完整图解

课堂讲述

第一种检查,冻结编码器,只训练一个线性读出。这在问:在这种受限的读出方式下,已经得到的特征有多可用? 第二种检查,允许部分或全部参数继续学习。这在问:以已有参数为起点,适配新任务能够达到什么结果?成功可能来自原有表示,也可能包含适配过程中重新学到的能力。 第三种,是把表示放进检测或分割,检查空间任务。它们需要的信息和训练接口又不同。所以报告“迁移很好”时,至少要补上迁移到哪里、训练哪些参数、使用多少标签、怎样切分新数据。对科研实践来说,这比只记一个 ImageNet 分数更有用。

冻结读出与微调分别在问什么?

独立阅读

冻结读出把 fθf_\theta 固定,只学习新头 Wh+bWh+b。它问“当前表示中,答案能否被这个受限读出取出?”kNN甚至不拟合新网络,但仍用训练标签建参考库,并依赖距离、归一化和k。微调允许编码器改变,问“这个起点经过给定适配后能做到什么?”

公平比较首先固定目标任务、原图划分、标签预算和评价规则。按原图先划分再生成视图,避免同一原图的两个裁剪分别进入训练和测试。超参数和停点用验证集选择,测试集用于最终报告。已经看过的保留结果可供探索,却不再是未知验收题。

冻结参数还不自动冻结所有状态。含BatchNorm时,运行统计可能在train模式改变;eval()、no_grad()与requires_grad_(False)控制不同对象。LAB 02保留这项实现选读,主讲先抓住“哪些参数可动,答案用在哪里”。

图示条件与公式约定

线性读出:冻结编码器,仅训练线性头;微调:注明解冻部分或全部;空间任务也须注明骨干训练范围。不能由一种协议结果替代另一种。

这条线索的展开与后续阅读

学习信号与表示怎样判断表示支持了哪种使用方式?

四点 XOR:信息存在,不等于一条直线能读出

把表示中的任务信息、输入身份和读出函数类分开,避免用单一失败作过强结论。

信息还在,与一条直线能读出是两件事

独立阅读

四点 h 为 (−1,−1)、(−1,+1)、(+1,−1)、(+1,+1),同号标签 0、异号标签 1。每一点都不同,标签由 h 完全确定;但两类位于对角,无法用一条直线完全分开。

左图四个 h 坐标:同号两角为标签 0、异号两角为标签 1;右图 z=h1h2 数轴,两个标签 1 输入都落在 −1,两个标签 0 输入都落在 +1,阈值为 0。每个数轴位置对应两个输入。
放大查看四点图 ↗ · 精确构造的四点读出:左图保留输入身份,右图用乘积改变可读形式。图中位置和标签由数据表确定,并非训练输出。

左图每个输入都有独立坐标,标签也完全由坐标确定;但同类占据对角,不能用一条直线把两类完全分开。右图只保留乘积 z=h1h2z=h_1h_2:两个异号输入都落在 −1,两个同号输入都落在 +1。现在一个零阈值 z<0z<0 就能正确读取标签;每个数轴位置合并了两个输入,图中不通过抖动伪造不同的 z 值。

h1 h2 标签 y z=h1h2
−1 −1 0 +1
−1 +1 1 −1
+1 −1 1 −1
+1 +1 0 +1

这个变换没有增加标签信息,并且合并了原来不同的输入身份。它是四点上的精确构造,不是某次训练得到的表征,也不能证明任意压缩都会改善读出,或少量训练样本一定能学出这个变换。

以下是备课用模拟追问,不是课堂实录。

学生:“既然左图不能画一条分界线,是不是标签信息已经丢了?”

教师:“先看数据表,每个 h 都仍唯一确定标签;失败的是单一直线这类读出。换一个乘积坐标后,一条阈值就足够。可是只看 z,你已不能恢复原来是哪一个同号角点。这正好把‘某任务的信息’‘原输入身份’和‘读出函数能否使用’分开。”

因此低维不必等于丢掉任务信息,线性失败也不必等于信息全无。LAB18 同时报告 XOR 读出与离散 bit 算例;把结论限定在明确的输入、标签和函数类上,比笼统说“表示越压缩越好”更准确。

学习信号与表示怎样判断表示支持了哪种使用方式?

读 LAB01:固定表示,只改变预算与读出

编码器始终不动,先固定标签预算比较读出,再固定读出比较预算。

同一表示,增加标签与改变读出是两种干预

独立阅读

LAB 01使用一个已有有监督CNN的32维表示,目标为MNIST数字是否≥5。640个目标样本与源模型训练/验证索引分离,目标再分256训练、128验证、256保留;图像统一右移2像素。

保存结果中,标签32→256时,kNN保留准确率从0.7148到0.9492;固定C=10的线性逻辑回归从0.6133到0.8359。编码器从头到尾未变,所以差别来自标签预算与读出使用方式,而不是编码器重新学了一次。

这提供一个很具体的学习动作:先固定预算比较两种读出,再固定读出比较预算。不要把这组结果误读成“自监督胜过监督”;源CNN本来就是监督训练的。也不要据单次差距断言表示中没有某种信息——正则强度和读出函数类都是竞争解释。

学习信号与表示怎样判断表示支持了哪种使用方式?

读 LAB02:按预定规则,接受迁移没有获胜

共享起点与数据顺序,比较head、late、all以及scratch,按最低验证CE选择。

解冻更多参数,不保证更好

独立阅读

LAB 02从同一十分类CNN出发比较head、late、all,并加入随机起点scratch。新任务仍是数字是否≥5;head只更新新头,late更新后部,all更新全网。三种迁移共享源checkpoint、新头初始化、数据顺序和训练轮数。

已有默认协议是256训练、128验证、4轮、Adam学习率0.002。保存的最低验证交叉熵为head 1.906、late 0.877、all 0.849、scratch 0.611。按预先确定的“最低验证CE”规则,这一次应选择scratch,而不是因为课程在讲迁移就偏爱迁移模型。

这个负结果有教学价值:迁移是一种可检验起点优势,不是身份保证。相同轮数并不等算力,相同学习率也未必给每种范围公平的调优机会。可进一步只改标签预算或位移,再事先确定新的验证协议;不能反复看同一测试集直到挑出喜欢的结果。

沿这个问题继续

基础路线选LAB 01;需要参数迁移再做LAB 02。XOR与域变化是解释某种失败时才打开的分支。

按问题回查的讲解与短练习(4)