2022年绝对是长文人工智能爆发的元年,前有 stability.ai 开源 Stable Diffusion 模型,后有 Open AI 发布 ChatGPT,二者都是里程碑式的节点事件,其重要性不亚于当年苹果发布iPhone,Google推出Android。它们让AI不再是姆级一个遥不可及的技术名词,而是触手可及 、实实在在的教程智能应用工具。
不同于ChatGPT可以直接体验,Stable Diffusion需要自己部署后才能使用,所以国内了解的长文人还不多。但Stable Diffusion绝对是姆级AI图像生成领域的ChatGPT级的杀手产品——它使用超级简单、完全开源免费,生成的教程图片以假乱真 、震惊四座。长文今天,我将用万字保姆级教程教你如何一步一步在本地运行起Stable Diffusion,并手把手教你如何生成以假乱真的姆级AI生成图片。
Stable Diffusion是一种潜在扩散模型(Latent Diffusion Model),能够从文本描述中生成详细的图像。它还可以用于图像修复、长文图像绘制 、姆级文本到图像和图像到图像等任务。教程简单地说,我们只要给出想要的长文图片的文字描述在提Stable Diffusion就能生成符合你要求的逼真的图像!
Stable Diffusion将“图像生成”过程转换为逐渐去除噪声的“扩散”过程,整个过程从随机高斯噪声开始,经过训练逐步去除噪声,直到不再有噪声,最终输出更贴近文本描述的图像。这个过程的姆级缺点是去噪过程的时间和内存消耗都非常大,尤其是在生成高分辨率图像时。Stable Diffusion引入潜在扩散来解决这个问题。教程潜在扩散通过在较低维度的潜在空间上应用扩散过程而不是使用实际像素空间来减少内存和计算成本 。
与DALL·E和Midjourney相比,Stable Diffusion最大的优势是开源,这就意味着Stable Diffusion的潜力巨大、发展飞快 。Stable Diffusion已经跟很多工具和平台进行了集成,且可用预训练模型数量众多(参见Stable Diffusion资源列表) 。正是由于社区的活跃,使得Stable Diffusion在各种风格的图像生成上都有着出色的表现,随便给大家看几张我生成的图片:
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
为了方便大家更好地理解后面的内容,下面对Stable Diffusion中的几个核心概念做简单的说明 。Stable Diffusion的详细原理请参考《Stable Diffusion原理详解》 。
自动编码器 (VAE) 由两个主要部分组成:编码器和解码器。编码器会将图像转换为低维潜在表示(像素空间–>潜在空间),该表示将作为输入传递给U_Net 。解码器做的事情刚好相反,将潜在表示转换回图像(潜在空间–>像素空间)。
U-Net 也由编码器和解码器组成,两者都由 ResNet 块组成 。编码器将图像表示压缩为较低分辨率的图像,解码器将较低分辨率解码回较高分辨率的图像。
为了防止 U-Net 在下采样时丢失重要信息,通常在编码器的下采样 ResNet 和解码器的上采样 ResNet 之间添加快捷连接。
此外,Stable Diffusion 中的 U-Net 能够通过交叉注意力层调节其在文本嵌入上的输出