扩散模型DDPM基本原理详解

DDPM:Denoising Difussion Probabilistic Model去噪扩散概率模型 

Diffusion Models 的灵感来自non-equilibrium thermodynamics(非平衡热力学)。理论首先定义扩散步骤的马尔可夫链,以缓慢地将随机噪声添加到数据中,然后学习逆向扩散过程以从噪声中构造所需的数据样。

U-Net

从而,网络的训练流程为:

  1. 我们接受一个随机的样本

  1. 我们随机从 1 到 T 采样一个 t;

  1. 我们从高斯分布采样一些噪声并且施加在输入上; 

  2. 网络从被影响过后的噪声图片学习其被施加了的噪声。

  3. 需要将步数 t 也编码并传入网络之中。DDPM采用正弦位置编码(Sinusoidal Positional Embeddings)。这一方法的输入是shape为 (batch_size, 1) 的 tensor,也就是batch中每一个sample所处的t ,并将这个tensor转换为shape为 (batch_size, dim) 的 tensor。这个tensor会被加到每一个残差模块中。

非平衡热力学

“nonequilibrium thermodynamics”(非平衡热力学)指的是一门研究物理系统在不处于平衡状态时的行为和规律的科学。在非平衡热力学中,系统不是静态的,而是在持续变化中,例如温度、压力或化学成分在时间和空间上的变化。这种热力学分析常应用于研究复杂系统如何在不同状态之间转换,尤其是那些涉及能量传递和物质转移的过程。

在扩散概率模型的背景下,这种启发可能具体指的是:

系统状态的演化:模型可能考虑了系统状态如何随时间演变,类似于非平衡热力学中研究的动态系统。 

随机性和熵的增加:非平衡热力学关注系统在不稳定状态下如何向熵增的方向发展,类似的,扩散模型可能在模拟数据生成时引入随机扰动,使得生成的数据逐渐从无序状态向有序状态转变,或者模拟从高噪声状态向清晰状态的转变。---熵增定律、往无序的方向发展。

渐进式有损解压缩方案

渐进式有损解压缩方案:所谓“渐进式”,指的是数据(例如图像或音频)从压缩或低质量状态逐步恢复到高质量状态的过程。在这个过程中,数据质量逐渐提升,每一步都会添加更多的细节。这与我们平时观看在线视频时,视频从模糊到清晰的加载过程相似。“有损”则意味着在这个解压缩过程中,某些原始数据可能会丢失,不会完全恢复原始状态ÿ

相关推荐

  1. DDPM扩散模型数学推导

    2024-07-19 16:42:04       36 阅读
  2. Pytorch实现扩散模型DDPM代码解读篇1】

    2024-07-19 16:42:04       28 阅读
  3. Pytorch实现扩散模型DDPM代码解读篇2】

    2024-07-19 16:42:04       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 16:42:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 16:42:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 16:42:04       62 阅读
  4. Python语言-面向对象

    2024-07-19 16:42:04       72 阅读

热门阅读

  1. windows下flutter国内镜像恢复成外网链接

    2024-07-19 16:42:04       18 阅读
  2. Amazon Bedrock 常用场景及 Python 实现

    2024-07-19 16:42:04       20 阅读
  3. go语言web框架:Echo超详细一文搞透

    2024-07-19 16:42:04       19 阅读
  4. OJ-0718

    2024-07-19 16:42:04       22 阅读
  5. 【Python中的垃圾回收机制是什么】

    2024-07-19 16:42:04       22 阅读
  6. 基于深度学习的人脸表情识别系统

    2024-07-19 16:42:04       23 阅读
  7. Rancher

    Rancher

    2024-07-19 16:42:04      21 阅读
  8. 5、在共享内存无指针编程:句柄HANDLE转换为指针

    2024-07-19 16:42:04       22 阅读
  9. 探索单片机的光耦:定义、作用与应用

    2024-07-19 16:42:04       23 阅读
  10. C 语言实例 - 使用引用循环替换数值

    2024-07-19 16:42:04       23 阅读