1.7 KiB
1.7 KiB
title, created, updated, type, tags, sources
| title | created | updated | type | tags | sources | ||||
|---|---|---|---|---|---|---|---|---|---|
| Self-Conditioning | 2026-05-13 | 2026-05-13 | concept |
|
|
Self-Conditioning
Self-conditioning 是一种不需要外部条件信号的扩散模型条件化技术:将模型自身的中间预测作为下一步的条件输入。
机制
训练
以 50% 概率执行双次前向 pass:
- 第一次 pass:
x̂' = net_θ(z_t, ∅, t)— 无条件的初步预测 - 第二次 pass:
x̂ = net_θ(z_t | x̂', t)— 以 x̂' 为条件
另 50% 概率执行标准无条件前向 pass:x̂ = net_θ(z_t, ∅, t)。
在 ELF 中,条件通过 concatenation [z_t, x̂'] 注入网络。
推理
推理时无需额外前向 pass:每一步的条件来自上一步的预测,形成自回归式的迭代细化:
step 0: z_0 ~ N(0,I), condition = 0
step i: x̂_i = net(z_i | x̂_{i-1}, t_i), z_{i+1} = z_i + dt·v̂_i
在 ELF 中的角色
Self-conditioning 为 classifier-free-guidance-language 提供条件信号 c = x̂':
v_cfg = ω · v(z_t | x̂') + (1-ω) · v(z_t | ∅)
这使得 ELF 可以在无条件生成任务中(无 class label / prompt)使用 CFG。
与自回归的区别
- 自回归:条件信号是之前生成的 token
- Self-conditioning:条件信号是之前时间步对完整序列的预测嵌入——提供了全局上下文信息
相关概念
- classifier-free-guidance-language — 使用 self-conditioning 作为条件信号
- embedded-language-flows — 使用此技术的模型
- x-prediction-parameterization — self-conditioning 预测的是 x̂(干净嵌入)