DDPM具体步骤

2024-01-09 23:06:07

一、前向过程(扩散过程)

在前向过程中,模型逐步向数据添加噪声,直到数据完全转化为无结构的噪声

这个过程可以用马尔可夫链来描述,其中每一步都向数据添加一小部分高斯噪声

  • 假设我们有一个初始数据分布 p(x0?)(例如图像)。
  • 在每个时间步 t,数据 xt? 通过添加高斯噪声转化为 \mathbf{x}_{t+1}。这个过程可以数学上表示为 \mathbf{x}_{t+1}=\sqrt{1-\beta_t}\mathbf{x}_t+\sqrt{\beta_t}\epsilon,其中 βt? 是预设的方差序列,? 是来自标准正态分布的随机噪声。
  • 经过足够多的时间步后,数据 xT? 变成了纯噪声。

二、反向过程(去噪过程)

在反向过程中,模型学习如何逐步从噪声中恢复出原始数据

反向过程同样是一个马尔可夫链,但是它试图从噪声中恢复出原始数据。

  • 在每个时间步 t,模型基于当前的噪声数据 xt? 和训练过程中学习到的参数,预测加入到 \mathbf{x}_{t-1}?的噪声 ?。
  • 这个预测噪声用于更新 xt? 来生成 xt?1? 的估计,数学上可以表示为\mathbf{x}_{t-1}=\frac1{\sqrt{1-\beta_t}}(\mathbf{x}_t-\frac{\beta_t}{\sqrt{1-\alpha_t}}\epsilon_\theta(\mathbf{x}_t,t)),其中 \begin{aligned}\alpha_t&=1-\beta_t\end{aligned} 且 ?θ? 是模型预测的噪声。
  • 通过重复这个过程,模型逐步恢复出更清晰的数据,直到最后恢复出原始数据 x0?

文章来源:https://blog.csdn.net/SmartDemo/article/details/135489815
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。