核心思想,一个先破坏再学习修复的逆向思维过程

星博讯 AI基础认知 1

想象一下教AI画画:

核心思想,一个先破坏再学习修复的逆向思维过程-第1张图片-星博讯网络科技知识-SEO优化技巧|AI知识科普|互联网行业干货大全

  • 传统方法(如GAN):直接学习一张完美的画是什么样的,然后尝试画出来,这很难,容易出错。
  • 扩散模型的方法:先把一幅画(训练数据)一点点地加上“噪点”,直到它变成一片完全随机的、没有意义的噪声。让AI学习这个过程的逆过程——如何从一片随机噪声中,一步步“去除噪点”,还原成一幅有意义的画。

这个“学习去噪”的过程,就是扩散模型的核心。


两大关键过程

扩散模型的工作流程分为两个明确的阶段:前向扩散过程反向去噪过程

前向扩散过程

目标: 将一张真实的图片(来自训练集)逐步、确定性地破坏成纯高斯噪声(就像电视雪花屏)。 过程

  • 从真实图片 ( x_0 ) 开始。
  • 在每一步 ( t ) (共 T 步,例如1000步),我们向图片中添加一点点高斯噪声。
  • 添加的噪声量由一个预设的噪声调度表 控制,通常随着步数增加,噪声量越来越大。
  • 经过 T 步后,图片 ( x_T ) 就变成了一个完全与原始图片无关的纯噪声,其分布是一个标准正态分布 ( N(0, I) )。

重要特性

  • 这是一个固定的、无需学习的马尔可夫链过程(每一步只依赖上一步)。
  • 得益于数学设计,我们可以通过一个公式,直接从 ( x_0 ) 计算出任意第 ( t ) 步的加噪结果 ( x_t ),而无需一步步迭代,公式为: [ x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon ]
    • ( \epsilon ) 是从标准正态分布采样的噪声。
    • ( \bar{\alpha}_t ) 是一个由噪声调度表决定的、随时间递减的系数,它控制着原始信号和噪声的混合比例,当 ( t = T ) 时,( \bar{\alpha}_T \approx 0 ),( x_T \approx \epsilon )。

反向去噪过程

目标: 学习一个去噪模型,能够将纯噪声 ( x_T ) 一步步变回一张合理的图片 ( x_0 )。 核心问题: 如何从 ( xt ) (第t步的含噪图片)预测出 ( x{t-1} )? 关键洞察(DDPM的贡献): 直接预测 ( x{t-1} ) 或去噪后的干净图片很困难,但作者发现,**预测在前向过程中添加到 ( x{t-1} ) 上以得到 ( x_t ) 的那个噪声 ( \epsilon )**,是一个更简单、更稳定的任务。

模型的学习目标

  1. 取一张真实图片 ( x_0 )。
  2. 随机选择一个时间步 ( t ) (1 到 T 之间)。
  3. 使用前向过程公式,生成 ( t ) 时刻的含噪图片 ( x_t )。
  4. 让一个神经网络(通常是 U-Net)根据 ( x_t ) 和 ( t ) (时间步信息会通过位置编码输入),去预测加入到 ( x0 ) 上的噪声 ( \epsilon\theta(x_t, t) )。
  5. 将模型的预测噪声 ( \epsilon\theta ) 与真实在前向过程中加入的噪声 ( \epsilon ) 进行比较,计算均方误差损失: [ L = ||\epsilon - \epsilon\theta(x_t, t)||^2 ]
  6. 通过梯度下降不断优化神经网络参数 ( \theta ),让它的预测越来越准。

核心组件:U-Net 模型

去噪神经网络通常是 U-Net 结构,它在图像生成中非常有效,因为它:

  • 具有编码器-解码器结构:能捕捉图片的全局上下文和局部细节。
  • 包含跳跃连接:防止在降采样和上采样过程中丢失重要信息。
  • 融入时间步信息:通过“时间步嵌入”,让网络知道当前正在进行哪一步的去噪,这对于学习不同噪声水平下的去噪策略至关重要。
  • 可能包含注意力机制:尤其是Transformer中的自注意力或交叉注意力层,用于建模图像不同区域之间的长程依赖关系(这对于生成结构一致的图像非常关键)。

训练与采样(生成)流程

训练阶段(只学去噪)

  1. 从数据集中采样一张干净图片 ( x_0 )。
  2. 均匀采样一个时间步 ( t \sim Uniform({1, ..., T}) )。
  3. 从标准正态分布采样噪声 ( \epsilon \sim N(0, I) )。
  4. 计算加噪后的图片 ( x_t )。
  5. 将 ( (xt, t) ) 输入U-Net,得到预测噪声 ( \epsilon\theta )。
  6. 计算 ( \epsilon_\theta ) 和 ( \epsilon ) 的损失,反向传播更新U-Net参数。
  7. 重复以上步骤直至收敛。

采样/生成阶段(运行逆过程)

  1. 从纯噪声 ( x_T \sim N(0, I) ) 开始。
  2. 从 ( t = T ) 到 ( t = 1 ) 循环:
    • 将当前噪声图 ( xt ) 和时间步 ( t ) 输入训练好的U-Net,得到预测的噪声 ( \epsilon\theta(x_t, t) )。
    • 根据一个采样器(如DDPM的公式或更快的DDIM)的更新规则,计算上一时刻的、噪声更少的图像 ( x_{t-1} )。
    • 公式基本形式包含:从 ( x_t ) 中减去预测的噪声,并添加一些随机性(方差)。
  3. 循环结束,得到生成的干净图片 ( x_0 )。

为何成功?优势与特点

  1. 训练稳定: 相比GAN,其训练目标(预测噪声)更简单明确,避免了判别器和生成器之间难以平衡的对抗博弈。
  2. 生成质量高: 逐步去噪的过程能产生细节丰富、多样性好的样本。
  3. 概率模型基础坚实: 基于变分推断和马尔可夫链,有良好的理论解释。
  4. 灵活性: 可以通过条件控制(如文本提示、类别标签、草图等)来引导生成过程,著名的 Stable Diffusion 就是在潜在空间进行扩散,并结合了CLIP文本编码器来实现文生图。
  5. 与人类创作过程的类比: 从模糊到清晰,与绘画、雕刻的过程有相似之处。

总结与核心公式提要

  • 前向过程(加噪): ( x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon ), (\epsilon \sim N(0, I))
  • 训练目标(核心): 最小化 ( ||\epsilon - \epsilon_\theta(x_t, t)||^2 )
  • 反向过程(生成): ( x_{t-1} = \frac{1}{\sqrt{\alpha_t}}(x_t - \frac{1-\alpha_t}{\sqrt{1-\bar{\alpha}t}} \epsilon\theta(x_t, t)) + \sigma_t z ), ( z \sim N(0, I) )

扩散模型的基本原理训练一个U-Net去预测并移除在不同噪声水平下添加到数据中的噪声,从而学会从随机噪声中一步步重构出具有复杂结构的数据分布。 这个优雅的“破坏-重建”范式,使其成为了当前生成式AI最重要的基石之一。

标签: 破坏 修复

抱歉,评论功能暂时关闭!

微信咨询Xboxun188
QQ:1320815949
在线时间
10:00 ~ 2:00