(Song)Consistency Model 论文阅读
date
May 8, 2023
Last edited time
May 29, 2023 08:13 AM
status
Published
slug
(Song)Consistency-Model论文阅读
tags
DL
summary
2023.05.23@更加细致的读了一下
2023.05.26@修改了一处公式错误
type
Post
Field
Plat
基于 Song 的 EDM
主要思想是训练轨迹上的每一个点够做得到相同的 预测
Score-based Models
ODE 描述的反向过程为
我们设置 , where denotes the convolution operation.
就是
Consistency Models
Parameterization
回顾一下 diffusion 的采样过程,从先验分布 出发,推导采样过程:
Consistency Models 假设存在一个函数 ,对于上述过程中的每个点, 都能输出一个相同的值
即
并且对于轨迹的起点 ,我们有 。我们称这种约束为边界条件。一个有效的一致性模型必须尊重这个边界条件。
我们通过如下设计
where and are differentiable functions such that , and .
假如有了 ,那么生成过程,就是采样一个 ,然后一步到位:.
Sampling
- 单步采样
那么对于轨迹中任意一点,我们代入先验分布, 即可得到 。
这个就是相当于直接预测 了
- 多步采样
还可以通过交替去噪和噪声注入步骤多次评估一致性模型,以提高样本质量。
Train Consistency Model
Consistency Distillation
如果已经有了score function ,那么这个PF ODE就已经显式地确定下来了,consistency function要拟合的目标 就很明确。
为使用 ODE 求解器 进行求解得到的 .
由于ODE是确定的,我们当然可以直接采样 ,然后用PF ODE数值求解出 ,直接优化 。但是这样每对样本都要求解一遍ODE,效率很低。一种最简单的办法其实是直接监督一条轨迹上相邻两个点的模型输出一致. 在这种训练模式下假定的是已经获得score model,即 ODE中的solver通用解可以是:
其中 表示solver的更新方式, 得到一个处于该 ODE 轨迹上的样本对: .
在Euler solver中,这个项可以写成:
我们在这项工作中只考虑一步 ODE 求解器.
从一致性的角度来说,最终期望的结果应当是:
因此, 直接优化ODE轨迹上的两个点的一致性函数预测的距离.
如何满足边缘条件 ?
文章在附录 A.2 中给出了证明:
Consistency Training
没有预训练模型就意味着不存在score model , 因此需要重新定义:
定义 , 可以得到:
如果假定score model是存在的,那么这个无预训练的模型(CT)和蒸馏的模型(CD)应当是存在一定联系的,比如说实际上他们相差的就是score model,即我们认为的ground truth,所以会存在一点点误差。loss之间的关系可以写成:
进一步在没有 的情况下得出无预训练的consistency model的loss:
其中 .
Code
Experiment
PS: diffusion > CD > diffusion distillation > CT