导读:近年来,AI创作如火如荼,而文本描述自动生成图片(Text-to-Image)的AI绘画黑科技更是大火,在Colorado博览会的艺术比赛上,由MidJourney生成的数字油画获得第一名更是引起了巨大争论。仅靠文字描述,AI就能理解并把对应内容画出来,其中便用到了深度学习模型。而正是人工智能的加入,使得AI绘画进步飞快。



















CLIP模型

OpenAI团队在2021年开源了一个新的深度学习模型CLIP(Contrastive Language-Image Pre-Training)。当今最先进的图像分类人工智能。CLIP训练AI同时做了两个事情, 一个是自然语言理解, 一个是计算机视觉分析. 它被设计成一个有特定用途的能力强大的工具, 那就是做通用的图像分类, CLIP可以决定图像和文字提示的对应程度。

整体架构

开发团队收集上亿图片文本对作为训练样本,称为WIT,在一个batch中输入若干图片文本对,(I1,T1)为第一个图像文本对,模型目的是使这两个特征尽量相似,与别的特征尽量远离。

Pre-train训练阶段

一个图片经过Image_encoder得到特征If,一个文本经过text_encoder得到特征Tf两个特征分别经过不同的FC层(目的是将单模态的特征转化为多模态,因为图片的特征可能本身就与文本的不一致,需要转换,但是这里没接激活函数,因为作者发现在多模态下接不接都一样);再做一次L2归一化;计算余弦相似度,得到logits;logits与GT计算交叉熵目标函数;而这里的GT就是一个单位阵(因为目标是配对样本之间相似性最强为1,而其他为0);最后将图片的loss与文本的loss加起来求平均即可。

CLIP模型的训练过程, 简单的说, 就是使用已经标注好的"文字-图像"训练数据, 一方面对文字进行模型训练, 一方面对图像进行另一个模型的训练, 不断调整两个模型内部参数, 使得模型分别输出的文字特征值和图像特征值能让对应的"文字-图像"经过简单验证确认匹配。

推理阶段

将要做的分类以填空的形式填进一句话中,以ImageNet为例就是1000句话输入Text Encoder得到输出;

将要识别的图片经过Image Encoder得到图片输出,比较文本的输出与图片的输出,选择最相似的那句话就是图片的类别。

而CLIP也存在一些局限性和不足:如果继续增加数据集和model规模,CLIP性能可以继续提高,但是需要提高计算和数据的高效性;在细分类数据集上,CLIP效果略低,并且无法处理抽象概念,如数数任务,或者判断一个画面正常还是异常;CLIP-model泛化较差,不能高效利用数据;训练数据多,并且文本无法描述太复杂的概念。但是相比而言,CLIP功能还是很强大,可以有效筛选图片文本对,但是与艺术创作的关系并不是很密切,于是AI开发者提出另一种图像生成方式——Diffusion模型(扩散化模型)




























Diffusion model是一种图片生成的范式

扩散模型包括两个步骤:

前向扩散——通过逐渐扰动输入数据将数据映射到噪声。这是通过一个简单的随机过程正式实现的,该过程从数据样本开始,并使用简单的高斯扩散核迭代地生成噪声样本。此过程仅在训练期间使用,而不用于推理。参数化反向 - 撤消前向扩散并执行迭代去噪。这个过程代表数据合成,并被训练通过将随机噪声转换为真实数据来生成数据。这过程其实非常繁琐,基于此,Stable Diffusion采用了一种更加高效的方式构建扩散模型。

把扩散模型两个过程,分别为扩散过程和逆扩散过程。如上图所示,扩散过程为从右到左(X0>XT)的过程,表示对图片逐渐加噪,并且扩散过程是个马尔科夫过程,X0表示从真实数据集中采样得到的一张图片,对X0添加T次噪声,图片逐渐模糊,在训练过程中,每次添加的噪声是已知的,即 q ( X t∣X t−1 )是已知的,根据马尔科夫性质,可以递归得到q(X t|X0)。逆扩散过程为从左到右(X T> X0),表示从噪声中复原图片,如果我们知道q(Xt-1 | X t),就可以从任意一张噪声图片中经过一次次采样得到一张图片从而达成图片生成的目的。逆扩散过程最最主要的就是q(Xt-1|XtX0)的推导。

Disco Diffusion正是基于CLIP+Diffusion模型的实用化AI绘画产品。其渲染的图像很惊艳但是无法刻画具体细节,大部分还是模糊的概括,针对Disco Diffusion的痛点,AI绘画模型 Stable Diffusion闪亮登场,解决了存在的问题。

实际上Stable Diffusion和之前的Diffusion扩散化模型相比, 重点是做了一件事, 那就是把模型的计算空间, 从像素空间经过数学变换, 在尽可能保留细节信息的情况下降维到一个称之为潜空间(Latent Space)的低维空间里, 然后再进行繁重的模型训练和图像生成计算。

Stable Diffusion的整体上来说主要是三个部分,language model、diffusion model和decoder。Language model主要将输入的文本提示转化为可以输入到diffusion model使用的表示形式,通常使用embedding加上一些random noise输入到下一层。diffusion model它将一些高斯噪声和文本表示作为模型输入,将对应的图像添加一点高斯噪声,从而得到一个稍微有噪点的图像,然后在时间线上重复这个过程,对于稍微有噪点的图像,继续添加高斯噪声,以获得更有噪点的图像,重复多次到几百次后就可以获得完全嘈杂的图像。这么做的过程中,知道每个步骤的图像版本。然后训练的NN就可以将噪声较大的示例作为输入,具有预测图像去噪版本的能力。

在训练过程中,还有一个encoder,是decoder的对应部分,encoder的目标是将输入图像转化为具有高语义意义的缩减采样表示,但消除与手头图像不太相关的高频视觉噪声。这里的做法是将encoder与diffusion的训练分开。这样,可以训练encoder获得最佳图像表示,然后在下游训练几个扩散模型,这样就可以在像素空间的训练上比原始图像计算少64倍,因为训练模型的训练和推理是计算最贵的部分。

decoder的主要作用就是对应encoder的部分,获得扩散模型的输出并将其放大到完整图像。



























AI创作是当前AI的热点,而AI绘画正是让我们看到了AI在艺术领域越来越多的可能性,AI能否具有创造力和想象力,从而逐渐取代人类已经是越来越现实的问题。并且由于部分AI创作开源,使用者不受约束,可能会通过AI创作生成各种荒诞图像,这便涉及AI创作的伦理与版权问题。这也是AI艺术创作目前存在的缺陷,在某些艺术表现形式方面仍受限制,但是随着AI绘画技术的进一步发展,AI或许可以通过不断的“学习”改变现有的绘画方式以至创作出新作品。

参考资料:
1.https://arxiv.org/pdf/2209.14697.pdf
2.https://arxiv.org/pdf/2112.10752.pdf
3.[1907.05600] Generative Modeling by Estimating Gradients of the Data Distribution
4.https://arxiv.org/pdf/2204.06125.pdf
5.https://imagen.research.google
6.[2105.05233] Diffusion Models Beat GANs on Image Synthesis
7.https://ommer-lab.com/research/latent-diffusion-models/


阅读次数:2286
吉林省人工智能学会
(2022-10-29 10:52:26)

备案号:吉ICP备19005669号-1

Copyright © 2010 吉林省人工智能学会From:3.15.147.53

二维码