「扩散模型」首篇综述+论文分类汇总,谷歌&北大最新研究(2)
扫一扫
分享文章到微信
扫一扫
关注99科技网微信公众号
生成式建模的一个核心问题是模型的灵活性和可计算性之间的权衡。 扩散模型的基本思想是正向扩散过程来系统地扰动数据中的分布,然后通过学习反向扩散过程恢复数据的分布,这样就了产生一个高度灵活且易于计算的生成模型。
1、Denoising Diffusion Probabilistic Models(DDPM)一个DDPM由两个参数化马尔可夫链组成,并使用变分推断以在有限时间后生成与原始数据分布一致的样本。 前向链的作用是扰动数据,它根据预先设计的噪声进度向数据逐渐加入高斯噪声,直到数据的分布趋于先验分布,即标准高斯分布。 反向链从给定的先验开始并使用参数化的高斯转换核,学习逐步恢复原数据分布。
2、Score-Based Generative Models(SGM)上述DDPM可以视作SGM的离散形式。SGM构造一个随机微分方程(SDE)来平滑的扰乱数据分布,将原始数据分布转化到已知的先验分布: 和一个相应的逆向SDE,来将先验分布变换回原始数据分布: 因此,要逆转扩散过程并生成数据,我们需要的唯一信息就是在每个时间点的分数函数。利用score-matching的技巧我们可以通过如下损失函数来学习分数函数: 对两种方法的进一步介绍和两者关系的介绍请参见论文详情。 原始扩散模型的三个主要缺点,采样速度慢,最大化似然差、数据泛化能力弱。最近许多研究都在解决这些缺点,因此我们将改进的扩散模型分为三类: 采样速度提升 、 最大似然增强 、 数据泛化增强。 在接下来的三、四、五节我们将对这三类模型进行详细的介绍。
三、采样加速方法在应用时,为了让新样本的质量达到最佳,扩散模型往往需要进行成千上万步计算来获取一个新样本。这限制了diffusion model的实际应用价值,因为在实际应用时,我们往往需要产生大量的新样本,来为下一步处理提供材料。 研究者们在提高diffusion model采样速度上进行了大量的研究。我们对这些研究进行了详细的阐述。我们将其细化分类为三种方法:Discretization Optimization,Non-Markovian Process,Partial Sampling。 1、 Discretization Optimization 方法优化求解diffusion SDE的方法。因为现实中求解复杂SDE只能使用离散解来逼近真正的解,所以该类方法试图优化SDE的离散化方法,在保证样本质量的同时减少离散步数。 SGM 提出了一个通用的方法来求解逆向过程,即对前向和后向过程采取相同的离散方法。如果给定了前向SDE的离散方式: 那么我们就可以以相同的方式离散化逆向SDE: 这种方法比朴素DDPM效果略好一点。进一步,SGM向SDE求解器中加入了一个矫正器,从而让每一步生成的样本都有正确的分布。 在求解的每一步,求解器给出一个样本后,矫正器都使用马尔可夫链蒙特卡罗方法来矫正刚生成的样本的分布。实验表明向求解器中加入矫正器比直接增加求解器的步数效率更高。 2、 Non-Markovian Process 方法突破了原有Markovian Process的限制,其逆过程的每一步可以依赖更多以往的样本来进行预测新样本,所以在步长较大时也能做出较好的预测,从而加速采样过程。 其中主要的工作DDIM,不再假设前向过程是马尔可夫过程,而是服从如下分布: DDIM的采样过程可以视为离散化的神经常微分方程,其采样过程更高效,并且支持样本的内插。进一步的研究发现DDIM可以视作流形上扩散模型PNDM的特例。 3、 Partial Sampling 方法通过在generation process中忽略一部分的时间节点,而只使用剩下的时间节点来生成样本,直接减少了采样时间。 例如,Progressive Distillation从训练好的扩散模型中蒸馏出效率更高的扩散模型。对于训练好的一个扩散模型,Progressive Distillation会从新训练一个扩散模型,使新的扩散模型的一步对应于训练好的扩散模型的两步,这样新模型就可以省去老模型一半的采样过程。 具体算法如下: 不断循环这个蒸馏过程就能让采样步骤指数级下降。
99科技网:http://www.99it.com.cn

Lumachain的目标是帮助全球肉类行业实现创新, 解决包括劳动力短缺、通货膨胀
快资讯2022-09-15
