人工智能绘画的算法和原理简述

无论是DALL-E 2、Midjourney还是Stable Diffusion,它们的主要算法和原理都基于扩散模型,并且它们之间也存在千丝万缕的联系。

人工智能是一种模拟人脑神经网络的技术。通过训练,它可以学习各种任务,比如绘画。当我们让AI学习绘画时,它会结合文字进行训练。通过大量填鸭式的训练,在某个时刻,它会突然领悟,能够根据文字要求进行绘画,并且它的绘画具有类似人类的逻辑性,它的能力得到了快速提升。

目前,扩散模型是最常用的AI生成图像的方法之一。扩散模型基于非平衡热力学,这是热力学的一个分支,专门研究不处于热力学平衡中的物理系统。一个典型的例子是一滴墨水在水中扩散。在墨水开始扩散之前,它会在水中某个地方形成一个大的斑点。

如果要模拟墨水开始扩散前的初始状态概率分布,将会非常困难,因为这个分布非常复杂,很难进行采样。然而,随着墨水扩散到水中,水逐渐变成淡蓝色,墨水分子会更加简单和均匀地分布。此时,我们可以使用数学公式来描述其中的概率分布。非平衡热力学可以描述墨水扩散过程中每一步的概率分布。由于扩散过程的每一步都是可逆的,因此只要步长足够小,我们就可以从简单的分布中推断出最初的复杂分布。

通过墨水的例子,我们可以得到一个启示:如果我们使用像素图对模型进行存储,那么将需要大量的硬件资源;相反,如果我们使用高斯噪点图进行存储,那么采样分布将更加容易。我们可以轻松地使用数学公式描述高斯分布的概率,并从简单的高斯分布中进行采样。因此,模型库可以采用高斯噪点图进行存储,这样反转过程也相对容易。这种方法在节省存储空间的同时,还能够保留模型的重要特征。

为了便于理解,我们再举一个例子,扩散模型类似于乐高玩具,打散后就是一个个的小方块,相当于变成噪点,小方块组装成各种各样的造型,类似于去噪的过程。

应用于AI绘画的过程中,可以通过逐步添加高斯噪声(模拟墨滴在水中扩散)来处理一幅图像。最终,这幅图像会变成高斯分布(模拟墨滴最终均匀扩散到水中)。高斯分布是一种非常容易建模和采样的概率分布,因此它在AI绘画的训练过程中起到了重要作用。推理过程则是将这个过程逆向进行,从一个均匀分布的高斯分布中进行采样,并逐步去除噪声,最终得到一幅完整的图像,这也就是将墨水扩散的过程进行逆转的过程。

下图展示了扩散模型的加噪与去噪的过程。扩散模型的原理包括两个步骤:首先是正向扩散,逐渐给图像添加高斯噪声,直到获得纯噪声的图像;然后,通过训练一个神经网进行图像去噪,从纯噪声的图像开始,直到获得最终的图像。

那么,AI绘画具体是怎么工作的呢?以Stable Diffusion为例,首先输入提示词,如"戴眼镜的少女",然后Stable Diffusion开始工作,主要分为三个部分,如图1-16所示。
Stable Diffusion基本原理

第一部分:文本编码。通过图像转换特征,把文本转换为数字信息,并提取出关键标记,如眼镜、少女、金属、年轻等。

第二部分:潜在空间生成。使用图像信息生成器,主要使用U-net调度算法生成图像。

第三部分:变分自编码器(VAE)编码。通过VAE图像解码器,把潜在空间64×64像素的图像解码成512×512像素的图像,从而绘制出训练图像。

给AI绘图提供文本的提示词也被称为指令,被用户戏称为"咒语"。通过Stable Diffusion的计算,可以在WebUI界面上生成直观的图像。AI绘画的过程实际上比描述的更加复杂。

即使不是AI算法工程师,如果深入了解其具体编码过程,熟悉其基本原理对使用者以后无论是生成图像、训练模型还是使用ControlNet工具编辑图像都会有很大帮助。这种了解有助于使用者更好地创作和提高操作AI绘画工具的能力。

相关推荐
金融小师妹17 分钟前
应用BERT-GCN跨模态情绪分析:贸易缓和与金价波动的AI归因
大数据·人工智能·算法
武子康20 分钟前
大语言模型 10 - 从0开始训练GPT 0.25B参数量 补充知识之模型架构 MoE、ReLU、FFN、MixFFN
大数据·人工智能·gpt·ai·语言模型·自然语言处理
广州智造23 分钟前
OptiStruct实例:3D实体转子分析
数据库·人工智能·算法·机器学习·数学建模·3d·性能优化
jndingxin2 小时前
OpenCV CUDA模块中矩阵操作------降维操作
人工智能·opencv
MARS_AI_2 小时前
智能呼叫系统中的NLP意图理解:核心技术解析与实战
人工智能·自然语言处理·nlp·交互·信息与通信
Trent19852 小时前
影楼精修-肤色统一算法解析
图像处理·人工智能·算法·计算机视觉
Blossom.1185 小时前
使用Python实现简单的人工智能聊天机器人
开发语言·人工智能·python·低代码·数据挖掘·机器人·云计算
科技小E5 小时前
EasyRTC嵌入式音视频通信SDK打造带屏IPC全场景实时通信解决方案
人工智能·音视频
ayiya_Oese5 小时前
[模型部署] 3. 性能优化
人工智能·python·深度学习·神经网络·机器学习·性能优化