前言
随着人工智能技术的飞速发展,图像生成技术也取得了显著进步。扩散模型(Stable Diffusion)因其高效性和稳定性而得到广泛关注,目前的大多数生成模型都是以扩散模型为基础进行改进得到。首先简单介绍一下传统人工智能模型和生成模型的区别。
**传统人工智能模型:**主要目标是学习输入到输出的关系(如逻辑关系、映射关系等),即根据输入数据预测或分类输出。也就是说,传统人工智能模型更侧重于对已有数据的分析和处理,以实现对新数据的准确预测或分类。
**生成模型:**主要目标是学习数据的概率分布,并据此生成新的、与真实数据相似的样本。也就是说,生成模型关注于数据的生成过程,致力于模拟数据的内在规律和分布特性。下面对生成模型的基础——扩散模型进行详细介绍:
所有的AI设计工具,模型和插件,都已经整理好了,获取~
01
性能提升的关键——潜空间
(Latent Space)
在采用模型对数据进行处理时,通常都面临“模型效率”和“处理效果”不可兼顾的问题。扩散模型通过将数据压缩到潜空间(Latent Space)中进行处理,在不明显损失处理效果的前提下,极大地降低了内存消耗和计算的复杂度。其性能提升的关键是:通过U-Net 网络[由若干下采样模块(编码器)和相应数量的上采样模块(解码器)组成]中的下采样模块将高维度数据下采样到低维度的“潜空间”中,并在低维度的“潜空间”中进行处理,再通过U-Net 网络中的上采样模块将处理后的结果上采样至下采样前的维度。个人认为,下采样和上采样的传输过程中存在损失,这是导致生成模型的输出结果与真实数据存在差异(即并非100%复原真实数据)的原因之一。
下面通过一个例子来直观展现数据压缩前后内存消耗的变化。以一个 512*512 像素的图像为例,该图像可以表示为(3,512,512),数据体积为786432。而在潜空间中该图像可以被压缩为(4,64,64),数据体积为 16384。相比与压缩前的图像来说,压缩到潜空间中的图像内存消耗将会减少到原来的 1/48 。这极大地提升了扩散模型的运行效率,并且提高了扩散模型的普及性(即让更多配置较低的电脑也能通过扩散模型完成图像处理过程)。
需要特别注意的是,一些发明方案的改进点在于在数据处理过程中加入其他向量。由于数据处理是在潜空间中进行,在撰写申请文件时要注意这些向量是在下采样前加入的,还是(下采样后)加入在潜空间数据中的。
02
扩散模型的前向过程(训练过程)
以图像为例,扩散模型的前向过程是对图像进行迭代加噪,得到最终的纯噪声(也称白噪声)。所谓迭代加噪是指对每一次添加的噪声都是叠加在上一次加噪后得到的结果之上的。该过程主要用于训练U-Net 网络,训练的目标是使得U-Net 网络预测的噪声尽可能逼近实际添加的噪声。为了训练更加充分,可以将添加的噪声按照强度进行区分,并通过添加不同强度的噪声来对扩散模型进行训练。训练后的扩散模型能够较好地预测迭代加噪过程中每次加入的噪声。
需要特别注意的是,在迭代加噪过程中,每次的噪声是添加到潜空间中图像对应的数据矩阵中,而不是直接将噪点添加在图像上。
03
扩散模型的反向过程(生成过程)
同样以图像为例,扩散模型的反向过程就是我们所说的“生成过程”,即通过训练后的扩散模型和输入的提示信息,对纯噪声进行迭代降噪,得到与提示信息匹配的生成图像。所谓迭代降噪是指逐渐减少纯噪声中的噪点,每次降噪的输入数据为上一次降噪的结果。从可视化的角度来说,每次降噪的结果相较于上一次降噪的结果来说噪点更少。同样的,迭代降噪过程也是在潜空间中进行,而非直接去除图像中的噪点。
扩散模型的反向过程所涉及的主要参数包括:噪声加载计划表(scheduler)、随机种子(seed)、采样步数(steps)。噪声加载计划表指示了迭代降噪处理的具体实施过程,影响扩散模型的生成效果;随机种子用于指示起始条件,它确保了随机过程的可控性和可重复性;采样步数用于指示迭代降噪的次数。
04
风格迁移
风格迁移是扩散模型的一个重要概念,它的专业描述是:扩散模型的生成图像具有与原样本图像同时符合潜空间中一定数据结构分布规律的特点。简单来说,用两种不同风格的样本数据对扩散模型进行训练,得到两个不同的扩散模型,再将相同的纯噪声和提示信息输入这两个扩散模型,会得到两个完全不同的结果,每个扩散模型输出结果的风格,与该扩散模型训练时样本数据的风格相似。
个人理解这是由于训练时样本数据的风格不同,导致训练后的扩散模型对同一提示信息的理解不同,因此导致最后输出的结果不同。打一个不太恰当的比方,不同风格的数据在对扩散模型进行训练时会影响扩散模型的“审美观”(也就是风格),由于具有不同“审美观”的扩散模型对“美”(也就是提示信息)的理解不同,针对同一提示信息具有不同“审美观”的扩散模型输出的结果也不同。
05
应用场景
目前,除了被应用在图像生成、视频生成领域以外,以扩散模型为基础的生成模型还被广泛应用在文本生成、音乐创作等领域,并可以实现不同模态数据之间的转换,如根据音频生成图片、根据图片生成视频等。在撰写相关申请文件时,可以考虑数据和应用场景是否具有局限性。
下面借用一段“沙画”比喻对扩散模型进行总结。扩散模型类似一个沙画装置,每次创作出的画虽用相同沙子,但因细节差异而独一无二。扩散模型训练过程模拟沙画逐渐散乱成沙子的过程,通过不断添加噪点至完全无序状态,记录各阶段变化并建模。尽管单粒沙子运动无规律,但巨量沙粒组合展现复杂但可识别的规律和联系。扩散模型在充分训练后,掌握了沙子聚散的规律。在反向去噪过程中,训练后的扩散模型能将散沙凝聚成基础图像单元,这些单元按逻辑组合成完整图像。
这里分享给大家一份Adobe大神整理的《AIGC全家桶学习笔记》,相信大家会对AIGC有着更深入、更系统的理解。
有需要的朋友,可以点击下方免费领取!
AIGC所有方向的学习路线思维导图
这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:
AIGC工具库
AIGC工具库是一个利用人工智能技术来生成应用程序的代码和内容的工具集合,通过使用AIGC工具库,能更加快速,准确的辅助我们学习AIGC
有需要的朋友,可以点击下方卡片免费领取!
精品AIGC学习书籍手册
书籍阅读永不过时,阅读AIGC经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验,结合自身案例融会贯通。
AI绘画视频合集
我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,科学有趣才能更方便的学习下去。
文章评论