噪音的艺术

与Pytorch从头开始理解和实施扩散模型。

来源:走向数据科学

在我的最后几篇文章中,我谈到了生成深度学习算法,这些算法主要与文本生成任务有关。因此,我认为现在要切换到图像生成的生成算法会很有趣。我们知道,如今,已经有许多专门用于生成图像的深度学习模型,例如自动编码器,变量自动编码器(VAE),生成对抗网络(GAN)和神经样式转移(NST)。实际上,我也有一些关于这些主题也发布在媒介上的著作。如果您想阅读它们,我会在本文末尾为您提供链接。

在今天的文章中,我想讨论所谓的扩散模型,这是图像生成深度学习领域中最有影响力的模型之一。该算法的想法首先是在题为“深度无监督学习”的论文中提出的,使用Sohl-Dickstein等人撰写的非平衡热力学。早在2015年[1]。然后,Ho等人进一步开发了他们的框架。 2020年,在其论文中,标题为denoising扩散概率模型[2]。 DDPM后来由OpenAI和Google改编成开发Dalle-2和Imagen,我们知道这些模型具有产生高质量图像的令人印象深刻的功能。

扩散模型 使用非平衡热力学的深度无监督学习 等。 剥离扩散概率模型 ddpm

扩散模型的工作原理

一般而言,扩散模型通过从噪声产生图像来起作用。我们可以将其视为一位艺术家,将画布上的油漆飞溅变成了美丽的艺术品。为此,需要先训练扩散模型。需要两个主要步骤来训练模型,即向前扩散和向后扩散。

正向扩散 向后扩散
图1。前向和向后扩散过程[3]。
潜在空间 t 反向

Pytorch实施

火炬 torchvision matplotlib TQDM #codeBlock 2 outputdevice(type ='cuda') #(1) #(2) image_size #(3) x
TQDM
#codeBlock 2 outputdevice(type ='cuda') #(1) #(2) image_size #(3)x