前两天写了:北方的郎:Transformer Explainer:交互式学习Transformer模型的利器,配合本文详解,轻松掌握Transformer对Transformer Explainer进行详细介绍。
今天这个是diffusion-explainer,是和Transformer Explainer同一组研究人员开发的交互式可视化工具,旨在帮助用户深入理解Stable Diffusion模型的内部工作原理,为用户提供了一种直观的学习体验。
官网:Stable Diffusion Explained with Visualization
代码:https://github.com/poloclub/diffusion-explainer
论文:Diffusion Explainer: Visual Explanation for Text-to-image Stable Diffusion
以下是关于Diffusion Explainer的详细介绍:
什么是Stable Diffusion?
Stable Diffusion 是一种文本到图像的模型,能够将文本提示转化为高分辨率图像。例如,如果你输入“a cute and adorable bunny”,Stable Diffusion 会在几秒钟内生成描绘这一内容的高分辨率图像——一只可爱的小兔子。点击 Diffusion Explainer 中的“Select another prompt”可以更改提示,并查看每个提示生成的有趣图像!
Stable Diffusion 是如何工作的?
Stable Diffusion 首先将文本提示转换为文本表示,即用数值概括提示内容。文本表示用于生成图像表示,图像表示则概括了文本提示中描述的图像。然后,图像表示会被放大为高分辨率图像。
你可能会好奇,为什么 Stable Diffusion 要引入图像表示,而不是直接生成高分辨率图像。原因是计算效率。在紧凑的图像表示上进行大部分计算,而不是在高分辨率图像上,可以显著减少计算时间和成本,同时保持高图像质量。
图像表示最初是随机噪声,经过多个时间步的细化,最终生成与文本提示高度一致的高质量图像表示。细化时间步的数量通常设置为 50 或 100;在 Diffusion Explainer 中,我们将其固定为 50。
我们将 Stable Diffusion 的图像生成过程分解为三个主要步骤:
-
文本表示生成
:Stable Diffusion 将文本提示转换为文本向量表示。
-
图像表示细化
:从随机噪声开始,Stable Diffusion 在文本表示的指导下逐步细化图像表示。Stable Diffusion 会重复多次细化步骤(在 Diffusion Explainer 中为 50 次)。
-
图像放大
:Stable Diffusion 将图像表示放大为高分辨率图像。
现在,让我们更详细地了解每个过程。
文本表示生成(Text Representation Generation)
点击“文本表示生成”可以查看文本提示如何被转换为文本表示,即概括提示内容的向量。它包含两个步骤:分词和文本编码。
1 分词(Tokenizing)
分词是处理文本数据的常见方法,将文本转换为数字并用神经网络处理。
Stable Diffusion 将文本提示分词为一系列标记。例如,它将文本提示“a cute and adorable bunny”分解为标记:a、cute、and、adorable、bunny。此外,为了标记提示的开始和结束,Stable Diffusion 在标记序列的开头和结尾添加了 <start>
和 <end>
标记。上述示例的最终标记序列为:<start>
, a, cute, and, adorable, bunny, <end>
。
为了便于计算,Stable Diffusion 通过填充或截断使任何文本提示的标记序列长度保持为 77。如果输入提示的标记少于 77 个,则在序列末尾添加 <end>
标记,直到达到 77 个标记。如果输入提示的标记超过 77 个,则保留前 77 个标记,其余部分被截断。长度 77 是为了平衡性能和计算效率而设定的。
2. 文本编码
Stable Diffusion 将标记序列转换为文本表示。为了使用文本表示来指导图像生成,Stable Diffusion 确保文本表示包含与提示中描述的图像相关的信息。这是通过一种称为 CLIP 的特殊神经网络实现的。
CLIP 由图像编码器和文本编码器组成,经过训练可以将图像及其文本描述编码为彼此相似的向量。因此,CLIP 的文本编码器计算的提示文本表示很可能包含与提示中描述的图像相关的信息。你可以点击上方的“文本编码器”显示可视化解释。
图像表示细化(Image Representation Refining)
Stable Diffusion 生成图像表示,即用数值概括文本提示中描述的高分辨率图像的向量。这是通过在多个时间步上细化随机初始化的噪声来实现的,从而逐步提高图像质量和对提示的贴合度。你可以通过调整 Diffusion Explainer 中的种子来更改初始随机噪声。点击“图像表示细化器”可以可视化每个细化步骤,包括噪声预测和去除。
1. 噪声预测(Noise Prediction)
在每个时间步,一个称为 UNet 的神经网络预测当前时间步图像表示中的噪声。UNet 接受三个输入:
- 当前时间步(timestep)的图像表示
- 提示的文本表示,用于指导应从当前图像表示中去除哪些噪声以生成符合文本提示的图像
- 时间步(timestep),用于指示当前图像表示中剩余的噪声量
换句话说,UNet 在文本提示表示和时间步的指导下预测当前图像表示中的条件噪声。
然而,尽管我们使用文本提示来条件化噪声预测,生成的图像表示通常对文本提示的贴合度不够强。为了提高贴合度,Stable Diffusion 通过额外预测基于空提示(“ ”)的通用噪声,并将其从条件噪声中减去,来衡量提示的影响:
提示的影响 = 条件噪声 - 通用噪声(impact of prompt=prompt-conditioned noise-generic noise)
换句话说,通用噪声有助于提高图像质量,而提示的影响则有助于贴合提示。最终噪声是它们的加权和,由称为引导尺度的值控制:
通用噪声 + 引导尺度 × 提示的影响(generic noise+guidance scaleximpact of prompt)
引导尺度为 0 表示完全不贴合文本提示,而引导尺度为 1 表示使用原始的条件噪声。较大的引导尺度会导致更强的提示贴合度,但过大的值可能会降低图像质量。在 Diffusion Explainer 中更改引导尺度值,看看它如何改变生成的图像。
2. 噪声去除
Stable Diffusion 然后决定从图像中实际去除多少预测噪声,这是由一种称为调度器的算法决定的。去除少量噪声有助于逐步细化图像并生成更清晰的图像。
调度器通过考虑总时间步数来做出这一决定。然后将缩小后的噪声从当前时间步的图像表示中减去,以获得细化后的表示,该表示成为下一个时间步的图像表示:
时间步 t+1 的图像表示 = 时间步 t 的图像表示 - 缩小后的噪声
image representation of timestept+1=image representation of timestept-downscaled noise
图像放大
在所有去噪步骤完成后,Stable Diffusion 使用称为解码器的神经网络将图像表示放大为高分辨率图像。在文本表示的指导下完全去噪的细化图像表示将生成与文本提示高度一致的高分辨率图像。
提示关键词如何影响图像生成?
编写文本提示可能非常依赖经验和重复性。例如,从提示“a cute bunny”开始,你可能需要反复添加和删除关键词,例如“in the style of cute pixar character”,直到达到所需的图像。
因此,了解提示关键词如何影响图像生成对编写和优化提示非常有帮助。点击文本提示中高亮显示的关键词,比较仅关键词不同的两个提示生成的图像。
我们可以改变什么?
在 Diffusion Explainer 中,你可以控制文本提示和超参数来改变生成的图像:
-
文本提示
:描述你想要生成的图像。更详细的文本提示通常会生成更高质量的图像。
-
种子
:用于初始化时间步 0 的图像表示的随机种子。更改种子将导致时间步 0 的不同图像表示,从而生成不同的图像。
-
引导尺度
:生成图像与文本提示的贴合程度。增加引导尺度会导致更强的贴合度,但可能会使生成的图像过于夸张。
此外,还有一些未包含在 Diffusion Explainer 中的超参数,例如总时间步数、图像大小和调度器类型。
关于AI绘画技术储备
学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!
对于0基础小白入门:
如果你是零基础小白,想快速入门AI绘画是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:stable diffusion安装包、stable diffusion0基础入门全套PDF,视频学习教程。带你从零基础系统性的学好AI绘画!
需要的可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费
】
1.stable diffusion安装包 (全套教程文末领取哈
)
随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。
最新 Stable Diffusion 除了有win多个版本,就算说底端的显卡也能玩了哦!此外还带来了Mac版本,仅支持macOS 12.3或更高版本。
2.stable diffusion视频合集
我们在学习的时候,往往书籍代码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入门stable diffusion,科学有趣才能更方便的学习下去。
3.stable diffusion模型下载
stable diffusion往往一开始使用时图片等无法达到理想的生成效果,这时则需要通过使用大量训练数据,调整模型的超参数(如学习率、训练轮数、模型大小等),可以使得模型更好地适应数据集,并生成更加真实、准确、高质量的图像。
4.stable diffusion提示词
提示词是构建由文本到图像模型解释和理解的单词的过程。可以把它理解为你告诉 AI 模型要画什么而需要说的语言,整个SD学习过程中都离不开这本提示词手册。
5.AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
这份完整版的学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】