JEPA4Japan · 教程

第 11 章——一台编码器、一个投影头、一张摘要卡

1,045字 3分钟阅读 #LeVJEPA#JEPA#视频自监督学习#SIGReg

理解共享 ViT、[CLS] 与两层 projector 的分工,以及 LayerNorm 为什么让投影空间成为必要接口。

课程进度 课程大纲 已发布 34/34 课

第 0 部分——先拿到地图

  1. 01 第 0 章——开始之前:这门课承诺什么 已发布
  2. 02 第 1 章——同一段视频,两扇不同的窗 已发布
  3. 03 第 2 章——沿着 Yann LeCun 的科研路线走一遍 已发布
  4. 04 第 3 章——别被名字绕晕:JEPA 家族树 已发布

第 1 部分——为什么简单目标会学会看视频

  1. 05 第 4 章——视频可以自己出题 已发布
  2. 06 第 5 章——保留意思,不重画每个像素 已发布
  3. 07 第 6 章——两张卡要相同,但不能全变成白纸 已发布
  4. 08 第 7 章——SIGReg:从许多影子检查一团点云 已发布
  5. 09 第 8 章——只用一行目标函数读懂 LeVJEPA 已发布

第 2 部分——把一段视频送进单编码器

  1. 10 第 9 章——全局视图与局部视图怎样配对 已发布
  2. 11 第 10 章——把视频切成时空小方块 已发布
  3. 12 第 11 章——一台编码器、一个投影头、一张摘要卡 当前课程
  4. 13 第 12 章——一次完整前向传播 已发布
  5. 14 第 13 章——为什么扔掉 95% 反而更会看 已发布
  6. 15 第 14 章——块因果注意力:同一帧互看,未来不能偷看 已发布
  7. 16 第 15 章——RoPE、逐帧 token 与意外长出的密集特征 已发布

第 3 部分——会读实验,才算读懂论文

  1. 17 第 16 章——四组消融究竟回答了什么 已发布
  2. 18 第 17 章——相同轮数不等于相同花费 已发布
  3. 19 第 18 章——ImageNet、K400、SSv2 各考什么 已发布
  4. 20 第 19 章——把论文结果记成一本账 已发布
  5. 21 第 20 章——哪些结论现在还不能说 已发布

第 4 部分——从官方仓库到自己的实验

  1. 22 第 21 章——官方仓库地图 已发布
  2. 23 第 22 章——Walking Tours:十段长视频怎样变成训练数据 已发布
  3. 24 第 23 章——读懂默认配置并启动训练 已发布
  4. 25 第 24 章——先跑一个不会骗人的冒烟测试 已发布
  5. 26 第 25 章——不用训练:加载公开权重提取特征 已发布
  6. 27 第 26 章——在自己的视频上做冻结评估 已发布

第 5 部分——把表征接回世界模型路线

  1. 28 第 27 章——重要边界:LeVJEPA 不是规划器 已发布
  2. 29 第 28 章——怎样把 LeVJEPA 接到下一代世界模型 已发布
  3. 30 第 29 章——十个从入门到论文级的研究项目 已发布

附录——随用随查的技术背包

  1. 31 附录 A——最低限度数学工具箱 已发布
  2. 32 附录 B——完整张量形状表 已发布
  3. 33 附录 C——术语表与论文时间线 已发布
  4. 34 附录 D——复现与审阅检查清单 已发布

一位读者、一张摘要卡、一间临时整理室

  1. 许多小块视频 token
  2. 一台 ViT所有视图共享
  3. 摘要卡读取 [CLS]
  4. 临时门厅投到 256 维
编码器负责学会“看”,[CLS] 汇总整段视频,projector 只为训练损失准备合适的房间。

想象一位图书管理员同时看一本书的全页照片和几个局部放大图。她没有为每张图雇一个人,而是用同一个大脑阅读,再各写一张“这页在讲什么”的摘要卡。训练老师要检查这些卡片的分布,却发现管理员的最终书写规则把卡片压在一个球面上。于是加了一间临时整理室,把卡片换成更适合检查的格式;毕业后,整理室拆掉,管理员留下。

这三个角色就是共享 ViT、[CLS] 和 projector。它们都可训练,但分工不同。

把三个角色对回零件表

ViT(Vision Transformer,视觉 Transformer)负责读 token;[CLS] 是放在序列开头、用来汇总整段 clip 的可学习 token;**projector(投影头)**则是只在预训练期间替损失整理特征的小网络。

零件输入与输出在训练中的工作训练后
共享视频 ViT Eθ每个视图的 token → 同宽度的输出 token全局、局部视图都复用同一组参数保留,作为下游编码器
[CLS]序列最前的一枚可学习 token汇总 clip;损失只直接读取它,而且它从不被随机丢弃保留,可作 clip 摘要
两层 projector hφd → 2048 → K,K=256Linear → BatchNorm → GELU → Linear;所有视图共享丢弃

论文把一个视图的训练嵌入写成:

z_v = hφ(Eθ(x_v)[CLS]) ∈ R^256

为什么不直接在编码器输出上做 SIGReg?ViT 最后一层的 **LayerNorm(层归一化)**会约束 [CLS] 的尺度,使表示落在受限的球面几何上;论文据此说明,SIGReg 在该空间里难以有效优化到各向同性高斯。projector 提供一个不受同样输出几何限制的训练接口。它和 V-JEPA 式 predictor 分工不同:projector 只变换本分支的表示,并不拿一支分支去猜另一支,也没有 target encoder 或 stop-gradient 与之配对。

仓库当前实现与附录一致:ViT-B 时 d=768,先得到形如 [B, V+1, 768] 的摘要,再投为 [B, V+1, 256]。下游任务回到编码器表示,而不是带走 projector。

画一次参数共享

拿一张纸画两条输入支路:一条 global、另一条 local。让两条箭头都进入同一个 Eθ 方框,再从 [CLS] 进入同一个 hφ。请把“第二台 EMA target encoder”“predictor”“stop-gradient”三张便签全部放到图外。若 B=8、V=4、d=768,请核对 projector 前后形状应为 [8,5,768] → [8,5,256]。

逐个零件核对

毕业时谁留下

  1. 所有视图经过同一台 ViT,并从各自的 [CLS] 读取 clip 摘要。
  2. projector 是 d → 2048 → 256 的两层训练头,用来绕开最终 LayerNorm 对 SIGReg 空间的限制。
  3. projector 会被丢弃;它不是 predictor,训练图里也没有 target encoder 或 stop-gradient。

零件小测

  1. 全局与局部视图是否各有一套独立 ViT 参数?
  2. 为什么需要 projector?
  3. 下游评估还使用这个 256 维 projector 吗?
打开零件表核对
  1. 不是,它们共享同一组编码器参数。
  2. 最终 LayerNorm 约束了编码器输出几何,projector 提供适合 SIGReg 优化的空间。
  3. 不使用;projector 在预训练后丢弃,下游读取编码器表示。