← pinyu.ai
Generative AI × Representation Learning

Self-Flow

Self-Supervised Flow Matching for Scalable Multi-Modal Synthesis——生成模型不需要外部「家教」,正确的训练信号能让它自己长出理解力。
pinyu 2026.03 Self-Flow · BFL ↗
Thesis

Self-Flow 证明了一个反直觉的事实:生成模型不需要借助判别模型的表征。通过 Dual-Timestep Scheduling 制造训练时的信息不对称,模型自己就能长出强语义理解——在图像、视频、音频上全面超越依赖外部编码器的方法,并且遵循预期的 scaling laws。

00

像素修复师

Flow Matching 会画画,但不「理解」

Flow Matching 的训练目标是预测从噪声到数据的速度场(velocity)。给定一张被加噪的图片 xt,模型学习的是「这些像素应该往哪个方向挪」。

问题在于:这个信号太局部了。模型只需要看周围几个像素的统计规律就能完成去噪——它永远不需要理解「这是一只狗」。像素对了,损失就低了,训练就结束了。

Noisy xₜ image tokens Flow Model DiT / UNet Velocity v pixel-level What model learns Pixel reconstruction ✓ Semantic understanding ✗ Can paint a dog, doesn't "know" it's a dog
后果

收敛慢——缺乏全局语义指导,模型需要海量迭代才能学到结构。结构错误——六根手指、断裂的文字,因为模型不「理解」对象的结构。内部表征差——中间层特征无法用于分类或检索,生成能力与理解能力脱节。


01

请错了家教

DINO 越强,生成越差——Scaling 的反面

之前的解法叫 REPA(Representation Alignment):用一个预训练好的判别模型(如 DINO)作为「家教」,让生成模型的内部特征去对齐家教的特征。逻辑很直觉——借一个已经「理解」图像的模型,教会生成模型也去理解。

初始版本确实有效:对齐 DINOv2-B(86M 参数)后 FID 从基线显著下降。自然推论:换一个更大更强的 DINO 应该更好。但实验结果完全相反:

DINO 越强 → FID 越差(反向 Scaling)
DINOv2-B (86M)
5.89
DINOv2-L (300M)
worse
DINOv3-B
worse
DINOv3-H+ (1B+)
worst

模型越大越强,生成质量反而越差。这不是训练 bug,而是一个结构性矛盾——判别模型和生成模型对「好表征」的定义根本冲突

DISCRIMINATIVE SPACE (DINO) dogs cats cars GAP GAP GENERATIVE SPACE (NEEDED) dogs cats cars smooth transition Clusters + gaps → good for classification, bad for sampling Continuous manifold → every point is a valid sample
DINO 的特征空间

同类紧聚,异类隔开。类间留有清晰的鸿沟——对分类很好。但生成需要从一个类连续过渡到另一个类,鸿沟意味着不可采样的死区。

vs
生成需要的特征空间

连续过渡、保留纹理和光照细节、平滑流形上处处可采样。不需要分类边界,需要的是每个方向都有意义的平滑梯度。

根因

判别模型做的是破坏性压缩(destructive compression):它主动丢弃纹理、光照、姿态等「分类无关」信息以获得不变性。DINO 越强,丢得越彻底。但生成模型恰恰需要这些被丢弃的细节——你不可能让学生去对齐一个连目标信息都不包含的教师。


02

不均匀的雾

用噪声程度的差异制造信息不对称

标准 Flow Matching 对所有 token 施加同一噪声程度 t。模型面对的是一张「均匀模糊」的图——每个像素一样不清楚,局部去噪就够了,不需要跨区域推理。

Dual-Timestep 的核心创新:给不同 token 施加不同程度的噪声。一部分 token 看得清(噪声 s,较小),另一部分看不清(噪声 t,较大)。模型被迫用清楚的推断模糊的——这就需要全局语义联系

拖动滑块观察不同噪声配置下的 token 状态
0.80
0.20
25%
noise s (cleaner) noise t (noisier)
模型必须用看得清的 token 推断看不清的 token → 被迫建立全局语义联系

为什么不直接遮掉部分 token(binary masking)?因为推理时所有 token 都是同一噪声水平——训练时搞二值遮掩会产生 train-inference gap。

Naive 遮掩 / Diffusion Forcing

训练:有 / 无的二值掩码
推理:连续噪声
分布不匹配 → 质量下降

vs
Dual-Timestep(本文)

训练:两种不同程度的噪声
推理:连续噪声
分布兼容 → 无缝迁移

关键保证

每个 token 单独看仍然在正常噪声分布内——只是不同 token 的噪声程度不同。这意味着 Dual-Timestep 训练出的模型可以直接用标准 Flow Matching 推理,零额外成本

xτ = diag(1 − τ) · x0 + diag(τ) · x1
where   τi = s  if token i is masked,   t  otherwise

03

自己教自己

EMA 自蒸馏 + Dual-Timestep = 完整方法

Dual-Timestep 制造了信息不对称,但光有不对称还不够——模型需要一个学习目标来引导表征的方向。Self-Flow 的做法:用自己的 EMA 副本(教师)提供表征目标。

学生看到不均匀加噪的输入(多数 token 噪声为 t,少数为 s),教师看到更清晰的版本(所有 token 噪声均为 s)。学生的任务:从残缺视角重建教师在完整视角下的特征

x₀ Clean data DUAL-TIMESTEP x_τ x_τmin mixed noise cleaner Student f_θ Gradient update Teacher f_θ' EMA slow update EMA Velocity v Features layer 0.3D Features layer 0.7D L_gen L_rep L L_gen + γ·L_rep Student reconstructs teacher's features from a noisier view → forced to learn semantics Generation loss prevents collapse · Representations scale with model size

为什么这套设计能赢过借用外部编码器的方案?三条结构性原因:

  1. 自监督信号和生成目标长在同一个网络里——不需要在两套坐标系之间做翻译。REPA 需要一个 projector 把 DiT 特征投影到 DINO 空间,这个 projector 本身就是信息瓶颈。Self-Flow 没有这个问题。
  2. 生成损失是天然的坍缩防护——如果表征退化,生成的图就会变糊,Lgen 暴涨,梯度会把特征拉回来。这比 DINO 的 centering + sharpening 更直接、更可靠。
  3. 表征随模型规模自然增长——教师就是学生自己的 EMA,模型变大,教师也变大,不存在 REPA 那种「86M 的 DINO 教 1B 的 DiT」的外部瓶颈。

04

全面领先

所有模态、所有规模,Self-Flow 均为最优

Self-Flow 在四个模态上用同一套方法超越了各自依赖外部编码器的基线:

ModalityMetricSelf-FlowREPAWinner
ImageNet FID ↓ 5.70 5.89 Self-Flow
Text-to-Image FID ↓ 3.61 3.92 Self-Flow
Text-to-Video FVD ↓ 47.81 49.59 Self-Flow
Text-to-Audio FAD ↓ 145.6 148.9 Self-Flow

Scaling:差距随模型规模拉大

更关键的是 Self-Flow 在 scaling 时表现出预期的行为——模型越大,效果越好,且与 REPA 的差距持续扩大:

Self-Flow(绿)vs REPA(红)· FID ↓ 越低越好
290M
SF
290M
REPA
420M
SF
420M
REPA
625M
SF
625M
REPA
1B
SF
1B
REPA

注意 Self-Flow 625M 的绿条已经超过了 REPA 1B 的红条——用 60% 的参数达到更好的效果。这就是 scaling 不被外部瓶颈卡住时的正常样子。

多模态发现

视频和音频的结果尤其有趣:REPA 用的外部编码器(V-JEPA2 用于视频、MERT 用于音频)非但没帮忙,反而降低了生成质量。这进一步印证了核心论点——外部判别模型的表征不适合生成任务,不仅仅是图像如此,跨模态普遍成立。Self-Flow 用同一套方法同时改善了所有模态。

局限

教师网络需要额外一次前向传播,训练开销增加约 30-50%。噪声调度器 p(t) 的形状需要调优。自举(bootstrapping)的理论上限未知——自己教自己是否存在天花板,目前没有证明。

Takeaway

好的表征不是绝对的,它是相对于你要用它干什么而言的。向别人借来的「理解」,再好也不如自己在实践中长出来的。

生成 ⊇ 理解。理解可以从生成中涌现。