Lecture 03 学习讲义
正文
工具
按问题查找
学习信号与表示视图关系怎样成为学习目标,又会牺牲什么?

在 z 上比较,梯度仍然改变 h

解释、算例与证据

P12 · 训练时比较 z,使用时读取 h

解释训练空间与使用空间可以不同,同时明确投影头不截断梯度,也不保证保存一切。

P12 学习表示机制图,状态 2P12 学习表示机制图,状态 2使用:冻结编码器,训练受限读出编码器 f · 冻结h投影头 gz线性读出 · 可训练新标签监督读出h 是下游可以检查的表示;“投影头之前”本身不是信息保留保证。

图像、编码器f、h、投影g、z及对比损失路径;第二状态从冻结h接出可训练线性读出。

  • 使用:冻结编码器,训练受限读出
  • 编码器 f · 冻结
  • h
  • 投影头 g
  • z
  • 线性读出 · 可训练
  • 新标签监督读出
  • h 是下游可以检查的表示;“投影头之前”本身不是信息保留保证。
图像、编码器f、h、投影g、z及对比损失路径;第二状态从冻结h接出可训练线性读出。 查看对应图解状态
查看完整图解

课堂讲述

SimCLR 在视觉编码器后面增加一个投影头。编码器得到 h,投影头把它变成 z,对比损失作用在 z 上;用于下游任务时,可以取投影头之前的 h。 这就给两个位置不同的分工可能:z 更直接服务于当前的视图比较,h 可能保留一些下游还用得上的变化。原工作通过实验比较了投影头的设计,这不是只为了多加几层。 但请注意,“提供这种可能”和“保证这种分工”不是一回事。损失仍然会通过投影头影响前面的编码器。我们不能看到这张结构图,就宣布某种颜色、边界或者其他细节一定安全地保存在 h 里。接下来用你们的问卷例子检查这个推论。

在 z 上比较,为什么 h 仍会学习?

独立阅读

训练路径是 x→fθ→h→gϕ→z→Lx\to f_\theta\to h\to g_\phi\to z\to L。投影头不是一道截断墙:链式法则中 ∂L/∂θ=(∂L/∂z)(∂z/∂h)(∂h/∂θ)\partial L/\partial\theta=(\partial L/\partial z)(\partial z/\partial h)(\partial h/\partial\theta),梯度穿过g更新f。迁移时读取h,是选择另一个使用接口。

考虑一个可行构造:h=(u,c)h=(u,c)分别含形状与颜色,g(h)=ug(h)=u。两视图颜色不同但形状相同,那么z可以满足颜色不变性,而h仍有位置放颜色。这解释了投影头为什么可能缓和“训练要忽略”与“未来要保留”的冲突。

这个构造不保证网络一定学成这样。LAB 06的真实换色训练中,h的颜色5NN读出也接近机会水平(不等于所有读出都无法取得颜色);有时z的形状读出反而优于h。正面理解是投影头提供了分工空间,实证问题则是训练后哪一层对哪项任务更有用。

图示条件与公式约定

f 是视觉编码器,g 是投影头。预训练的损失经 g 传播到 f;读出时冻结 f 并训练线性头。采用 h 不构成特定属性保留保证。

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

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

四点 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 算例;把结论限定在明确的输入、标签和函数类上,比笼统说“表示越压缩越好”更准确。

沿这个问题继续

读h=(u,c)构造,再看LAB 06的实际h/z表;需要区分信息与线性可读时读XOR块。

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