DDPM入门
- 前言
- [1 生成:从随机噪声出发,逐步形成新样本](#1 生成:从随机噪声出发,逐步形成新样本)
前言
接着上篇 【扩散模型DDPM】扩散模型入门理解(1),理解完成噪声生成的推导,模型训练之后。那么当模型训练完成之后如何生成呢,毕竟模型唯一个一个预测功能是噪声预测,而且上一个小节明确说了,模型训练完成之后,随机采样一个噪声去预测,但是用噪声预测网络去预测噪声没啥用啊。下面我们深入分析这个问题。
1 生成:从随机噪声出发,逐步形成新样本
训练完成后,我们不再输入真实样本,而是先随机生成:
x T ∼ N ( 0 , I ) x_T \sim \mathcal{N}(0, \mathbf{I}) xT∼N(0,I)
然后从 t = T t = T t=T 开始,反复调用网络,根据预测的噪声计算去噪更新,逐渐得到 x T − 1 , x T − 2 , ... , x 0 x_{T-1}, x_{T-2}, \dots, x_0 xT−1,xT−2,...,x0。
这里有两个关键点:
- 模型并不是在找回某个指定的训练样本,而是在生成一个符合所学分布的新样本。
- 去噪并非简单地"减掉全部预测噪声";具体更新包含与时间步有关的系数,在经典 DDPM 中,中间步骤通常还会加入一定的随机噪声。