「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

2,848次阅读
5 条评论

共计 7231 个字符,预计需要花费 19 分钟才能阅读完成。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

前言:近期,以Stable Diffusion、Dall-E、Midjourney等软件或算法为代表的AI绘图技术引起了广泛关注。尤其是自2022年8月Stable Diffusion模型开源以来,更是加速了这一领域的发展。

对于初学者来说,面对这些令人惊叹的AI绘图作品,他们既想了解绘图软件的使用和技巧,又面对着诸如Lora、ControlNet、Dall-E 等复杂术语,不知道从何入手。通过收集资料,本文将从以下四个方面介绍目前最流行的 AI 绘图工具和模型训练方法,力求用通俗易懂的语言帮助大家理清术语背后的真实含义。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

一、文生图算法简介

text to image 技术,又称为文生图,是一种基于自然语言描述生成图像的技术。其历史可以追溯到20世纪80年代。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

随着深度学习技术的发展,特别是卷积神经网络 CNN 和循环神经网络 RNN 的出现,text to image技术开始采用神经网络模型进行训练和生成。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

GAN(generative adversarial networks)和VAE(variational auto encoder)算法是最早被应用于 text to image任务的算法。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

随着计算机硬件和算法的不断进步,越来越多的新算法涌现出来,例如Stable Diffusion 和Dall-E等。相较于传统算法如GAN和VAE,这些新算法在生成高分辨率、高质量的图片方面表现更加卓越。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

Stable Diffusion(稳定扩散)是基于DPM(Diffusion Probabistic models)的改进版本,DPM是一种概率建模方法,旨在使用初始状态的噪声扰动来生成图像。模型会首先生成一张初始状态的噪声图像,然后通过逐步的运算过程逐渐消除噪声,将图像转换为目标图像。这也是我们在进行Stable Diffusion 绘图时,首先需要确定噪声采样方式和采样步长的原因。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

Stable Diffusion是由Stability AI COMP、VIZ LMU和Runway合作发布的一种人工智能技术,其源代码在2022年8月公开于GitHub,任何人都可以拷贝和使用。该模型是使用包含15亿个图像文本数据的公开数据集Line 5B进行训练的。训练时使用了256个Nvidia A100 GPU,在亚马逊网络服务上花费了150,000个GPU小时,总成本为60万美元。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

Dall-E是OpenAI公司于2021年1月发布的一种基于Transformer和GAN的文本到图像生成算法,使用了大规模的预训练技术和自监督学习方法。Dall-E的训练集包括了超过250万张图像和文本描述的组合。该算法的灵感来源于2020年7月OpenAI发布的GPT-3模型,后者是一种可以生成具有语言能力的人工智能技术。Dall-E则是将GPT-3的思想应用于图像生成,从而实现了文本到图像的转换。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

2022年2月,OpenAI发布了Dall-E2。相比于上一版本,Dall-E2生成的图像质量更高,而且可以生成更加复杂和多样化的图像。Dall-E2的训练集包括了超过1亿张图像和文本描述的组合,比Dall-E的训练集大40倍。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

当前Dall-E算法虽未开源,但已经有人尝试创建Dall-E的开源实现。比如,Crayon前身为Doy Mini,于2022年在Hugging Face的平台上发布。大部分的绘图工具都是基于Stable Diffusion、Dall-E相关的或类似或衍生的算法开发的,尤其是已经开源的稳定扩散算法。

以下是与此相关的几个常见、广泛使用的AI绘图工具:Midjourney、Stable Diffusion、Dall-E、NovelAI、Disco Diffusion。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

二、AI绘图工具介绍

接下来给大家介绍市面上常见的AI绘图工具:

1、Midjourney

Midjourney是一个由Leap Motion的联合创始人David Holz创立的独立研究室,他们以相同的名称制作了一个人工智能程序,也就是我们常听到的Midjourney绘图软件。该软件于2022年7月12日进入公开测试阶段,基于Stable Diffusion算法开发,但尚未开源,只能通过Discord的机器人指令进行操作。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
https://www.midjourney.com/app/

Discord是一个在线聊天和语音交流平台,类似于我们常用的QQ聊天工具。Midjourney官方提供了一个discord机器人,用户可以在discord中添加该机器人,进入指定的服务器进行绘图操作。具体方法是,登录discord,在添加了Midjourney Bot的服务器中,在聊天框里输入“image”,然后输入绘图指令即可。Midjourney是一个学习成本极低、操作简单的绘图工具,生成的图片非常有艺术感,因此以艺术风格闻名。只需输入任意关键词即可获得相对满意的绘图结果。绘图者只需要专注于设计好玩实用的绘图指令(Prompt),而无需花费太多精力在软件操作本身上。但是,Midjourney的使用需要全程科学上网,并且使用成本相对较高。由于软件未开源,生成的图片可能无法满足用户的特定需求,只能通过寻找合适的关键词配合图像编辑软件来实现。

2、Stable Diffusion

Stable Diffusion是一种算法和模型,由Stability.ai、CompVis-LMU和Runway共同发布,于2022年8月开源。因此,用户可以下载Stable Diffusion的源代码,并通过各种方式在自己的电脑上进行本地部署。将Stable Diffusion分解后,有以下几个结构和模型。在训练时,输入的训练图像首先通过编码器模块进行编码,以进行降维,例如从512*512降到64*64,这将大大加快训练速度。输入的文本长度是不固定的,通过文本编码器(通常是clip模型)将其转换为固定长度的向量以进行计算。这两者结合后,输入到UNET网络进行训练。训练后,图像通过解码器解码后恢复为512*512的图像。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

生成图像时候只需要带入一个初始化了的噪声图像和文本,二者组合后输入UNET网络进行去噪,最后通过Dncoder 还原成清晰的图像。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

大家可能会认为安装和部署Stable Diffusion很困难,因为需要安装Python运行环境和一些依赖库,以及对Python语言有一定的编程经验。但是,有一些一键式的安装包可以帮助你快速搭建stable diffusion的环境。这些安装包包含了 Python运行环境和相关的依赖库和代码。只需要下载安装包,然后根据指示进行几个简单的步骤,即可完成Stable Diffusion的安装和部署。

最受欢迎的工具包是GitHub上automatic 1111用户创建的Stable Diffusion Web UI。它是基于radio库的浏览器界面交互程序。具体的安装视频可以在各大知识平台都可以搜到,这里就不展开了。一键式安装包(包含Python运行环境,还集成了Stable Diffusion的相关依赖库和代码)https://github.com/AUTOMATIC1111/stable-diffusion-webui

目前最新的 stable diffusion 的版本是 2.1,但 2.0 以上版本砍掉了NSFW 内容和艺术家关键词,相当于封印了很多能力。Stable Diffusion Web UI只是运行Stable Diffusion的可视化界面,就如一辆车子缺乏发动机,我们还需要从Stability AI的Hugging Face官网下载Stable Diffusion模型,才能开始运行Stable Diffusion绘图。本地运行Stable Diffusion需要较高的显卡配置,建议使用显存大于8G的N卡显卡。如果配置不够但还想体验一下,Stable Diffusion有线上版本DreamStudio,只是需要付费使用。新用户可以获得200个点数,每次标准生成将消耗一个点数。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
https://beta.dreamstudio.ai/generate?from=%2Fdream

3、Dall-E

Dall-E是OpenAI旗下的一款AI绘图工具软件,与ChatGPT同属于一个公司。最新版本Dall-E 2于2022年2月发布。Dall-E可以在线使用,Dall-E会根据这些文字描述生成一张或多张图片,并显示在屏幕上。用户可以上传自己的图片,标记图像中的区域进行进一步的编辑和修改。Dall-E还会根据已有图像的视觉元素对图像进行二次加工,延展图片边界。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
https://labs.openai.com/

用户在注册的第一个月可以获得50个免费积分,每月可以获得15个积分,每张图片花费1个积分。如果需要更多的图像,用户需要付费。当前,Dall-E算法并未公开源代码。

4、NovelAI

Nova AI是由美国特拉华州的Anlatan公司开发的云端软件。最初,该软件于2021年6月15日推出测试版,其主要功能是辅助故事写作。之后,在2022年10月3日,Nova AI推出了图像生成服务,由于其生成的二次元图片效果出众,因此它被广泛认为是一个二次元图像生成网站。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
https://novelai.net/

Nova AI的图像生成模型是使用8个Nvidia A100 GPU在基于Damburu的约530万张图片的数据集上训练而得到的,其底层算法也是基于stable diffusion模型微调而来的。使用Nova AI的方法很简单,只需登录官方网站,进入图像生成界面,输入关键字,即可生成图像。此外,由于Novel AI曾经发生过代码泄露,因此也可以下载Novoai 的模型(Naifu、Naifu-diffusion)在Stable Diffusion web UI中使用。

5、Disco Diffusion

Disco Diffusion是最早流行起来的 AI 绘图工具,发布于Google Clab平台。它的源代码完全公开且免费使用,可通过浏览器运行而无需对电脑进行配置。Disco Diffusion基于Diffusion扩散模型开发,是在Stable Diffusion发布之前最受欢迎的扩散模型之一。然而,它在绘制人物方面表现不佳,且生成一张图片需要十几二十分钟的时间,因此在Stable Diffusion发布后逐渐失去了市场热度。

6、其他工具

NiJiJourney是一个专门针对二次元绘画的AI绘画软件,由Spellbrush和Midjourney共同推出。使用方法与Midjourney基本相同,用户可以在Discord上输入相应的绘画指令进行绘画。目前NiJiJourney处于内测阶段,绘画是免费的,但是版权问题尚未明确表态。预计在正式公测时,付费用户可以获得商用权利,与Midjourney类似。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

Waifu Diffusion是一种基于扩散模型的AI绘图模型,它的早期版本1.4在动漫领域的绘图效果与NovelAI非常相似。有些人甚至认为Waifu Diffusion是在NovelAI模型的基础上进行微调得到的,但Waifu Diffusion团队表示他们的模型是Trinart Derrida和Eimis Anime Diffusion模型的合并结果。我们可以从Hugging Face上下载Waifu Diffusion模型,并在Stable Diffusion Web UI中使用它。除此以外还有很多类似Midjourney的绘图工具,几乎都是基于Stable Diffsion或者类似算法进行开发。如Leonardo AI、BlueWillow AI、Playground AI、Dreamlike、NightCafe.studio等等。有一些还具备图像修改、图像延展等功能,尽管这些软件还处于测试阶段,需要申请才能使用,但它们生成的图片质量不输Midjourney,因此常被拿来与Midjourney进行对比。

1.Leonardo AI

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
https://leonardo.ai/

2.BlueWillow AI

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
https://www.bluewillow.ai/

3.Playground AI

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
https://playgroundai.com/

4.Dreamlike

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
https://dreamlike.art/

5.NightCafe.studio

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora
https://nightcafe.studio/

三、模型训练相关名词

AI大模型,也被称为基础模型(Foundation Model),是指将大量数据导入具有数亿甚至万亿级参数的模型中,通过人工智能算法进行训练。Stable Diffusion、NovelAI、 Dall-E等模型都属于大模型。这类大模型普遍的特点是参数多,训练时间长,具备泛化性、通用性、实用性,适用于各种场景的绘图。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

这类 AI 大模型也存在一个普遍的缺点,就是无法满足对细节控制或特定人物特定绘图风格的绘图需要。即便掌握了算法知识,训练一个好的 AI 绘图模型也需要强大的计算资源,这些计算资源对于普通人来说过于昂贵。例如Stable Diffusion在亚马逊网络服务上使用 256 个NVIDIA A100 GPU进行训练,总共花费了 15 万个GPU小时,成本为 60 万美元。于是,针对这些大模型的微调技术应运而生。为了达到绘制特定人物或特定绘图风格的需要,我们不需要重新训练大模型,只要提供几张图片和一张显卡,几个小时的时间就可以实现。也就是我们常听说的Embedding、Hypernetwork、Dreambooth、Lora、ControINet,它们都属于大模型的微调技术,可以在Stable Diffusion Web UI 中进行训练后使用,感兴趣的话可以在Civitai进行下载。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

1、Embedding

Text Coder 就像一本词典,输入文本后Text Coder能快速查找到符合要求的词向量,

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

那如果出现新的关键词,text coder上找不到该怎么办?这就是Embedding算法要做的事情,它通过训练在Text Coder中找到与新的词特征、风格相同的词向量。例如这个麒麟训练后可以看作龙羊虎的组合。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

Embedding算法不改变大模型的基本结构,也不改变text coder,所以就能达到微调模型的目的。对于风格的描述,一般需要较多的关键词。Embedding对于复杂的词汇的调整结果并不太好,定义人物需要的关键词少,所以适用于对人物的训练。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

2、Hypernetwork

与Embedding不同,Hypernetwork是作用在UNET网络上的,UNET神经网络相当于一个函数,内部有非常多的参数, Hypernetwork 通过新建一个神经网络,称之为超网络。超网络的输出的结果是UNET网络的参数。超网络不像UNET,它的参数少,所以训练速度比较快,因此Hypernetwork能达到以较小时间空间成本微调模型的目的。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

Hypernetwork 会影响整个UNET的参数生成,理论上更适合风格的训练。Stable Diffusion Web UI上也继承了 Embedding和Hypernetwork的训练环境。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

3、Dreambooth

Dreambooth是Google在 2022 年8月提出的一种新的网络模型,它的强大之处在于能完整地保留你想要关键视觉特征。例如图中最左边的黄色闹钟上面一个醒目的黄色的。采用Dreambooth生成的新图像可以准确还原这个图像最右边这个样子。这需要模型能够准确识别物体的细节。你只需提供 3- 5 张的图像和文本提示作为输入,就可以达到很好的效果。Dreambooth适合人物训练,改版的Dreambooth方法native train适合于风格的训练。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

Dreambooth要求同时提供特征词加类别和类别文本图片信息带入模型进行训练,例如 a dog 和 a [V] dog。这样做的好处是既可以保留类别的原始信息,又可以学习到特征词加类别的新的信息。

「AI绘画」一次性搞懂所有技术名词Stable Diffusion、Dall-E、Lora

4、LoRA

LoRA(Low-Rank Adaptation of large Language Models)是由微软研究员开发的一种用于微调大模型的技术。该技术建议冻结预训练模型的权重,并在每个 Transformer 块中注入可训练层,从而在保持大部分参数不变的情况下,调整局部的一些模型参数。由于不需要重新计算模型的权重参数的梯度,这大大减少了需要训练的计算量,并降低了 GPU 的内存要求。

使用 LoRA 模型进行微调可以为我们提供更自由、更便捷的微调模型的方式。例如,它使我们能够在基本模型的基础上进一步指定整体风格、指定人脸等等。此外,LoRA 模型本身非常小,即插即用,非常方便易用。

5、Controlnet

Controlnet是当前备受瞩目的AI绘图算法之一。它是一种神经网络结构,通过添加额外的条件来控制基础扩散模型,从而实现对图像构图或人物姿势的精细控制。结合文生图的操作,它还能实现线稿转全彩图的功能。

Controlnet的意义在于它不再需要通过大量的关键词来堆砌构图效果。即使使用大量关键词,生成的效果也难以令人满意。借助Controlnet可以在最开始就引导它往你需要的构图方向上走,从而实现更准确的图像生成。

四 、VAE模型的作用

正如我们之前介绍的,Stable Diffusion在训练时会有一个编码(Encoder)和解码(Dncoder)的过程,我们将编码和解码模型称为VAE模型。预训练的模型,如官网下载的Stable Diffusion模型,一般都是内置了训练好的VAE模型的,不用我们再额外挂载。但有些大模型并不内置VAE模型,或者VAE模型经过多次训练融合不能使用了,就需要额外下载,并在Stable Diffusion Web UI 中添加设置。如果不添加,出图的色彩饱和度可能会出问题,发灰或变得不清晰。大家可以根据模型说明信息来确定是否要下载VAE 。

正文完
 4
yangyang
版权声明:本站原创文章,由 yangyang 2023-05-28发表,共计7231字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(5 条评论)
2024-03-20 00:44:24 回复

odit natus magnam sunt vero magni aliquam eos eaque a omnis assumenda sunt quisquam ipsum et quidem ut et incidunt. voluptatem modi aut consequuntur dolores sint ipsam voluptatem. minima animi aliquid

 Macintosh  Safari  俄罗斯莫斯科莫斯科
2024-05-27 07:56:04 回复

inventore iure magnam sed repellat rerum ratione eum non ea vel quidem necessitatibus est eaque omnis. ea atque consectetur veritatis aut aut quia cumque aliquam voluptatibus placeat exercitationem as

 Macintosh  Safari  俄罗斯莫斯科莫斯科
2024-06-03 10:03:03 回复

similique ut architecto iusto vitae qui voluptate recusandae ut dolorum et. hic vitae quaerat consequatur ad molestiae ut sunt mollitia rerum. voluptas ullam voluptates dolor ut ut ad non rerum conseq

 Macintosh  Safari  俄罗斯莫斯科莫斯科