扩散模型是一种新型的生成模型,其灵感来源于非平衡热力学中的扩散过程。这种模型通过模拟从数据集中逐步添加噪声的过程,直至数据完全转化为噪声,然后再通过逆向过程从噪声中恢复出原始数据。扩散模型的起源可以追溯到2015年,当时有研究者提出了深度生成模型,这为后来的扩散模型奠定了基础。2018年,Diffusion Models被正式提出,它通过学习数据分布的逆过程,实现了更加稳定、多样化的样本生成。
扩散模型的技术发展经历了几个重要的阶段。最初,扩散模型被用于图像生成任务,并在这一领域超越了原有的生成对抗网络(GAN)成为新的SOTA(State of the Art)。随后,扩散模型的应用领域逐渐扩展到自然语言处理、波形信号处理等多个领域。扩散模型的核心思想是模拟数据从有序状态向无序状态的扩散过程,以及相反的从无序状态恢复到有序状态的逆扩散过程。这两个过程共同构成了扩散模型的完整生命周期。
在前向扩散过程中,模型逐步向数据中引入噪声,直至数据完全转化为噪声。这个过程可以看作是一个马尔可夫链,其中每个状态只依赖于前一个状态。具体来说,模型通过以下步骤实现数据的逐步噪声化:1. 从数据点开始,逐步添加噪声,生成一系列中间状态。2. 每一步添加噪声的过程遵循高斯分布,使得最终状态接近于标准正态分布。
逆向扩散过程是前向扩散过程的逆操作,目标是从噪声状态恢复出原始数据。这个过程同样是一个参数化的马尔可夫链,通过以下步骤实现数据的逐步去噪:1. 从噪声状态开始,逐步去除噪声,生成一系列中间状态,直至恢复出原始数据。2. 在每一步中,模型需要学习如何从当前状态预测前一状态,这通常通过训练一个神经网络来实现,该网络能够预测在每一步中添加的噪声。
扩散模型的训练目标是使神经网络能够准确预测在前向扩散过程中添加的噪声。这通常通过最小化预测噪声和实际噪声之间的差异来实现。一旦模型训练完成,就可以通过逆向扩散过程从纯噪声中生成新的数据样本。
扩散模型的类型包括Denoising Diffusion Probabilistic Models (DDPMs),这类模型通过逐步添加噪声到数据中,形成一个正向扩散过程,然后学习如何从噪声中恢复出原始数据,即进行反向扩散。扩散模型在多个领域展现出其强大的应用潜力,包括计算机视觉、自然语言处理、时间序列分析、多模态研究以及跨学科领域如生物信息学、金融数据生成等。