术语表

扩散模型

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

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

了解更多

扩散模型是机器学习(ML)中的一类生成模型,因其生成高质量、多样化样本的能力而备受关注,尤其是在计算机视觉(CV)领域。受热力学概念的启发,这些模型的工作原理是在 "正向过程 "中系统地向数据(如图像)中添加噪声,直到数据变成纯噪声,然后学习逆转这一过程。反向过程 "包括训练一个神经网络,从随机噪声开始逐步去除噪声,并不断改进,直到生成一个真实的数据样本。

扩散模型的工作原理

核心理念包括两个阶段:

  1. 前向扩散过程:该阶段采用原始数据样本(如图像),并在多个步骤中逐渐添加少量高斯噪声。这个过程一直持续到原始图像与随机噪声无法区分为止。这一阶段是固定的,不涉及学习。
  2. 反向去噪过程:这就是学习的过程。一个模型,通常是一个复杂的神经网络架构(如U-Net),通过训练来预测前向过程中每一步所添加的噪声。在生成过程中,模型从纯噪声开始,利用其学习到的预测结果,在相同的步骤中逐步去除噪声,从而有效地逆转扩散并生成新的数据样本。通过这种逐步完善的方法,可以生成非常详细的输出结果。

与其他生成模型的比较

扩散模型与生成对抗网络(GANs)等其他流行的生成方法有很大不同。生成对抗网络涉及生成器和判别器的相互竞争,往往会导致训练的不稳定性,而扩散模型往往具有更稳定的训练动态。与 GANs 相比,扩散模型通常能获得更好的样本多样性和质量,不过它们在推理(生成)过程中通常需要更多的计算步骤,因此速度较慢。与学习压缩潜空间的变异自动编码器(VAE)不同,扩散模型通过噪声和去噪过程直接在数据空间中运行。稳定扩散(Stable Diffusion)是一种流行的变体,以高效和高质量输出而著称。

扩散模型的应用

扩散模型在需要高保真生成的任务中表现出色:

  • 文本到图像的合成 Google的 Imagen和 OpenAI 的 DALL-E 2 等模型利用扩散技术,根据文字描述生成详细的图像。用户可以提供提示,模型就会生成相应的视觉效果。
  • 医学图像分析它们可用于生成合成医学图像以增强训练数据、图像超分辨率以提高扫描质量,甚至通过学习健康组织的分布来进行异常检测等任务。例如,生成逼真的 MRI 或 CT 扫描图像可帮助训练人工智能诊断模型,而无需完全依赖有限的患者数据,对肿瘤图像分割等任务起到补充作用。
  • 其他领域:研究人员正在探索如何将它们用于音频生成、视频生成(如Google Veo)、用于药物发现的分子设计以及数据压缩。

框架,如 PyTorch等框架和Hugging Face 扩散等库提供了工具和预训练模型,使开发人员更容易尝试和部署扩散模型。它们生成多样化和高质量数据的能力使其成为生成式人工智能不断发展的有力工具。

阅读全部