稳定扩散:生成式AI背后的基本直觉

推荐:使用NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景

介绍

在过去的几年里,人工智能的世界已经戏剧性地转向了生成式建模,无论是在计算机视觉还是自然语言处理方面。Dalle-2和Midjourney引起了人们的注意,使他们认识到在生成AI领域正在完成的杰出工作。

目前生成的大多数AI生成的图像都依赖于扩散模型作为其基础。本文的目的是阐明围绕稳定扩散的一些概念,并提供对所采用方法的基本理解。

简化架构

此流程图显示了稳定扩散架构的简化版本。我们将逐一介绍它,以更好地了解内部工作原理。我们将详细说明训练过程以更好地理解,推断只有一些细微的变化。
稳定扩散:生成式AI背后的基本直觉_第1张图片

输入

稳定扩散模型在图像字幕数据集上进行训练,其中每个图像都有一个描述图像的关联标题或提示。因此,模型有两个输入;自然语言的文本提示和大小(3,512,512)的图像,具有3个颜色通道和尺寸为512的尺寸。

附加噪声

通过将高斯噪声添加到原始图像,将图像转换为完全噪声。这是在随后的步骤中完成的,例如,将少量噪声连续50步添加到图像中,直到图像完全噪声。扩散过程旨在消除这种噪声并再现原始图像。如何做到这一点将进一步解释。

图像编码器

图像编码器用作变分自动编码器的组件,将图像转换为“潜在空间”并将其调整为较小的尺寸,例如 (4, 64, 64),同时还包括额外的批处理维度。此过程可降低计算要求并增强性能。与原始扩散模型不同,稳定扩散将编码步骤合并到潜在维度中,从而减少了计算,并减少了训练和推理时间。

文本编码器

自然语言提示由文本编码器转换为矢量化嵌入。此过程采用转换器语言模型,例如基于 BERT 或基于 GPT 的 CLIP 文本模型。增强的文本编码器模型显著提高了生成图像的质量。文本编码器的结果输出由每个单词的 768 维嵌入向量数组组成。为了控制提示长度,将最大限制设置为 77。结果,文本编码器生成维度为 (77, 768) 的张量。

联合国与网络

这是架构中计算成本最高的部分,主要的扩散处理发生在这里。它接收文本编码和嘈杂的潜在图像作为输入。该模块旨在从收到的噪声图像中重现原始图像。它通过几个推理步骤来实现这一点,这些步骤可以设置为超参数。通常 50 个推理步骤就足够了。

考虑一个简单的场景,其中输入图像通过连续 50 个步骤逐渐引入少量噪声来转换为噪声。这种累积的噪声添加最终将原始图像转换为完全噪声。UNet的目标是通过预测在前一个时间步增加的噪音来扭转这一过程。在降噪过程中,UNet首先预测初始时间步的第50个时间步增加的噪声。然后,它从输入图像中减去此预测噪声并重复该过程。在随后的每个时间步长中,UNet预测在前一个时间步添加的噪声,逐渐从完全噪声中恢复原始输入图像。在整个过程中,UNet内部依赖文本嵌入向量作为条件因素。

UNet 输出大小为 (4, 64, 64) 的张量,该张量被传递给变分自动编码器的解码器部分。

译码器

解码器反转编码器完成的潜在表示转换。它采用潜在表示并将其转换回图像空间。因此,它输出一个 (3,512,512) 图像,大小与原始输入空间相同。在训练过程中,我们的目标是最大限度地减少原始图像和生成图像之间的损失。鉴于给定文本提示,我们可以从完全嘈杂的图像中生成与提示相关的图像。

将一切整合在一起

在推理过程中,我们没有输入图像。我们只在文本到图像模式下工作。我们删除了加性噪声部分,而是使用所需大小的随机生成的张量。体系结构的其余部分保持不变。

UNet经过培训,利用文本提示嵌入从完全噪声中生成图像。这种特定的输入在推理阶段使用,使我们能够从噪声中成功生成合成图像。这个一般概念是所有生成计算机视觉模型背后的基本直觉。
原文链接:稳定扩散:生成式AI背后的基本直觉

你可能感兴趣的:(generative-ai)