节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学。
针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。
合集:
《AIGC 面试宝典》已圈粉无数!
去噪扩散概率模型(DDPM)是一种新颖的高质量图像生成方法。现在事实证明,扩散模型可以轻松超越标准生成对抗网络(GAN)。
我们有一个正向过程和一个反向过程。前向过程向图像添加高斯噪声。这将导致均值和单位方差为零的高斯分布。在相反的过程中,我们尝试从高斯噪声分布中重新创建图像。
正向和反向过程是参数化的随机马尔可夫链,我们在其中重复应用转换内核。转变以逐步的方式发生。每一步仅依赖于上一步。
DDPM的前向和后向过程
转发过程
我们可以将扩散过程定义为随机微分方程。它包含确定性部分和随机部分。论文中,这与朗之万动力学有关。
前向过程定义如下。
我们可以通过以下方式重新参数化和离散化上述方程。
假设 t=T 是最后一个时间步。我们可以通过以下方式简化时间步 T 的分布。
现在,我们可以考虑收敛标准来推导出以下结果。
这意味着重复使用上述重新参数化最终会导致零均值单位方差高斯分布。
我们不使用固定方差 β,而是使用方差表 βₜ。我们随时间改变方差。
方差项定义了从一个样本到另一个样本的跳跃。在相反的过程中,在最初的步骤中,我们可以快速改变(我们有非常嘈杂的图像)。因此,我们使用更大的方差。然而,在最后的步骤中,我们必须小心地改变图像。因此,我们使用较小的方差。
然而,这是一个递归过程。如果我们想要计算 t=1000 时的分布,我们必须递归执行上述方程 1000 次。我们可以简化算法,直接计算任意时间步的分布。
我们可以使用上面的等式来避免递归。
逆向过程
我们想要从随机高斯噪声生成图像。这也是具有高斯转移的随机马尔可夫链。我们可以用下面的方式来写。
这是一个极其困难的问题。计算均值和方差涉及处理整个图像。因此,我们使用变分推理。由于后验分布的复杂性,我们将其描述为优化问题。现在,均值和方差是可学习的参数。
我们正在尝试近似反向分布。这类似于变分自动编码器中使用的方法。
变分自动编码器(VAE)
我们没有尝试优化对数概率,而是尝试最小化下限。
变分自编码器和 DDPM 有许多相似之处。然而,DDPM 以逐步的方式执行正向和反向过程。因此,我们可以用稍微不同的方式重新计算DDPM的优化过程。
现在我们可以使用马尔可夫链属性来进一步简化这一点。
所有项看起来都像 KL 散度,我们希望将它们最小化。最后一项包含解释相反过程的类似术语。第一项和第二项是常数。我们使用第三项来计算损失。
将上式乘以-1,我们可以推导出下式。
现在我们将通过以下方式进一步简化散度项。
所得分布也是高斯分布。我们可以重写,
我们可以用类似的方式编写反向步骤的参数化版本。我们使用与上面相同的方差。
在本文中,我们计算了我们的模型对噪声的近似程度。因此,损失略有不同。
现在,我们可以忽略常数项,并将损失定义为噪声之间的差异。
现在我们可以定义我们的训练算法。
我们向神经网络输入带有高斯噪声的图像。所得噪声必须接近真实噪声。
对于图像生成,我们执行相反的过程。这个过程类似于朗之万动力学。
CelebA-HQ 256 × 256 生成的样本
参考
Ho, J.、Jain, A. 和 Abbeel, P. (2020)。去噪扩散概率模型。