一文搞懂扩散原理,AI图片是如何生成的

AI 图像生成的核心 —— 扩散模型全解读。

微信搜索关注《AI科技论谈》 

在AI图像生成领域,扩散模型堪称幕后“超级引擎”。DALL-E 3、MidJourney、Stable Diffusion 3等热门AI图像生成器,都以它为核心技术。

扩散模型受统计物理学启发,借助马尔可夫链转变分布,相关专业资料往往满是数学知识,让人却步。

本文从技术角度出发,避开复杂数学,深入浅出解读扩散模型,帮助读者轻松掌握其核心原理。

一、扩散模型

扩散模型有两个过程:正向过程和反向过程。两个过程都要进行T步扩散(通常T=1000)。

基本扩散模型。从左到右:反向过程;从右到左:正向过程

基本扩散模型。从左到右:反向过程;从右到左:正向过程

在正向扩散过程q中(从右到左),我们从时间步t=0开始,输入图像为x0。在每一步,我们向前一幅图像xt-1添加一些噪声,得到新图像xt。具体来说,添加的噪声来自多元高斯分布,该分布由一组选定的超参数定义。

二维高斯分布示意图,由二维均值向量和2x2维协方差矩阵表征。图片源自Wikimedia

二维高斯分布示意图,由二维均值向量和2x2维协方差矩阵表征。图片源自Wikimedia

有趣的是反向过程p。其核心思路是在大型图像数据集上训练一个深度神经网络(具有可学习参数theta),以迭代地逆转正向过程。

在反向过程中,从时间步t=T开始,初始图像xT是一幅充满噪声的图像,目标是最终得到去噪后的图像x0。在每一步,神经网络预测应该给前一幅图像xt添加何种高斯噪声,以生成下一幅图像xt-1

具体而言,在每个时间步,神经网络会估计图像中每个像素的噪声均值和方差 。方差通常固定为已知常数(超参数),所以只需预测均值。

Stable Diffusion使用的去噪过程。该模型通过迭代对随机噪声进行去噪,直至达到设定的步数。图片源自Wikimedia

Stable Diffusion使用的去噪过程。该模型通过迭代对随机噪声进行去噪,直至达到设定的步数。图片源自Wikimedia

最初,Stable Diffusion使用卷积神经网络(CNN)U-Net作为模型架构,但现在基于Transformer的架构,如扩散变换器(Diffusion Transformer,DiT)或多模态扩散变换器(MultiModal Diffusion Transformer,MMDiT),也被用于生成图像。

扩散变换器(DiT)架构

扩散变换器(DiT)架构

可以直接在像素空间中处理图像x。不过,更高效的做法是通过编码器将图像转换到较小的潜在空间,在潜在空间中进行扩散过程,然后再通过解码器将其转换回图像。这类模型被称为潜在扩散模型(Latent Diffusion Models,LDMs)。

潜在扩散模型(LDM)架构(x:图像;Epsilon:编码器;D:解码器)。扩散过程在低维潜在空间中进行,而非直接在像素空间中进行

潜在扩散模型(LDM)架构(x:图像;Epsilon:编码器;D:解码器)。扩散过程在低维潜在空间中进行,而非直接在像素空间中进行

为了生成高分辨率图像,可以堆叠多个扩散模型。例如,在DALL-E 2中,第一个扩散模型生成64x64像素的低分辨率图像。然后,一个扩散上采样模型将该图像转换为256x256的图像,第二个上采样模型再将其转换为1024x1024的图像。

上述扩散模型可以生成与训练数据中的图像相似的随机图像。然而,我们还缺少一个关键要素:告诉模型生成内容的提示词。

二、引导扩散

引导扩散意味着从基本的无条件扩散模型转变为条件扩散模型。在引导扩散中,我们使用额外信息,如文本描述c或类别标签y,将扩散过程导向期望的方向。

分类器引导在反向扩散过程中,使用分类模型根据当前图像xt预测类别标签y

CLIP引导使用预训练的CLIP模型作为分类模型,该模型通过点积比较编码后的图像f(xt)和编码后的文本描述g(c),以判断图像与文本描述的相似程度。

这些信息用于修改神经网络预测的高斯噪声,从而在每个时间步t将图像导向期望的方向。引导的程度可以由一个名为梯度缩放或引导尺度的参数控制。当尺度s=0时,模型完全忽略引导;s的值越大,模型得到的引导就越多。

另一种方法是对条件引导信息进行转换,然后将其传递给神经网络架构,例如将图像文本描述嵌入连接到基于Transformer的DiT中的标记上。

无论采用哪种方式,文本提示词/图像文本描述都会经过转换,然后以某种形式注入到条件扩散模型中,提供引导。

文本条件扩散模型

文本条件扩散模型

也可以将图像作为条件扩散模型的输入进行引导,例如提供风格参考。

三、总结

现代AI图像生成器的核心是扩散模型。扩散模型的正向过程是向图像中迭代添加高斯噪声,反向过程则是神经网络预测高斯噪声,以逆转正向过程。神经网络通过在大型图像数据集上进行训练来实现这一功能。

条件扩散模型将额外的引导信息(如文本提示词)整合到反向过程中,这样我们就能控制生成图像的类型。引导尺度参数则控制引导的程度。

精彩回顾

数据分析神器PandasAI,帮你高效处理10项常见任务

6款必知的AI Agent工作流,优缺点解析

QwQ-32B本地部署教程来了,全新开源推理大模型,性能比肩DeepSeek满血版

解读Deep Research:传统RAG已死,带你实现Agentic RAG

大模型应用开发平台Dify推出1.0版本,基于向量数据库Milvus实现RAG

从推理到编程,详细比较DeepSeek 32B、70B、R1实践性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值