JEPA4Japan · 教程

第 8 章——只用一行目标函数读懂 LeVJEPA

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

拆开不变性损失与 SIGReg,解释唯一目标权重 λ=0.02、双向梯度和理论结论的适用边界。

课程进度 课程大纲 已发布 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. 共享机器encoder + projector
  2. 同片拉近不变性
  3. 整批撑开SIGReg
  4. 0.02一只权重旋钮
一句目标式装下两条规则:配对要相近,分布不能坍塌。

班主任给摘要卡设两项评分。第一项逐组检查:同一录像的大卡和小卡是否相似。第二项看全班:所有人的卡是否散得健康,而不是堆成一个答案。最后把第二项音量调到 0.02,再与第一项相加。没有秘密老师在背后提供标准卡,两边都根据总分一起修改。

最短、但不漏零件的记账式

先把一次前向写成最短记账式:

z_v = projector(shared_encoder(view_v)[CLS])
L_total = L_inv + 0.02 * L_SIGReg

view_0 是全局视图,view_1 ... view_V 是同一 16 帧窗口的局部视图。**projector(投影头)**是只在预训练损失前使用的小网络,**不变性损失(invariance loss)**衡量同片摘要的距离。论文把这一项写成:

L_inv = (1 / (V + 1)) * sum_{v=0..V} ||z_0 - z_v||²

当 v = 0 时该项为零;核心约束仍是每个局部嵌入靠近全局嵌入。均方距离的两端都保持计算图连接,梯度能同时更新全局与局部路径引用的同一组 encoder/projector 参数。

L_SIGReg 则在各视图嵌入上检查随机投影与标准正态的差异。总目标的唯一**权衡超参数(trade-off hyperparameter)**是 λ = 0.02;LeVJEPA 论文说明所有训练都沿用这个公开默认值,并未为各实验调参。这里的“唯一”只修饰两项损失之间的权重;学习率、批次大小、裁剪数量、丢 token 比率和模型尺寸仍各有设置。

训练框里有三样东西:一个共享的 Vision Transformer encoder(视觉 Transformer 编码器)、一个跨视图共享的小 projector,以及每个视图的 [CLS] 读出。projector 为 SIGReg 提供一个不受 encoder 最后一层 LayerNorm 球面约束的空间;预训练结束后它会被丢弃,下游回到 encoder 表征。

target encoder、predictor、stop-gradient 和被遮 token 的重建损失不在这个训练框里。官方代码的确会在参数更新后维护一份 Polyak/EMA encoder,并把 state_dict_ema 保存下来用于评估;由于它不参与上面的 z_v 或两项损失,画计算图时应把它放在框外。

最后,这条简洁式子只训练表征。动作 a_t、未来状态预测、奖励、代价和搜索均未出现在式中,所以 encoder 与 planner(规划器)之间还隔着一整套模块。

把旋钮接到正确位置

假设一次记录得到 L_inv = 0.30、L_SIGReg = 5.0,则 L_total = 0.30 + 0.02 × 5.0 = 0.40。若有人算成 0.02 × L_inv + L_SIGReg,请指出权重放反了。

逐项查原文

把公式折成三行

  1. 总目标是 L_inv + 0.02 × L_SIGReg。
  2. 全局和局部分支共享 encoder/projector,梯度流过两端。
  3. EMA 只给评估检查点;目标里没有教师、predictor、停梯度或规划器。

看一眼式子,再回答

  1. λ = 0.02 乘在哪一项上?
  2. projector 会在下游一直保留吗?
  3. 为什么官方有 EMA 文件却仍可说目标没有 EMA 教师?
算式与解释
  1. 乘在 SIGReg 项上。
  2. 不会,预训练后丢弃。
  3. 因为 EMA 只保存供评估,不生成目标且不参与损失计算。