2025年04月24日 15:34 星期四

AI绘画原理详解:一文读懂人工智能如何创作图像

点击查看👉爱狐AI:国内外AI大模型(AI对话,绘画,视频,音乐)

为什么只需输入简单的文字描述,AI就能生成一幅精美的画作?AI绘画背后的原理是什么?本文将深入浅出地剖析AI绘画的图像生成过程,带你了解这项技术的奥秘。

AI绘画原理详解:一文读懂人工智能如何创作图像

探索AI绘画的奥秘

最近在与业内专家交流AIGC时,我被AI绘画的原理深深吸引。虽然我知道它基于去噪的原理,但对于诸如AI如何理解人类语言,以及最终如何生成令人惊艳的艺术作品等细节,我一直感到好奇。

为了满足我的好奇心,我查阅了大量资料,并咨询了学术界的朋友,最终对AI绘画的工作原理有了更清晰的理解。现在,我将我的学习心得分享给大家,希望能够帮助大家更好地理解AI绘画。

本文将以通俗易懂的方式,结合手绘图和流程图,深入剖析AI绘画的原理。我们将略去复杂的算法细节,让对AIGC感兴趣的读者也能轻松理解。

我将整个AI绘画过程分解为以下五个核心问题。理解这些问题,你就能对AI绘画的原理有更深入的了解:

  1. 仅仅输入一句话,AI如何理解其含义并将其转化为图像信息?
  2. AI绘画过程中使用的噪声图像从何而来?
  3. 噪声图像是如何被逐步“净化”,最终形成清晰图像的?
  4. AI如何判断哪些“马赛克”是无用的,并确保最终图像符合预期效果?
  5. 即使使用相同的提示词,为什么每次生成的图像都略有不同?

如果你对这些问题感到困惑,请不要担心。接下来,我们将详细讲解AI绘画的绘制过程,以便更好地理解这些问题。

AI绘画的演变:从模糊到清晰

AI绘画技术发展迅速。去年,《太空歌剧院》获得了科罗拉多州艺术一等奖,这在当时引起了巨大的轰动。

然而,几年前的AI绘画效果却截然不同。例如,2012年,吴恩达及其团队使用1.6万个GPU和数万张图片,花费三天时间才生成了一张猫的图像,效果如下:

AI绘画原理详解:一文读懂人工智能如何创作图像

现在,AI绘画的效果已经有了质的飞跃。普通人只需输入一句话,几秒钟内就能生成精美的艺术作品,例如:

AI生成的图像

Source: https://liblib.ai/ 官网

这些图像不仅画质高清、细节精致,而且具有很强的写实感,甚至可以媲美专业摄影师的作品。

那么,AI是如何变得如此优秀,仅凭一句话和几个参数就能生成如此高质量的作品呢?

简单来说,AI绘画的原理就是:

通过逐步去除图像中的“马赛克”,最终呈现清晰的图像。

虽然多年前一些技术也采用了类似的技术,但AI绘画本质上是1对N的还原,它通过逐步消除“马赛克”,最终“揭示”隐藏的图像,从而完成所谓的“AI绘画”。

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制:Designed byLiunn

在使用AI绘画软件或模型时,第一步通常是输入绘画关键词,即Prompt。

以Diffusion Model为例,我们可以将最右边的图像视为正常图片。从右向左看,图像逐渐模糊,直至完全无法辨认。这个过程就是算法叠加噪声的过程。

你可以将其理解为对图片进行不断地马赛克处理。这就是著名的“扩散(Diffusion)”过程

AI绘画原理详解:一文读懂人工智能如何创作图像

Source:https://mp.weixin.qq.com/s/ZtsFscz7lbwq_An_1mo0gg

举个例子,可以将这个过程想象成你在发朋友圈照片时,为了保护隐私,使用“编辑”功能对某些区域进行涂抹,直到这些区域无法辨认。

每一次的噪声迭代都与上一次的状态密切相关,这本质上是一个马尔科夫链模型(一种随机模型)。

反之,如果将这个过程倒过来,从左向右处理,那么就是逐步去除图像噪声,使其变得清晰的过程。

这就像你的朋友圈照片上的马赛克越来越少,这就是 Diffusion Model 的基本原理

到这里,我们对AI绘画的大致流程和原理有了初步的了解。接下来,我们将逐一分析之前提出的五个核心问题。

问题一:AI如何理解文本信息

你输入的文字,AI 如何知道你想要表达什么?

根据上述原理,图像是通过逐步去除“马赛克”来生成的。那么,我输入的文本信息是如何与特定的“马赛克”图像匹配的呢?

目前,AI绘画最常见的使用方式是在模型或软件中输入一段文字描述(Prompt),包括主体、背景、人物、风格、参数等。然后,系统会根据这些信息生成一幅图像。

例如,输入“一个穿着背带裤打篮球的鸡”,效果如下:

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制:Source: Designed byLiunn

AI绘画的底层是一个图像模型,它属于大模型的一种。

早期,文本控制模型的方法是让模型生成大量图片,然后由分类器选择最符合描述的图片。这种方法虽然可行,但当数据量达到一定程度时,就会面临性能瓶颈(想象一下用Excel处理上百亿行数据)。

因此,我们需要一种既能处理海量图像数据,又能高效快速地进行处理的方法。OpenAI 于 2021 年推出的 OpenCLIP 正是为此而生。

CLIP 的工作原理可以简单理解为:爬取网络上的文本和图片信息对,构建数据库。

1. CLIP 的爬虫和数据库

CLIP 的最大亮点在于使用了海量数据,构建了一个庞大的数据库。

每次 CLIP 爬取到一张图片后,都会给图片打上对应的标签和描述(实际上,CLIP 是根据从网络上抓取的图像及其 “alt” 标签进行训练的)。

AI绘画原理详解:一文读懂人工智能如何创作图像

Source:https://jalammar.github.io/illustrated-stable-diffusion/,引自Jay Alammar博客

然后,从768 个维度重新编码这些信息(可以理解为从 768 个不同的角度来描述这张图)。

接着,根据这些信息构建出一个超多维的数据库,每个维度都会与其他维度交叉关联。

相似的维度会相对靠拢在一起。通过这种方式,CLIP 不断爬取数据,最终构建了一个包含大约 4~5 亿条记录的数据库

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制:Source: Designed byLiunn

2. CLIP 的文本图像匹配能力

有了数据库后,如何将库中的图像与输入的文字匹配呢?这又分为两个步骤:

步骤 1:建立文本-图像匹配能力

下图展示了算法的原理。简单来说,CLIP 通过大量数据训练,不断学习关联图片和文字,并通过与正确答案对比,不断调整自身,最终达到精确匹配关键词和特征向量的目的。

AI绘画原理详解:一文读懂人工智能如何创作图像

Source: https://github.com/openai/CLIP

下图是一个简化的算法模型,展示了 CLIP 如何识别文本和图像的关联:

AI绘画原理详解:一文读懂人工智能如何创作图像

作图绘制参考Source: https://jalammar.github.io/illustrated-stable-diffusion/,Designed By Liunn

步骤 2:进行文本-图像匹配的关联

当我们开始作画时,输入文本描述(Prompt)。CLIP 模型会根据 Prompt 在数据库中从 768 个维度进行相似度匹配,然后提取图像和文本编码后的特征,计算出一个相似性矩阵

通过最大化对角线元素,同时最小化非对角线元素的约束,不断地优化和调整编码器,最终使文本和图片编码器的语义强关联起来。

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制:Source: Designed byLiunn

最后,当找到最相似的维度描述后,将这些图像特征全部融合到一起,构建出本次要生成的图像的总图像特征向量集.

至此,输入的一段话就被转换成了本次生成图像所需要的全部特征向量,也就是 AI 所谓的“理解了你想画什么样的画了”。

这一突破是 AI 领域的重要里程碑。

有了 CLIP 这一创新举措,文本和图像之间的鸿沟被彻底打破,一座文本和图像之间关联的桥梁被搭建起来,再也不需要像以前那样通过人工打标签的方式来处理图像。

问题二:原始噪声图的来源

上面提到,AI绘画是将“马赛克”一点点抹掉的过程。那么,所谓的“马赛克”图,也就是噪声图,是怎么来的呢?

噪声图由扩散模型生成,先记住这个概念:“扩散模型”

在讲解扩散模型之前,需要先了解另一个概念:AI 生成图片的过程,是人工智能领域的一个分支,叫做生成模型(Generative Model)

生成模型主要用于生成图像。它通过输入大量真实的图片,让 AI 不断学习和认识,然后根据训练效果,自己生成新的图片。

在生成模型中,有一个叫做自动编码器的组件,它包含两个部分:编码器和解码器

编码器可以将较大的数据量压缩为较小的数据量,但压缩的前提是这个较小的数据量能够代表原始的大数据量。

解码器则可以根据这个较小的数据量,在适当的条件下,还原为原始的大数据量。

那么,如果直接给它一个较小的数据量,看看它自己能随机扩展成什么样的大数据量呢?

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制:Source: Designed byLiunn

答案是可以的,但测试效果通常不佳。

因此,自动编码器并不理想。于是,科学家们发明了另一种工具,叫做 VAE(变分自动编码器,Variational Auto-encoder)

VAE 的作用是将较小的数据量进行规律化,使其符合高斯分布的概率。

这样,就可以依据概率变化来调整图片信息。但问题在于,这种方法过于依赖概率,而大部分概率都是基于理想情况的假设。那么,该怎么办呢?

这时,科学家们想到,能不能让两个 AI 协同工作:一个负责生成图像,一个负责检验生成结果是否符合要求,也就是 AI 互相评估真假。这就是 GAN(对抗神经网络) 的诞生。

GAN 一方面生成图片,一方面自己检测生成结果是否符合要求。如果 GAN 检测到某些细节没有按照要求生成,它就会不断加强这部分的处理,最终生成让自己满意的结果。通过成千上亿次的迭代,最终生成一个 AI 图片,并且 GAN 检测也通过。

但问题又来了:

GAN 既要当运动员,又要当裁判,任务繁重,不仅消耗大量计算资源,而且容易出错,稳定性也较差。那么,能不能让 AI 不搞这么复杂,用一套流程完成图像生成呢?

答案是肯定的。这就是跨越生成模型时代后,扩散模型时代到来的原因

回到扩散模型的话题。

扩散模型最早由斯坦福大学和加州大学伯克利分校的专家在 2015 年的相关论文中提出,它依据正态分布给图像逐步增加噪声。到了 2020 年,加噪声的过程被改为根据余弦相似度的规律来处理。(文末附上了 15 年和 20 年的原始学术论文链接,感兴趣的读者可以自行阅读)

根据余弦调度逐渐正向扩散原始图像,就像把一个完整的拼图一步一步拆开,直至完全打乱。

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制:Source:Designed byLiunn

到这里,第二个问题也解决了。当你看到这里的时候,AI 绘画的输入信息基本就准备就绪了。

问题三:模型如何去除噪声

AI 将文字转换成特征向量,也获得了噪声图片。但噪声图是如何一点点被去除“马赛克”的呢?

它是如何消除掉马赛克的呢?这里面分为两个步骤:

  1. 降维数据运算,提升运算效率;
  2. 设计降噪网络,识别无用噪声,精准降噪。

1. 降维数据运算

还记得上文提到的自动编码器吗?

图像特征向量和噪声图会被一起输入到编码器中进行降噪,也就是去除马赛克的过程。

但这里存在一个问题:一张 512*512 的 RGB 图片需要运算 786432 次,即 512*512*3 = 786432 条数据,这个运算量过于庞大。

因此,在这些数据进入编码器之前,它们会被压缩到潜空间中,降维到 64*64*4 = 16384 条数据(你可能在使用 Stable Diffusion 时注意到,调整图像大小时,最小只能拖动到 64px,这就是其中的原因)。

AI绘画原理详解:一文读懂人工智能如何创作图像

Source:https://jalammar.github.io/illustrated-stable-diffusion,Designed byLiunn

这样,整个文生图的任务就能够降维到消费级的 GPU 上运算(虽然现在算力仍然是一个问题,A100 都很少吧?有的话私我!)。

降低了落地门槛,运算和配置效率都得到了极大的提升。

2. 设计降噪网络

理解了数据降维的问题,我们继续看 AI 如何逐步去除噪声生成新图。图像编码器又是如何给图像降噪,从而生成一张全新的图片的呢?

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制:Designed byLiunn

关于降噪方式,ddpm 在 2020 年底的相关论文中预测了三件事:

  1. 噪声均值(mean of noise):预测每个时间步长的噪声均值
  2. 原始图像(original image):直接预测原始图像,一步到位。
  3. 图像噪声(noise of image):直接预测图像中的噪声,以获得噪声更少的图像。

现在的模型大多采用第三种方式。

那么,这个去除噪声的网络是如何设计的呢?

这主要归功于编码器中的 U-Net(卷积神经网络-图像分割)

AI绘画原理详解:一文读懂人工智能如何创作图像

Source:https://jalammar.github.io/illustrated-stable-diffusion/

U-Net 是一个类似于编码-解码器的漏斗形状的网络(上图左)。不同之处在于,U-Net 在相同层级的编码、解码层增加了直连通道(你可以理解为两栋大楼之间,同一楼层之间加了连桥,可以走动)。

这样做的优点在于,处理图片时,相同位置的信息在编码、解码过程中可以方便快捷地进行信息传输

那么,它是如何工作的呢?

刚才我们提到,DDPM 认为,目前基本上所有的模型都采用直接预测图像中的噪声,以便获得一张噪声更少的图片。

U-Net 也是如此。

U-Net 根据在第一节中提到的图像的全部特征向量集合,从中通过采样的方式抽取一部分特征向量,再根据这些向量识别出其中的无用噪声

然后,用最开始的全噪声图和当前这次预测的噪声做减法(实际处理过程比这会复杂一些),得到一个比最开始噪声少的图。然后再拿这个图重复上述流程,再次通过采样的方式抽取一部分特征向量,再去做噪声预测,然后再拿 N-2 次的图像和 N-1 次的图像相减,得到 N-3 次的图像。

继续重复上述流程,直至最终图像清晰,没有噪声或没有识别出无用的噪声为止,最终生成一张符合要求的图像

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制思路:Source:https://jalammar.github.io/illustrated-stable-diffusion/,Designed byLiunn

这里,有些读者可能会注意到,其中还涉及到一个采样方法的环节。

每一次采样,根据不同的采样方法,可以使用相同的方式,也可以使用不同的方式。不同的采样方法会抽取不同维度、不同特质、不同规模的特征向量,最终确实会对输出结果产生影响(这也是影响 AI 绘画可控性的因素之一)。

最后,还记得刚刚提到的数据降维吗?

降维是为了降低运算量,加快速度。降维后,数据会进入到一个潜空间里。那么,图像全部降噪完成后,会通过图像解压器,也就是 VAE 模型,重新还原回来,被重新释放到像素空间里(可以理解为 iPhone 中云端存储的照片,你最开始看到的是缩略图,当你点击大图想看的时候,会慢慢从云端下载,变成高清的)。

以上就是噪声模型网络去噪的简易过程

问题四:应该去除哪些无用的噪声

AI 是如何按照我描述的来去除特定的马赛克,而不是我写了“狗狗”,画出来一只“猫咪”呢?

U-Net 模型如何识别应该去除哪些噪声呢?其实这就是一个模型训练的过程。

讲解模型训练之前,需要先普及几个概念:

  • 训练集: 用来不断让 AI 学习和纠错的数据集合,你可以理解为打篮球时教练带你在训练场训练。
  • 强化学习: 当 AI 犯错的时候,告诉它错了;当 AI 正确的时候,告诉它对了;你可以理解为篮球教练在不断纠正你的投篮姿势,让你训练的更快更强。
  • 测试集: 用训练集训练一段时间后,用来测试 AI 能力的数据集合,你可以理解为打篮球时训练半年后,组织了一场友谊赛。

先看 U-Net 的训练集是如何构建的,主要分为四个步骤:

  1. 从图文数据集中随机选择照片
  2. 生产不同强度的噪声,顺次排列。
  3. 随机选择某个强度的噪声
  4. 将该噪声加到图片里

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制思路:Source:https://jalammar.github.io/illustrated-stable-diffusion/,Designed byLiunn

再来看 U-Net 是如何处理的。

U-Net 的训练集是很多张已经叠加了随机噪声的数据库,可以理解为很多添加了马赛克的图片(篮球训练场地)。然后让 AI 不断地从这个数据库里抽取图片出来,自己尝试抹去噪声。全部抹掉后再来和这张图的原图做比对,看看差别有多大。

AI绘画原理详解:一文读懂人工智能如何创作图像

图像绘制思路:Source:https://jalammar.github.io/illustrated-stable-diffusion/,Designed byLiunn

计算出这个差距,然后重新去库里抽取,再尝试抹去噪声(强化学习),循环无数次,最终实现的效果是,无论怎么随机抽,并且换一个新的噪声图片库(测试集),AI 抹掉噪声后的图像也能和原图很像(风格都类似,不一定是原图,这也就是为什么 AI 每次出图都不一样)。

这样就算通过了,这个模型就算 Ready 了(可以上线了)。

以上就是 U-Net 识别并去除无用噪声的过程。

问题五(稳定性控制):如何控制出图效果?

经常使用 AI 绘画的小伙伴会发现,目前大模型最不可控的地方就是它的不稳定性。

那么,如果想要稍微控制下 AI 绘画的效果,有什么好的方法吗?

这里给出四种方式,供大家参考。

1. 调整 Prompt (调整图片的 CLIP 特征)

通过输入不同的描述词,以及更改局部 Prompt,逐步引导 AI 模型输出不同的图像。其本质就是更改了匹配到的 CLIP 对应的待处理的图像特征向量集合,最终生成的图像会不断地调整和优化(这里还有一些玄学技巧,比如给某些 Prompt 里的部分起名字,也可以获得稳定性,本质是给部分 Prompt 结构打标记,便于 AI 算法识别)。

2. 垫图 (加噪声)

现在主流的 AI 绘画软件和模型都支持垫图功能,也就是你上传一张图,然后根据你这张图的轮廓或者大概样式,再生成一张图。

其本质就是将你上传的图叠加几层噪声,然后拿这个叠噪后的图片作为基础再让 AI 进行去噪操作,后续流程不变,所以最终风格、结构和原图相似的概率很大。

值得一提的是,现在很多 Webui 还支持选择和原图相似度多少的操作,对应到算法上其实就是在问你要叠加多少层噪声。当然,叠加的噪声越少,越和原图相似,反之可能越不像(不过这也是概率问题,也会存在叠加的噪声多的时候生成的图也比叠加的少的时候更像的情况)。

3. 插件 (训练模型)

以最典型、最经典的 ControlNet 来说,可以通过任意条件或要求来控制生成的效果,基本上可以说是指哪打哪。

其本质你可以理解为是通过一张图来训练模型,达到自己想要的效果。

它把去噪模型整个复制了一遍,然后两个模型并行处理,一个做常态去噪,一个做条件去噪,最后再合并,达到稳定控制的效果。

AI绘画原理详解:一文读懂人工智能如何创作图像

4. 训练模型 (Finetune)

这个不解释了吧,就是你自己有很多图,自己建个图像库,然后不断地训练大模型去识别这些图像,最终给模型一两个词,大模型就能识别且生成相似的图像,这样就实现了 Finetune 一个自己的小模型的效果。

注意:Finetune 需要注意边界和力度,测试集的效果的评判指标要做好,否则训练时间很久的时候,就会对小样本数据过拟合,这样会失去大模型的泛化性,可能得不偿失(也有解决方案,比如 Reply,让大模型重新学一遍,或者正则化模型,或者做并行模型,细节不展开)。

恭喜!当你阅读到这里的时候,基本上已经了解了 AI 绘画的前因后果。由于是将很多算法文章抽象为通俗易懂的语言,因此很多细节都被略去了。希望本文能起到抛砖引玉的作用。如有遗漏或不当之处,欢迎大家交流学习。

一些题外话:

AIGC 技术的发展,除了数据突破、算力突破、算法突破等等之外,最重要的一点是:开源

开源代表着公开、透明、分享、共同进步,期待共创。包括像上面提到的 CLIP(OpenAI 共享了模型权重),不可否认有些国家核心技术不能开源可以理解,但是 AI 开源这事,确实可以让众多研究人员、科学家、学者甚至野生的爱好者获得最大的信息量和透明度

在此基础上,快速、健康、多样化地进行衍生和发展,对整个 AI 生态的长期、可持续、良性发展极其有利。

分享即学习,AI 的新时代永远是共享、透明的主旋律。

尽量抛弃有个好想法就闭门造车的状态,共同打造一个 AIGC 环境和氛围。

AI绘画原理总结

AI绘画的原理可以概括为:AI通过学习大量的图像和文本数据,理解文本描述与图像之间的关系。然后,通过扩散模型生成噪声图像,并利用降噪网络逐步去除噪声,最终生成符合文本描述的清晰图像。用户可以通过调整Prompt、垫图、使用插件或训练模型等方式来控制出图效果。

© 2025 爱狐网络 - AI绘画原理详解:一文读懂人工智能如何创作图像

本文链接:https://www.aihu168.com/archives/647.html

除非特别注明,本站文章均为原创,转载请注明出处!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注