【生成式AI】淺談圖像生成模型 Diffusion Model 原理
TLDR本课程介绍了Diffusion Model的基本原理,特别是Denoising Diffusion Probabilistic Model (DDPM)。Diffusion Model通过从高斯分布中采样噪声图像开始,然后通过去噪模块逐步去除噪声,最终生成清晰图像。模型在每一步都会考虑噪声的严重程度,并使用噪声预测器来预测并去除噪声。此外,还讨论了如何将文本信息融入图像生成过程中,以及训练模型所需的大量成对数据。
Takeaways
- 🖼️ Diffusion Model(扩散模型)是一种生成图像的方法,其中最著名的是Denoising Diffusion Probabilistic Model(DDPM)。
- 🌟 成功的图像生成系统如DALY、Google的ImageN和Stable Diffusion等都采用了类似的Diffusion Model。
- 📈 Diffusion Model的工作原理是从高斯分布中采样一个全是噪声的图像开始,然后通过去噪模块逐步生成清晰的图像。
- 🔄 这个过程称为Reverse Process(逆过程),类似于米开朗基罗的雕塑理念,即雕像本来就在大理石中,只是去掉了多余的部分。
- 🔄 Denoise模块(去噪网络)是Diffusion Model的核心,它通过逐步减少噪声来生成图像。
- 🔢 Denoise模块会根据当前去噪步骤的编号来调整其行为,这个编号从1999递减到1。
- 📊 Denoise模块内部包含一个Noise Predictor(噪声预测器),它预测并去除图像中的噪声。
- 📚 训练Noise Predictor需要成对的数据,通过人为添加噪声到图像中来创建训练数据,这个过程称为Forward Process(前向过程)或Diffusion Process(扩散过程)。
- 📝 若要生成与文本相关的图像,需要将文本信息加入到Denoise模块中,使模型能够根据文本描述生成图像。
- 📊 训练时,除了提供加噪后的图像和步骤ID,还需要提供文本输入,以便Noise Predictor能够学习如何根据文本生成适当的噪声。
Q & A
Diffusion Model是什么?
-Diffusion Model是一种生成模型,用于生成图像。它通过逐步去除噪声来生成清晰的图像。
Denoising Diffusion Probabilistic Model(DDPM)是什么?
-DDPM是Diffusion Model的一种,通过逐步减少噪声来生成图像,每一步都使用去噪模块来改善图像质量。
如何生成图像的第一步是什么?
-生成图像的第一步是从高斯分布中采样一个向量,这个向量的维度与要生成的图像大小相同。
Denoise的模块是什么?
-Denoise模块是一个网络,它的输入是含有噪声的图像,输出是去噪后的图像。
什么是Reverse Process?
-Reverse Process是从噪声生成图像的过程,它与Diffusion Process相反,后者是向图像添加噪声的过程。
Denoise的模型是如何工作的?
-Denoise的模型通过预测图像中的噪声并将其从输入图像中减去来工作。
为什么生成带噪声的图像比直接生成去噪后的图像更容易?
-因为生成带噪声的图像只需要模型理解噪声的模式,而直接生成去噪后的图像需要模型完全理解图像的内容。
Noise Predictor的作用是什么?
-Noise Predictor的作用是预测图像中的噪声模式,并生成相应的噪声图像。
如何训练Noise Predictor?
-通过人为地向图像添加不同级别的噪声,然后使用这些带噪声的图像和对应的噪声级别作为训练数据来训练Noise Predictor。
为什么需要大量的成对数据来训练图像生成模型?
-因为模型需要学习如何根据输入的文本描述生成相应的图像,这需要大量的文本和图像之间的对应关系来训练。
如何将文本信息整合到图像生成过程中?
-在Denoise的过程中,将文本信息作为额外的输入提供给模型,这样模型就可以根据文本描述来生成图像。
Outlines
🖼️ Diffusion Model Basics and Image Generation
The paragraph introduces the concept of Diffusion Models, specifically focusing on the Denoising Diffusion Probabilistic Model (DDPM). It explains how these models are used in successful image generation systems like DALY, Google's ImageN, and Stable Diffusion. The process begins with sampling a noise image from a Gaussian Distribution that matches the size of the desired image. A denoising module then iteratively removes noise to gradually reveal the image's content. The number of denoising steps is predetermined, and the process is described as a reverse process, akin to Michelangelo's concept of sculpting by removing the unnecessary parts of the marble to reveal the statue within.
🔍 How Denoising Works in Diffusion Models
This paragraph delves into the workings of the denoising module within Diffusion Models. It mentions that the module contains a Noise Predictor that predicts the noise in an image based on the current step of the denoising process. The module does not directly output a denoised image but rather predicts the noise and subtracts it from the input image. The paragraph also touches on the rationale behind using a Noise Predictor instead of an end-to-end model, suggesting that generating noise is less complex than generating an entire image. The training of the Noise Predictor is discussed, where the model is trained on artificially created noisy images, generated through a process called the Forward Process or Diffusion Process.
📚 Training Data and Incorporating Text into Image Generation
The final paragraph addresses the need for paired data when training image generation models that incorporate text. It contrasts the amount of data used in the speaker's assignment (70,000 images) with the vast dataset used by models like Lion, which contains 5.85 billion images. The paragraph highlights the diversity of Lion's dataset, which includes image-text pairs in multiple languages, explaining why these models can understand various languages. It then describes how to include text in the denoising process, suggesting that the denoising module should take both the image and a text description as input. The Noise Predictor within the module is adjusted to accept text as an additional input. The training process is also modified to include text along with the noisy image and step ID to generate appropriate noise.
Mindmap
Keywords
💡Diffusion Model
💡Denoising Diffusion Probabilistic Model (DDPM)
💡Gaussian Distribution
💡Denoise Module
💡Reverse Process
💡Noise Predictor
💡Forward Process
💡Lion
💡Text-to-Image Generation
💡Diffusion Process
Highlights
Diffusion Model是生成图像的一种模型,有多种变体。
知名的DDPM是Diffusion Model的一种。
成功的图像生成系统如DALY、Google的ImageN和Stable Diffusion都使用了Diffusion Model。
Diffusion Model的生成过程从采样一个充满噪声的图片开始。
采样的噪声图片是从高斯分布中得到的向量。
Denoise模块用于逐步减少噪声,最终生成清晰的图片。
Denoise过程被称为Reverse Process。
Diffusion Model的工作原理类似于米开朗基罗的雕塑理念,即雕像本就在石头中,只是去掉了多余的部分。
Denoise模块会根据噪声的严重程度进行调整。
Denoise模块内部包含一个Noise Predictor,用于预测图片中的噪声。
Noise Predictor的输入包括待去噪的图片和当前去噪步骤的编号。
Denoise模块不是直接输出去噪后的图片,而是输出噪声,然后从输入图片中减去噪声。
训练Noise Predictor需要成对的数据,即加噪后的图片和噪声。
加噪过程称为Forward Process或Diffusion Process。
训练数据是通过人为向图片中加入随机噪声来创建的。
如果要训练一个文本到图像的生成模型,需要文本和图像成对的数据。
Denoise模块在考虑文本时,会将文本作为额外的输入。
Noise Predictor在训练时会考虑文本描述,以生成适当的噪声。
DDPM的完整算法包括从原始论文中直接截取的算法步骤。
Diffusion Model的训练数据集通常非常庞大,如Lion数据库有58.5亿张图片。
训练数据集通常包含多种语言,使得模型能理解不同语言的文本。