课程进度 课程大纲 已发布 34/34 课
第 0 部分——先拿到地图
第 1 部分——为什么简单目标会学会看视频
第 2 部分——把一段视频送进单编码器
第 3 部分——会读实验,才算读懂论文
第 4 部分——从官方仓库到自己的实验
第 5 部分——把表征接回世界模型路线
附录——随用随查的技术背包
两条规则,一只音量旋钮
- 共享机器encoder + projector
- 同片拉近不变性
- 整批撑开SIGReg
- 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,请指出权重放反了。
逐项查原文
- LeVJEPA arXiv v1:目标函数、双向梯度与
λ = 0.02 - LeVJEPA 官方仓库快照:完整训练配方与 EMA 评估说明
- 固定快照
module.py:模型与损失实现 - LeJEPA arXiv v3:SIGReg 理论来源
把公式折成三行
- 总目标是
L_inv + 0.02 × L_SIGReg。 - 全局和局部分支共享 encoder/projector,梯度流过两端。
- EMA 只给评估检查点;目标里没有教师、predictor、停梯度或规划器。
看一眼式子,再回答
λ = 0.02乘在哪一项上?- projector 会在下游一直保留吗?
- 为什么官方有 EMA 文件却仍可说目标没有 EMA 教师?
算式与解释
- 乘在 SIGReg 项上。
- 不会,预训练后丢弃。
- 因为 EMA 只保存供评估,不生成目标且不参与损失计算。