扩散模型
了解扩散模型如何通过创建具有无与伦比的细节和稳定性的逼真图像、视频和数据,彻底改变生成式人工智能。
扩散模型是一类生成模型,已成为现代生成式人工智能的基石。它们旨在创建与训练数据相似的新数据,如图像或声音。其核心思想受到热力学的启发。该模型学习如何逆转逐渐向图像中添加噪音的过程,直到图像变成纯静态为止。通过学习这种 "去噪 "过程,模型可以从随机噪音开始,逐步将其细化为连贯的高质量样本。这种逐步完善的过程是其能够生成高度精细和逼真的输出结果的关键。
扩散模型如何运作?
扩散模型背后的过程包括两个主要阶段:
- 前向处理(扩散):在这一阶段,通过在多个步骤中添加少量高斯噪声,系统地降低清晰图像的质量。这样一直持续到图像与纯噪声无法区分为止。这个前向过程是固定的,不涉及任何学习;它只是为模型提供了一个学习逆向的目标。
- 反向处理(去噪):这是学习的过程。经过训练的神经网络可以从正向处理过程中获取噪声图像,并预测上一步中添加的噪声。通过反复减去预测的噪声,模型可以从完全随机的图像(纯噪声)开始,逐渐将其转换为干净、清晰的图像。这一学习去噪过程使模型能够从头开始生成新数据。基础论文《去噪扩散概率模型》为这一方法奠定了基础。
扩散模型与其他生成模型的比较
扩散模型与生成对抗网络(GAN)等其他流行的生成方法有很大不同。
- 训练稳定性:与 GANs 相比,扩散模型的训练过程通常更为稳定。GANs 涉及生成器和判别器之间复杂的对抗博弈,有时难以平衡,可能无法收敛。
- 样本质量和多样性:虽然两者都能生成高质量的结果,但扩散模型通常擅长生成高度多样化和逼真的图像,在某些基准测试中有时甚至优于 GAN。然而,这种质量可能以较高的推理延迟为代价。
- 推理速度:传统上,扩散模型生成样本的速度较慢,因为它们需要许多迭代去噪步骤。相比之下,GAN 只需一次前向传递即可生成样本。不过,积极的研究和知识提炼等技术正在迅速缩小这一速度差距。
实际应用
扩散模式正在推动各领域新一轮的创造和创新:
工具与开发
开发和使用扩散模型通常需要使用PyTorch和TensorFlow 等机器学习框架。为了简化开发工作,像抱脸扩散库这样的库提供了预训练模型和工具。虽然这些工具侧重于生成模型本身,但Ultralytics HUB等平台可以帮助管理更广泛的工作流程,包括数据集管理和部署,从而补充综合人工智能解决方案的开发。随着这些模型的普及,考虑人工智能伦理和应对算法偏见等挑战至关重要。