术语表

扩散模型

了解扩散模型如何通过创建具有无与伦比的细节和稳定性的逼真图像、视频和数据,彻底改变生成式人工智能。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

扩散模型(DiffusionModels)是深度学习(DL)中一类强大的生成模型,尤其在创建高质量图像、音频和其他复杂数据类型方面获得了极大的关注。受热力学概念的启发,这些模型的工作原理是在数据中系统地添加噪声,然后学习逆转这一过程,从纯噪声中生成新的数据样本。这些模型能够产生多种逼真的输出结果,因此成为现代人工智能(AI)的基石。

扩散模型的工作原理

扩散模型的核心思想涉及两个过程:正向(扩散)过程和反向(去噪)过程。

  1. 前向处理:该阶段采用真实数据(如训练数据中的图像),并在多个步骤中逐渐添加少量随机噪音。最终,经过足够多的步骤后,原始图像与纯噪声(如老式电视屏幕上的静电)将无法区分。这个过程是固定的,不涉及学习。
  2. 反向过程:这就是学习的过程。模型(通常是U-Net 这样的神经网络架构)经过训练后,可以逐步消除增加的噪声。从随机噪声开始,模型反复去除预测噪声,逐步完善样本,直到它与原始训练分布的数据相似。通过这种学习的去噪过程,模型可以生成全新的数据。去噪扩散概率模型(DDPM)等关键研究为现代实现奠定了基础。

训练包括教会模型准确预测前向过程中每一步添加的噪声。通过学习这一点,模型隐含地学习了数据的底层结构。

关键概念和调节

有几个概念是扩散模型的核心:

  • 时间步:噪声的逐步添加和去除发生在一系列离散的时间步上。模型通常需要知道当前处理的是哪个时间步。
  • 噪声时间表:这定义了在前向过程中每一步添加噪音的程度。不同的时间表会影响训练和生成质量。
  • 调节:可以引导扩散模型生成特定的输出结果。例如,在 "文本到图像 "的生成过程中,模型根据文本描述(提示)的条件生成相应的图像。这通常涉及交叉注意等机制。

扩散模型与其他生成模型的比较

扩散模型与生成对抗网络(GAN)等其他流行的生成方法有很大不同:

  • 训练稳定性:扩散模型通常比 GANs 提供更稳定的训练,后者涉及生成器和判别器之间复杂的对抗游戏,有时可能无法收敛。
  • 样本质量和多样性:扩散模型通常在生成高保真和多样化样本方面表现出色,在某些基准测试中有时甚至超过了 GAN,但这往往是以较高的推理延迟为代价的。
  • 推理速度:传统上,利用扩散模型生成样本需要许多去噪步骤,因此推理速度比 GAN 慢。不过,对更快采样技术的研究正在迅速缩小这一差距。知识提炼等技术也在探索之中。

实际应用

扩散模式正在推动各个领域的创新:

  • 高保真图像生成: Stable DiffusionMidjourney 和Google 的Imagen等模型使用扩散技术,根据文字提示生成逼真的艺术图像。
  • 图像编辑和内画:它们可以智能地填充图像的缺失部分(内画),或根据指令修改现有图像(如更改样式、添加对象),从而实现强大的创意工具,如Adobe Firefly
  • 音频合成:扩散模型用于生成逼真的语音、音乐和音效,如AudioLDM 等项目。
  • 科学发现:在药物发现等领域的应用不断涌现,如生成新的分子结构,以及在物理学中模拟复杂系统。
  • 数据增强:通过扩散模型生成合成数据,可为物体检测图像分割等任务提供真实训练数据的补充,从而提高模型的鲁棒性,如 Ultralytics YOLO.

工具与开发

开发和使用扩散模型通常涉及以下框架 PyTorchTensorFlow.Hugging Face 扩散库等库提供了预训练模型和工具,简化了扩散模型的工作。Ultralytics HUB等平台可简化更广泛的计算机视觉工作流程,包括管理数据集和部署模型,从而补充生成式工作流程。

阅读全部