最近几个月,人工智能备受瞩目,先是Stable Diffusion,接着是ChatGPT。看似AI无所不能,能替人写作,还能生成各种图像、视频、音乐和文本。然而,实际使用时,结果往往并非完美。比如ChatGPT可能会编造内容,Stable Diffusion生成的图像有时杂乱无章,不少图像还处于过度简单与完全逼真之间的“恐怖谷”区域,不仅用处有限,看着也不吸引人。
虽然有多种方法能提升图像质量,像投入更多时间和算力,运用增强和控制技术,但很多方法需要额外设置,步骤复杂,更适合专业人士。Paperspace旨在简化流程,提供加速计算并消除设置障碍,让用户专注工作。Self-attention Guidance(SAG)技术与之契合,无需额外工作就能生成更优质的Stable Diffusion图像,只需在相同界面输入相同提示词,就能得到更出色的图像。
一、技术原理
-
Stable Diffusion
最初的图像生成AI——生成对抗网络(GANs),被扩散模型改进。扩散是给图像添加噪声直至接近纯白噪声,然后反向操作,通过模型迭代生成新的目标图像。训练时,模型学习反向添加噪声的步骤以恢复训练图像。噪声添加是马尔可夫过程,每一步仅依赖前一步。模型因学习到数据分布,所以能生成新图像,而非仅检索原始图像。Stable Diffusion在低维版本图像上运行扩散,先将图像放入潜在空间,生成后再转换回像素空间,这通过编码器和解码器网络实现,潜在空间是真实空间在更少维度上的投影。
用数学语言描述,扩散的正向过程是给图像添加噪声:q
(
x
t
+
1
∣
x
t
)
=
N
(
x
t
+
1
;
1
−
β
t
x
t
,
β
t
I
)
q(mathbf{x}_{t+1} | mathbf{x}_t) = mathcal{N}(mathbf{x}_{t+1}; sqrt{1 – beta_t} mathbf{x_t}, beta_t mathbf{I})
q(xt+1∣xt)=N(xt+1;1−βtxt,βtI),其中q
q
q是图像的真实数据分布,x
mathbf{x}
x是图像(张量),t
t
t是时间步,N
mathcal{N}
N是正态(高斯)分布,β
t
beta_t
βt是给定的方差时间表,I
mathbf{I}
I是单位矩阵。之后是迭代去噪的反向过程:p
θ
(
x
t
−
1
∣
x
t
)
=
N
(
x
t
−
1
;
μ
θ
(
x
t
,
t
)
;
Σ
θ
(
x
t
,
t
)
I
)
p_theta (mathbf{x}_{t-1} | mathbf{x}_t) = mathcal{N}(mathbf{x}_{t-1}; mu_theta (mathbf{x}_t, t); Sigma_theta (mathbf{x}_t, t) mathbf{I})
pθ(xt−1∣xt)=N(xt−1;μθ(xt,t);Σθ(xt,t)I),p
θ
p_theta
pθ是参数化模型,用神经网络(如U-Net)和参数θ
theta
θ得到高斯分布的均值μ
θ
mu_theta
μθ和方差Σ
θ
Sigma_theta
Σθ,我们要找能在去噪后最佳估计原始图像x
^
0
hat{mathbf{x}}_0
x^0的θ
theta
θ 。正向过程通过重参数化技巧加速,反向过程在每个时间步给出新图像x
^
0
hat{mathbf{x}}_0
x^0。 -
Self-attention guidance
SAG技术由Hong等人在2022年提出,建立在早期给图像生成添加指导的技术基础上。指导是让扩散模型良好工作的关键步骤,能让模型生成用户想要的图像,而非基于数据分布的随机新图像。分类指导(CG)从条件扩散模型添加信息,如类别标签或文本提示嵌入,以给出指导输出;无分类器指导(CFG)能给出与CG相同形式的输出,但不需要模型,不过仍需条件(如文本提示)。
SAG将上述指导思想与自注意力相结合,它的优势在于无需外部分类器或标记数据(零样本)就能进行指导,仅用原始图像,可在图像生成过程中应用,用户无需额外操作就能得到更好图像。自注意力是网络让输入层相互作用,更强的相互作用表明模型应更关注的部分,自注意力指相互作用可在同一输入序列的部分之间,应用于图像会得到自注意力图。SAG用自注意力图模糊图像中信息最多的部分,引导模型专注改进这些部分,让图像定义更清晰、更逼真,因为信息最多的部分往往是物体边界,变化迅速。
SAG单独使用有效,与CFG结合效果更佳,这也是Gradio应用图形用户界面(GUI)中实现的过程。虽然SAG不限于特定类型模型,但应用于Stable Diffusion模型效果最佳。使用CFG需输入文本提示,所以GUI显示可选文本提示、CFG和CFG + SAG图像输出,以及步骤数、CFG和SAG指导尺度等选项。
二、图像改进示例
乍看之下,生成式AI生成的图像可能不错,比如输入“客厅”,就能看到从未见过的房屋内部图像,很是新奇。但仔细观察,会发现不少问题。如仅用Stable Diffusion生成的客厅图像,DVD架上的光盘有点融合在一起,植物像未知物种,桌子下的碗嵌入桌腿,壁炉右侧的木柱像埃舍尔画作那样在桌面上方倾斜下来。
而添加SAG到相同提示词后,图像怪异感明显减少。对比CFG和CFG + SAG生成的“舒适木屋带壁炉的客厅”图像,CFG图像比原始Stable Diffusion图像奇怪之处少些,而CFG + SAG图像更平滑,物体定义更好,杂物更少,看起来更真实。在其他场景中也是如此,如生成“高科技太阳能朋克乌托邦在亚马逊雨林”“皮卡丘在埃菲尔铁塔观景处享用美食”“苏格兰折耳猫玩球”“有书架的木板书房”等图像,CFG + SAG生成的图像相对更好。Hong等人让外部人员查看SAG和非SAG图像,84%的时间里SAG图像被评为更好。
三、在Paperspace上运行
在Paperspace上使用Stable Diffusion和SAG运行图像生成很简单,点击链接启动Notebook。若因无免费GPU而在CPU上启动,可关闭Notebook,在机器选项卡中更改为GPU并重启。打开后,导航到technique – review – 2.ipynb笔记本,运行“Self Attention Guidance”标题下的3个单元格,会生成Gradio公共URL,点击可在浏览器中打开GUI界面。
GUI基本操作简单,有输入文本提示的框、生成按钮和各种设置,可下载生成的图像。即使不输入提示词也能点击生成,模型会根据随机种子生成图像。多数情况下,用户会输入提示词查看结果。其他功能包括:
- 提示词:原则上可以是任何字符集,但用英文ASCII字符集可能效果最佳,输出图像的适用性由用户决定,提示词不区分大小写。
- 种子:给定种子、提示词、步骤数和指导尺度,模型会输出相同图像,方便重现;改变种子则生成完全不同的图像。
- 重置:将GUI设置恢复初始值,但种子值会随机化,可按需改回固定值。若图像生成时间过长,页面硬刷新比点击重置更好。
- 步骤数:创建图像使用的时间步数,更多步骤耗时更长但效果更好,到一定程度图像会过度平滑并丢失物体,通常几百步后会出现,步骤数上限为999,在性能较弱的GPU上可能在该值以下就出错。
- 文本指导尺度:GUI运行的SAG变体结合了CFG,左侧图像是纯CFG,右侧是CFG + SAG。纯CFG也能指导,尺度指定应用区域大小,默认3,较大值使图像更连贯、杂物更少,与SAG尺度类似。若CFG设为0,CFG和CFG + SAG都忽略提示词。
-
自注意力指导尺度:SAG尺度是公式中的
s
s
s值,可为各种小实数。论文中s
=
0.1
s = 0.1
s=0.1效果最佳,s
=
−
0.1
s = – 0.1
s=−0.1和s
≥
0.4
s geq 0.4
s≥0.4效果较差。GUI默认s
=
1
s = 1
s=1,此值下SAG + CFG生成的图像比小值时更好,小值时更像仅使用CFG,s
=
0
s = 0
s=0时二者相同。非零s
s
s时,SAG + CFG始终优于CFG。 - GPU类型:虽不在GUI中直接设置,但Paperspace允许更改Notebook运行的GPU,从免费GPU到A100 – 80G等,速度越快越好,安培系列(A4000 – A6000和A100)表现良好。
生成图像后可通过图像右上角箭头下载。完成后,关闭GUI浏览器选项卡,点击Notebook中运行单元格的“Stop”按钮,若要关闭Notebook,按常规方式点击“Stop Machine”。一般来说,在A100 GPU上,将两个尺度(CFG 10,SAG 1)设为最大值,运行约200步,使用CFG + SAG图像效果较好,生成图像约需一分钟。若图像效果不佳,可尝试其他种子或更改提示词,自然场景等特定图像类型使用较低指导尺度值可能效果更好。
四、讨论
-
尚不完美
SAG虽大幅提升图像质量,但仍不完美。用于生产内容时,可能仍需生成多个图像实例并手动筛选最佳结果,提示工程等技术也可能有帮助,但相比仅使用Stable Diffusion,尝试次数和时间会减少。人脸仍是弱点,虽增加时间步数可改善,但无法达到其他一些模型的照片级真实输出。增加时间步数和大指导尺度会使图像更平滑,但物体减少,过多步骤可能导致过度平滑、不真实,出现哑光外观。对于专业请求,如生成美国地图,效果可能不佳。图像中的“文本”常被视为瑕疵,含文本的图像实用性也较低,有时还会生成奇怪图像,如提示词“狗”和种子90061生成的图像像狗穿着地毯。较长提示词可能效果更好,这引出了提示工程新领域。接近两个指导尺度最大值且时间步数在200左右,效果可能优于远离此设置的值。对于特定用例,如引导图像结构、人物姿势、风格等,Paperspace其他博客文章中描述的增强技术比本文基础设置能提供更多结果和控制。总体而言,添加SAG是让非专业用户快速轻松生成可用Stable Diffusion图像的一大进步。 -
原始Stable Diffusion会改进吗
AI工具发展迅速,合理疑问是原始未增强的Stable Diffusion是否会改进。很可能会,所以像SAG这样的显式增强技术最终可能不再需要,或被纳入基础模型,或添加到标准接口。比如GPT – 4相比ChatGPT就有巨大进步。但就目前而言,SAG可直接添加到Stable Diffusion图像生成中,用户无需额外工作,使用它是有意义的,其他增强技术若结果值得用户花费时间,同样适用。
总之,通过添加SAG等技术,能改进Stable Diffusion从简单文本提示(或无提示)生成图像的效果。SAG让非专业用户更快速轻松地生成更好图像,主要改进在于图像看起来更逼真,物体和布局定义更好。在Paperspace上,无需用户设置或专业知识,就能使用Stable Diffusion与SAG及其他许多技术,利用强大的GPU、计算资源和现成的编码接口实现项目。
文章来源于互联网:使用Self-attention Guidance提升Stable Diffusion图像生成质量
最新接入DeepSeek-V3模型,点击下载最新版本InsCode AI IDE 智能编程新时代:AIGC如何改变开发者的世界 在当今快速发展的科技时代,人工智能(AI)和生成式AI(AIGC)正在深刻改变各个行业的工作方式。尤其在软件开发领域,智能化工具的出…
5bei.cn大模型教程网










