深度学习模型——Diffusion | 扩散模型

1 评论 2066 浏览 10 收藏 8 分钟

在训练Diffusion模型时,我们可以遵循怎样的阶段?这篇文章里,作者围绕训练Diffusion的过程、应用Diffusion模型阶段等内容做了梳理和讲解,不妨来看一下。

高斯噪声:是一种符合正态分布的随机噪声。

一、训练Diffusion全过程

1. 数据准备

我们准备若干张真实图片作为模型训练和测试的基础数据。这些图片可以是各种类型的图像,如:风景、人物、动物、艺术品等,他们代表了模型需要学习和生成的图像类型。

2. 正向扩散过程

接下来就是对每张真实图片进行“数据扩散处理”,也就是逐渐添加高斯噪声。我们通过一些列连续的时间步(t=1,2,3….T),在每个时间步上向上一步得到的图片添加不同强度的高斯噪声。随着t的增加,噪声强度逐渐增大,图像的细节逐渐被噪声掩盖,知道最终在时间步T时,图像几乎完全被随机噪声覆盖,但仍保留了极其微弱的真实图像痕迹。

时间步具体多少怎么确定?

这个数值一般是一个迭代实验过程得出的,且可能因模型类型、应用场景、可用计算资源等因素有所不同。实践中Diffusion模型可能会使用如:100步、200步、500步等。具体数值会在相关论文、开源代码或实践经验分享中明确给出,实际应用中,我们可以参考这些值在结合自身需求进行适当的调整。

3. 逆向扩散过程 | 学习阶段

在训练过程中,给定一张带有噪声的图像,输入到UNet网络,会生成一个预测噪声图(UNet这块看不太懂可以看下面UNet的介绍),然后用原始噪声图减去预测噪声图,得出减噪后的图像,然后将减噪后的图像在输入到UNet网络,继续做相同的步骤,使其逐步逼近原始图像数据。

总结:

训练Diffusion模型时,首先使用正向扩散过程生成大量带有不同噪声级别的样本对(真实图片与对应时间步的噪声图片),然后使用这些样本对 来训练UNet去噪网络。通过反向传播算法更新网络权重,使网络在给定任何时间步t的图像时,能够准确的预测并去除噪声,逐步逼近真实的图像数据。

二、应用Diffusion模型阶段

逆向扩散过程 | 推理阶段

当模型训练完成后,就可以用来生成新的图像。此时,面对一张模糊的图片,可以直接应用已训练好的逆向扩散过程,即使用模型来预测并逐步去除其上的噪声,以达到增强清晰度的目的。

三、UNet

1. 定义

UNet是一种专门为图像分割任务设计的卷积神经网络,以其U行结构而得名。它包含一个编码器(左半部分),用于特征提取和下采样(缩小图像尺寸),以及一个解码路径(右半部分),用于特征上采样(放大图像尺寸)和重建。在去噪任务中,UNet被用来学习从带有噪声的图像中恢复出原始图像。

2. 作用

在Diffusion模型中,UNet承担着一个特定的任务-预测随机噪声。

UNet被用来逆向估计在给定当前带有噪声的图像的状态下,应该添加或减去什么样的噪声才能更接近原始、无噪声的目标图像。

3. 如何预测噪声?

1)输入有哪些

当前带有噪声的图像:不同阶段可能有所不同,如在Diffusion模型训练阶段,当前带有噪声的图像则是正向扩散后生成的噪声图像;在Diffusion模型使用阶段(图生图情况),当前带有噪声的图像则是用户输入的图片。

时间步信息(可能):可能会接收一个表示当前处于整个去噪过程哪个阶段的额外输入,帮助它勒戒应该去除多少噪声。

2)预测噪声过程

UNet会应用强大的特征提取和重建能力,对输入的带有噪声的图像进行分析。它会通过编码器部分提取图像的多层次特征,这些特征包含了图像的全局结构、局部细节以及噪声分布的线索。接着在解码器部分,UNet会逐步放大特征图,并结合跳跃连接传来的底层细节信息,来预测应该去除的噪声。

3)最终输出什么

UNet的输出是一个与输入图像同样大小的新图,但它不是一张普通的图像,而是一张噪声图,每个像素位置上的值代表了对该位置应该添加或减去的噪声强度(通常为某个范围内的连续数值)。这个噪声图指示了如何调整输入的带噪图像,使其更接近目标的清晰图像。

四、作用/优缺点

1. 作用

  1. 图像修复与增强:模型可以用来去除图像噪声、修复破损部分、甚至提升图像质量。
  2. 图生图

2. 优点

  1. 可以高质量生成:甚至达到难以区分真假的程度。
  2. 灵活性与多样性:可以根据提示词生成各种主题、风格、构图的图像。
  3. 适应多种数据类型:尽管已图像生成而知名,但是也可以应用于音频、视频等其他类型数据的生成

3. 缺点

  1. 计算成本高:去噪过程需要大量的计算资源(CPU、GPU)和内存,对硬件要求高。
  2. 参数调整复杂:模型包含总舵参数,需要精细调整已达到最佳性能,使用者需要有一定的专业知识。
  3. 依赖高质量数据与预处理:模型生成效果的好坏很大程度上取决于训练数据的质量以及预处理方法是否恰当。

本文由 @Luna 原创发布于人人都是产品经理。未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. Diffusion模型就像是给图片做“降噪SPA”,让模糊变清晰,还能“捏脸”出新图,不过得小心别“整形失败”哦!

    来自四川 回复