
第一章 從整體視角理解 V-JEPA 2 Stage 1第1節 V-JEPA 2 為什么先做 Representation LearningV-JEPA 2 的整體訓練過程可以理解為兩個大的階段:Stage1:RepresentationLearning→Stage2:DynamicsLearning\boxed{\text{Stage 1:Representation Learning}\rightarrow\text{Stage 2:Dynamics Learning}}Stage1:RepresentationLearning→Stage2:DynamicsLearning?其中第一階段訓練 V-JEPA 2,第二階段訓練 V-JEPA 2-AC。第一階段并不使用機器人動作,也不要求模型直接學會控制機器人,而是先利用互聯網規模的視頻和圖像建立一個好的視覺表征空間(Visual Representation Space)。所謂“表征”,可以先簡單理解成:把復雜的 RGB 圖像或視頻轉換成神經網絡更容易理解、比較和預測的一組數字。假設一張 RGB 圖像是xtx_txt?,Encoder 是EEE,那么:zt=E(xt)z_t=E(x_t)zt?=E(xt?)其中ztz_tzt?就是這張圖像在神經網絡內部的潛在視覺表示(Latent Visual Representation)。因此第一階段真正要解決的問題不是:如何精確生成下一幀RGB像素?\text{如何精確生成下一幀RGB像素?}如何精確生成下一幀RGB像素?而是:如何建立一種能夠描述物體、場景、運動和時空關系的視覺表示?\boxed{\text{如何建立一種能夠描述物體、場景、運動和時空關系的視覺表示?}}如何建立一種能夠描述物體、場景、運動和時空關系的視覺表示??可以用一個類比理解。高中物理在研究運動以前,需要先定義:位置;速度;時間;坐標系。如果連“狀態應該怎樣表示”都沒有定義好,就很難進一步討論動力學。V-JEPA 2 Stage 1 的作用類似于:先學習神經網絡自己的“世界狀態坐標系”。Stage 2 才會在這個坐標系里面學習:當前狀態→未來狀態\text{當前狀態}\rightarrow\text{未來狀態}當前狀態→未來狀態以及加入 Action 后的:當前狀態+動作→未來狀態\text{當前狀態}+\text{動作}\rightarrow\text{未來狀態}當前狀態+動作→未來狀態整個邏輯可以表示為:Internet Videos + ImagesStage 1V-JEPA 2 PretrainingLearned Visual RepresentationV-JEPA 2 EncoderFreeze EncoderStage 2Dynamics Learning因此,理解 V-JEPA 2 時最重要的第一句話就是:Stage1主要學習“世界應該怎樣表示”,而不是直接學習機器人控制。\boxed{\text{Stage 1 主要學習“世界應該怎樣表示”,而不是直接學習機器人控制。}}Stage1主要學習“世界應該怎樣表示”,而不是直接學習機器人控制。?第2節 整體 Stage 1/Stage 2 與 Primary/Cooldown 不要混淆論文整體訓練包含:Stage 1:V-JEPA 2 Pretraining Stage 2:V-JEPA 2-AC Post-training但是 V-JEPA 2 Stage 1 自己內部又存在兩個訓練時期:Stage 1:V-JEPA 2 Pretraining │ ├── Primary Phase │ └── Cooldown Phase因此不能把:Primary Phase;Cooldown Phase;V-JEPA 2-AC;理解成三個同級模型階段。Primary 和 Cooldown 都在訓練同一個 V-JEPA 2 表征模型,只是輸入視頻長度、空間分辨率以及學習率調度發生變化。論文主要設置可以概括為:參數Primary PhaseCooldown PhaseFrames1664FPS44Crop Size256256 / 384 / 512Global Batch Size30723072Weight Decay0.040.04EMA0.999250.99925Tubelet Size22Patch Size1616Spatial Mask Scale[0.15, 0.7][0.15, 0.7]Temporal Mask Scale[1.0, 1.0][1.0, 1.0]Mask Aspect Ratio[0.75, 1.5][0.75, 1.5]可以簡單理解成:Primary Phase: 短一些的視頻 + 較低空間分辨率 ↓ 先把主體能力訓練出來 ↓ Cooldown Phase: 更長視頻 + 可選更高空間分辨率因此本文提到的 Stage 1 始終指完整的:V-JEPA2Pretraining\boxed{\text{V-JEPA 2 Pretraining}}V-JEPA2Pretraining?第二章 Stage 1 到底使用什么訓練數據第1節 論文嚴格條件下的 VideoMix22MV-JEPA 2 Stage 1 使用的大規模預訓練集合稱為VideoMix22M(VM22M)。它并不是純視頻數據,而是由四類視頻數據與 ImageNet 圖像混合構成。論文給出的主要構成為:數據集數量類型采樣權重Something-Something v2168KEgo Video0.056Kinetics733KExo Video0.188HowTo100M1.1MExo Video0.318YT-Temporal-1B19MExo Video0.188ImageNet1MImage0.250總樣本規模約為 2200 萬,視頻覆蓋超過百萬小時量級。因此嚴格論文 Stage 1 數據條件可以寫成:Large-ScaleVideos+Images\boxed{\text{Large-Scale Videos}+\text{Images}}Large-ScaleVideos+Images?這里完全沒有:Robot Action;End-Effector State;Reward;Robot Task Label。因此 Stage 1 天生屬于無動作預訓練(Action-Free Pretraining)。第2節 ImageNet 圖片為什么也能和視頻一起訓練圖片只有一個時間點,而 V-JEPA 2 輸入通常是一段視頻。論文采用一個非常簡單的辦法:在時間維度重復同一張 ImageNet 圖片。例如一張圖片xxx可以構造成:x1=x2=?=x16=xx_1=x_2=\cdots=x_{16}=xx1?=x2?=?=x16?=x因此模型看到的是:Frame 1 = Image A Frame 2 = Image A Frame 3 = Image A ... Frame 16 = Image A它雖然沒有真實運動,但仍然可以提供大量:物體外觀;空間結構;場景;紋理;語義;方面的信息。所以 Stage 1 是在視頻運動信息和高質量靜態視覺信息之間進行聯合表征學習。第3節 如果自己的數據只有視頻還能不能訓練可以。假設自己的數據只是:video_0001.mp4 video_0002.mp4 video_0003.mp4 ...沒有任何人工標簽,也完全沒有 Action。依然可以做:V-JEPA2Stage1Self-SupervisedPretraining\boxed{\text{V-JEPA 2 Stage 1 Self-Supervised Pretraining}}V-JEPA2Stage1Self-SupervisedPretraining?因為 Stage 1 的監督信息來自視頻本身。但是需要區分兩個概念:第一,算法是否成立?答案:成立\boxed{\text{成立}}成立?第二,是否嚴格復現論文 VM22M 數據分布?答案:不是\boxed{\text{不是}}不是?所以更準確的說法應該是:使用 V-JEPA 2 Stage 1 方法在自己的 Video-Only 數據集上進行自監督預訓練。第三章 視頻如何進入 V-JEPA 2第1節 為什么不能直接把每個像素作為 Transformer Token假設視頻有 16 幀,每幀:256×256256\times256256×256如果每個像素都是一個 token,那么光一幀就有:256×256=65536256\times256=65536256×256=65536個位置。16 幀就會達到:16×65536=104857616\times65536=104857616×65536=1048576個位置。這對 Transformer 的 Self-Attention 來說計算量太大。所以 ViT 類方法通常先把圖像切成 patch。V-JEPA 2 進一步把視頻切成時空管塊(Spatiotemporal Tubelet)。第2節 2×16×16Tubelet是什么意思論文使用:2×16×16\boxed{2\times16\times16}2×16×16?的 Tubelet。三個數字分別對應:Time×Height×Width\boxed{\text{Time}\times\text{Height}\times\text{Width}}Time×Height×Width?即一個 token 覆蓋:連續 2 幀;高 16 pixels;寬 16 pixels。假設輸入:16×256×25616\times256\times25616×256×256那么時間方向:16/2=816/2=816/2=8高度方向:256/16=16256/16=16256/16=16寬度方向:256/16=16256/16=16256/16=16所以整個視頻最終得到:8×16×16=20488\times16\times16=20488×16×16=2048個時空 token。16 Frames256 × 256Tubelet Size2 × 16 × 16