分享好友 最新动态首页 最新动态分类 切换频道
AIGC-Stable Diffusion发展及原理总结
2024-12-26 09:32

目录

AIGC-Stable Diffusion发展及原理总结

一. AIGC介绍

1. 介绍

2. AIGC商业化方向

3. AIGC是技术集合

4. AIGC发展三要素

4.1 数据

4.2 算力

4.3 算法

4.3.1 多模态模型CLIP

4.3.2 图像生成模型

二. Stable Diffusion 稳定扩散模型

1. 介绍

1.1 文生图功能(Txt2Img)

1.2 图生图功能(Img2Img)

2. 技术架构

step1 CLIP Text Encoder

(1) CLIP介绍

(2) CLIP架构

step2 LDM之VAE Encoder

step3 LDM之Diffusion

(1) 前向扩散:加噪

(2) 反向扩散:去噪

a) SD核心:U-Net

b) Transformer2DModel: 加入条件控制

(3) 如何训练噪声预测器

step4 LDM之VAE Decoder

三. 参考


这两年,短视频平台上“AI绘画“非常火爆,抖音一键换装、前世今生之类的模板大家没玩过也应该听说过。另一个火爆应用当属ChatGPT,自2022年ChatPGT3.5发布后,快速累积了超百万用户,可谓家喻户晓。这两个概念均来自同一个领域,即AIGC。

AIGC全称是AI Generated Content, 直译:人工智能生成内容,也叫生成式人工智能

AIGC是继­专业生产内容(PGC, Professional-genrated Content)、用户生产内容(UGC,User-generated Content)之后的新型内容创作方式,是互联网内容创作方式的一次革新。AIGC可以在对话、故事、图像、视频和音乐制作等方面,打造全新的数字内容生成与交互形式。

2022年8月,一位没有绘画基础的参赛者利用AI绘画工具 Midjourney创作的《太空歌剧院》在美国科罗纳州举办的新型数字艺术家竞赛中,获得“数字艺术/数字修饰照片”类别一等奖,由此,AI绘画进入大众视野。同年,AI绘图模型Stable Diffusion开源,助力AI绘画破圈得到广泛关注。

2022年11月30日,ChatGPT推出,5天后用户破百万,两个月后月活用户突破1亿,称为史上用户增长速度最快的消费级应用程序。

2021年开始,风投对AIGC的投资金额出现爆发式增长,2022年超20亿美元。据美国财经媒体Semafer报道,微软预计向ChatGPT的开发者OpenAI投资100亿美元。

2022年,因此被称为“AIGC元年”

AIGC的出现,打开了一个全新的创作世界,为人们提供了无尽的可能性。AIGC生成的内容种类和范围随着技术的发展也在不断扩大。目前,常见的内容包括

  • AI文本生成OpenAI GPT系列为代表的模型,实现自动写邮件、广告营销方案等

  • AI文生图/图生图如使用“跨模态模型CLIP+扩散模型Diffusion“实现的文生图模型Stable Diffusion

  • AI文生视频,如OpenAI今年2.16日发布的Sora,颠覆了全球AI生成视频市场的格局

更多AIGC应用可见:AIGC工具导航 | 生成式AI工具导航平台-全品类AI应用商店!

AIGC不是某一个单一的技术或者模型,AIGC使一个技术集合。概括来说,它是基于生成对抗网络GAN、大型预训练模型等人工智能技术,通过已有数据寻找规律,并通过适当的泛化能力生成相关内容的技术集合。简单理解就是所有的AIGC方向的模型,都不是单一模型实现的,而是通过刚才说的技术组合训练得到的。

4.1 数据

UGC生成的规模化内容创造了大量学习素材,互联网数据规模快速膨胀。

4.2 算力

图形处理器GPU张量处理器TPU等算力设备性能不断提升A100,H100等加速卡

4.3 算法

当前AIGC技术已经从最初追求生成内容的真实性的基本要求,发展到满足生成内容多样性、可控性的进阶需求,并开始追求生成内容的组合型。数字内容的组合性一方面关注复杂场景、长文本等内容中各个元素的组合,如虚拟数字世界中人、物和环境间的交互组合,并生成整体场景;另一方面,追求概念、规则等抽象表达的组合,以此完成更加丰富和生动的数字内容生成。这些新需求对传统单一模态的人工智能算法框架提出了新的挑战

预训练大模型多模态方向的发展,为AIGC技术发展和升级提供了基石

4.3.1 多模态模型CLIP

由于CLIP 两模块之一的Text Encoder是基于Transformer的模型,所以Transformer才被称为”跨模态重要开端之一“

4.3.2 图像生成模型

模型

组成

优点

缺点

GAN

GAN = 生成器 + 判别器

  • 生成器将一个随机噪声向量映射到数据空间,生成一个伪造的样本
  • 判别器接收来自真实数据和生成器的样本,进行判断分类成真实还是伪造
  • 生成器的训练是通过与判别器的对抗性训练来实现的,即生成器试图生成能够愚弄判别器的样本,而判别器则试图区分真实样本和生成样本 

生成的图片逼真

  • 由于要同时训练判别器和生成器这两个网络,训练不稳定
  • GAN主要优化目标是使图片逼真,导致图片多样性不足
  • GAN的生成是隐式的,由网络完成,不遵循概率分布,可解释性不强

VAE

VAE = 编码器 + 解码器

AVE将输入数据编码成一个符合正态分布的数据分布,学习图片的数据分布特征

学习的概率分布,可解释性强,图片多样性足

​产生图片模糊,原因可参考:破解VAE的迷思_vae生成的图像为什么模糊-CSDN博客

Diffusion

Diffusion = 前向扩散 + 反向扩散

  • 生成的图片逼真
  • 数学可解释性强

由于是在像素空间做的扩散,数据量多,训练成本高昂、速度慢,需要多步采样

Latent Diffusion

Latention Diffusion = VAE+Diffusion

潜在扩散模型

Latent Diffusion通过引入VAE, 解决速度慢的问题VAE将像素空间的输入压缩编码成Latent潜在空间的概率分布,SD的Latent Space为4x64x64, 比图像像素空间3x512x512小48倍,减少空间占用,之后再进行模型扩散,这样可以加速训练。

  • 生成的图片逼真
  • 数学可解释性强
  • 训练成本低、速度快


Stable Diffusion 是Stability AI公司于 2022 年10月发布的深度学习文字到图像生成模型。它主要用于根据文字的描述产生详细图像,能够在几秒钟内创作出令人惊叹的艺术作品。Stable Diffusion的源代码和模型权重已分别公开发布在GitHubHugging Face,它的参数量只有1B左右,可以在大多数配备有适度GPU的电脑硬件上运行。

训练数据集

LAION-5B是一个公开的数据集,源自网络上抓取的图片-标题数据,这是一个由6亿张带标题的图片组成的子集。这个最终的子集也排除了低分辨率的图像和被人工智能识别为带有水印的图像。对该模型的训练数据进行的第三方分析发现,在从所使用的原始更广泛的数据集中抽取的1200万张图片的较小子集中,大约47%的图像样本量来自100个不同的网站

训练成本

亚马逊云计算服务平台,256 x NV A100 GPU, 15万个GPU小时(单卡约73h=3day),成本为60万美元

发行版本

1.1 文生图功能(Txt2Img)

Stable Diffusion演示 

1.2 图生图功能(Img2Img)


Stable Diffusion是潜在扩散模型Latent Diffusion Model(简称LDM)的一种变体。

Stable Diffusion = CLIP Text Encoder + Latent Diffusion(VAE+Diffusion)


step1 CLIP Text Encoder

SD只用到了CLIP模型的Text Encoder预训练模型,权重固定,它会将文本编码成语义向量,该语义向量对应一个图像。

(1) CLIP介绍
  • 全称Contrastive Languange-Image Pre-Training,是OpenAI 2021.1发布的基于对比学习的文图多模态模型,核心是“Connecting text and images
  • 训练数据集WIT(WebImage Text,OpenAI自己网页爬虫创建的一个超过4亿图像-文本对数据集)
  • 模型组成
    • 基于Transformer Text Encoder
    • 基于CNN/VITImage Encoder两个模型

(2) CLIP架构

CLIP会提取文本特征和图像特征通过对比学习,计算文本特征和图像特征的余弦相似性(cosine similarity,让模型学习到文本和图像的匹配关系。

SD只用到了步骤(1)的成果

  1. CLIP是自监督模型,就是说,CLIP不像传统的视觉模型,如Resnet系列模型,需要用标注好类别的图像进行训练,CLIP使用的数据集本身带有文本-图片的对应关系。
  2. 前向推理时,N组图片-文本数据,分别编码得到语义特征和图片特征后,计算其相似度,得到NxN个预测值,表明文本特征和每一个图片特征的相似度
  3. 若对角线是匹配的文本-图像对,则记为正样本,其他位置则记为不匹配的负样本
  4. 定义对比损失函数Contrastive Loss,计算正负样本的相似度,得到损失函数的结果值(这个损失函数的目标是:最大化正样本对的相似度, 同时最小化负样本对的相似度——计算原理暂未研究
  5. 对损失函数进行求导,计算梯度,用于指导参数的更新方向
  6. 更新模型参数,迭代优化

对比学习预训练学习的是整个句子与其描述的图像之间的关系,而不是像猫、狗、树等单一类别;比如传统的视觉模型,如Resnet系列模型,ResNet使用的是有监督学习,训练集是经过标注的图片,标注信息就是图片的分类,这个信息相比CLIP而言就很单一了。

当在整个句子上进行训练时,模型可以学习更多的东西(而非单一的类别,找到图像和文本之间的关系。CLIP在图像分类等比赛中的表现,也证明了CLIP对于文本-图像对比学习的优越性。

所以,我们若问SD为什么选择了CLIP Text Ecnoder作为其文本编码器

CLIP开创性地提出训练模型学习图像和文本之间的联系,并在各项视觉比赛中证明了其优越性。CLIP预训练模型的Text Encoder编码处理的语义向量,有对应近似的图像特征向量,便于跨模态处理图像相关的下游任务,如图像生成等。


step2 LDM之VAE Encoder

VAE全称Varitional AutoEncoder(VAE) 变分自编码器

VAE思路VAE将输入转换成Latent空间的概率分布,如标准高斯分布
  SDLatent Space4x64x64, 比图像像素空间3x512x51248,减少空间占用,加速训练

VAE组成:Encoder + decoder 

Encoder编码器

将图像压缩为潜空间中的低维表示,这会使图像损失一部分无用信息,保留主要的特征信息。
 

为什么不会丢失关键信息
自然图像不是随机的数据,它们具有很高的规律性,如:面部遵循眼睛、脸颊和嘴巴之间的特定空间关系。下面是基于CNN的VAE下采样(Encoder),主要使用卷积(conv)和池化(pool)操作构建编码器,从这两个操作说明为什么不会丢失重要特征。cnn

  1. conv捕捉特征的框大小是filter_size,一般就是channel 2-7, 也就是说,在原图上划分N个 2x2~7x7的方格,每个小方格中各像素点分别乘以权重,然后累加得到一个特征值。经过训练的权重weight可以分辨小方格中哪个像素点比较有价值,所以可以把最重要的特征信息提取出来,比如说轮廓信息,主要的颜色分布等。
  2. pool用于进一步缩小特征图,pool操作也是在特征图上划分N个小方格,然后通过max/mean等方式取小方格中最大或者均值来代表这个小方格的特征,我们知道,一张图如果放大,某个像素点周围的点大部分不会突变,比如一个2x2的小方格,一共有四个像素点,很多时候,这四个点颜色是渐变/一样的,对应该像素的数据值,就是一个点255,一个点254的区别,对于单channel的灰度图,254和255也就是一个不太白,一个纯白的却别,但是主要的颜色特征还是保留下来的。


step3 LDM之Diffusion

扩散模型的目的:学习从噪声生成图片的方法

先宏观了解LDM做了什么(下为图生图样例,有图片输入+关键字

  1. 隐向量通过前向扩散增加噪声图像数据点的复杂分布逐渐转为简单分布
  2. 通过CLIP Text Encoder编码出来的语义向量作为监督信号作用噪过程
  3. 噪声向量通过反向扩散去除噪声,得到图像最终的隐向量

Q: 图像逐渐从噪声中转变而来,这一过程是如何实现的呢

A: 训练噪声预测器

(1) 前向扩散:加噪

向图像逐渐添加高斯噪声以破坏图像原始的特征,直到图像完全无法识别。这个过程就像一滴墨水滴入了一杯水中,墨水在水里diffuses(扩散.几分钟后,墨水会随机分散并融入水里。数据通过逐步添加噪声从一个真实图像的复杂分布逐渐过渡到噪点图的简单分布(符合高斯分布

  • 为什么添加高斯噪声

高斯噪声是一种正太分布的噪声,正态分布在自然界中广泛存在,如人的身高、体重、智商等都可以用正态分布来描述。因此使用高斯噪声可以称为一个正确的基本假设,符合真实世界规律。

  • 如何添加噪声
  • 如何反向去除噪声

正向过程不同,不能使用q(xₜ₋₁|xₜ)来反转噪声,因为它是难以处理的(无法计算)。所以我们需要训练神经网络(xₜ₋₁|xₜ)来近似q(xₜ₋₁|xₜ)。近似(xₜ₋₁|xₜ)服从正态分布。

小结

1. LDM前向扩散可以用封闭形式的固定公式计算

2. LDM反向扩散可以用训练好的神经网络来完成Noising Predictor, U-Net)

    为了近似所需的去噪步骤,我们只需要使用神经网络推理结果近似预期噪声

因此噪声预测器实际训练的就是反向扩散的U-Net网络

(2) 反向扩散:去噪

前面已经讲了,反向扩散要想像时光倒流一样,将噪点图逐渐恢复到原图,需要教会该神经网络预测(1)中添加的噪声,然后从前向扩散得到的符合高斯分布的噪声矩阵中,连续减去预测噪声,最终恢复到原图。这个神经网络就是U-Net网络。

a) SD核心:U-Net

从上图中放大UNet模块

U-Net主要对Forward Diffusion输出的高斯噪声矩阵进行迭代降噪,并且每次都使用CLIP Text-encoder的文本特征向量+timesteps作为条件控制来预测噪声,然后在高斯噪声矩阵上去除预测噪声,经过多次迭代后,将高斯噪声矩阵转换成图片的Latent特征。

U-Net原本的结构

SD中的U-Net,在原本Encoder-Decoder(下采样-上采样结构基础上,增加了新模块

  1. Time Embedding 时间编码
    将时间信息映射到一个连续的向量空间,使得时间之间的关系可以被模型学习和利用。这些时间嵌入帮助神经网络获得图像当前处于哪个状态(步骤)的某些信息。这对于了解图像中当前是否存在更多或更少的噪声很有用,从而使模型减去更多或更少的噪声。
  2. Cross Attenion模块(交叉注意力机制
  3. Self-Attention模块(自注意力机制

b) Transformer2DModel: 加入条件控制

先说一下注意力机制中QKV的作用

举个例子,我在网页上输入关键字“Query”来搜索某些信息,网站会根据Q去数据库查询相关联的“Key”, 然后返回给我”Key”对应的“Value”。

更通俗的说法可以是QKV模式就像是你在找答案时,先提出问题Query,然后根据问题找到相关的关键信息Key,最终得到你想要的具体答案或内容Value)。

详见:Transformer_transformer qkv不同源-CSDN博客

SD的U-Net既用到了自注意力,也用到了交叉注意力。

  • Self-Attention用于图像特征自己内部信息聚合
  • Cross-Attention用于让生成图像对齐文本,其Q来自图像特征K,V来自文本编码。我们知道CLIP Text Encoder编码出来的文本编码跟其对应的图像向量是近似的,所以这个文本编码本身也对应表示一幅图像Cross-attentionKV替换成来自文本编码的KV, 就可以关联原图像和关键字,生成的图片会既和原本生成的图相似,也会和参考图像相似。(个人理解
(3) 如何训练噪声预测器

(不知道为啥,上传清晰的图片总是失败。。。图只能这么糊了,大致也能分清字


step4 LDM之VAE Decoder

看看step2就行了,知道这一步是将 去噪后的矩阵解码回像素空间就行。具体VAE的原理没有过多研究。

最新文章
2024年最流行的单机格斗手游精选:权威格斗单机游戏排行榜
重生细胞 Playdigious Android、IOS 准备在移动平台开启杀戮之旅 暗影格斗2 NekkiGames Android、IOS 经典动作格斗的激情展现 战魂铭人 凉屋游戏 Android、IOS 四人联机闯关,开启全新旅程 帕斯卡契约 GiantNetwork Android、IOS 一个在黑
“你是否曾想过,换脸技术能为你的业务带来什么?难道这只是个娱乐工具,还是说它背后隐藏着更多可能?” 在当今这个AI技术如火如荼的时代,AI智能换脸小程序的出现无疑给了企业家们一个新选择。这个小程序不仅仅是为了让朋友们在聚会上玩
2020 年,值得收藏的 50 多种 Kubernetes 工具
​​作者 | Stefan Thorpe译者 | Rayden策划 | 万佳在过去几年,Kubernetes 在容器编排市场独占鳌头。自 2016 年以来,Docker Swarm 就退出了主要竞争者的行列,并且像 AWS 一样承诺对 K8s 进行支持和集成,换句话说,它承认了失败。目前,
2024年述职报告结尾300字范文
2024年述职报告结尾300字范文(精选32篇)  尊敬的领导,各位同事:  大家好!  为了更好地做好今后的工作,总结经验、吸取教训,我就本年度的工作小结如下:  ..........  随着新课程改革对教师业务能力要求的提高,本人在教学之
Dramatica - 故事创意写作工具
详细介绍故事创意写作伙伴,可以帮助您创建出色的角色,从头到尾规划您的情节,并消除那些作家的障碍。Dramatica Pro是一款剧本故事书籍写作软件,程序内置了32768个故事模板,五花八门一应俱全。不仅如此,它还能帮你设计冲突、塑造人物。
google play商店apk
google play商店apk是一款由谷歌公司推出的正版软件商店,这里有全球最全的安卓软件集合,每一款app都经过严格审核认证,用户可以放心下载直装,还有很多热门付费游戏和在线小游戏可以游玩,内容丰富有趣且能适配各种手机配置,保障运行的
2024年滨州邹平全日制补课培训班排名前三+2024top5高中冲刺培训班一览
2024年滨州邹平全日制补课培训班排名前三+2024top5高中冲刺培训班一览  2. 滨州邹平高三复读辅导班  3. 滨州邹平立行高考复读冲刺班  4. 滨州邹平立行高中复读集训班
AutoCAD 2023软件下载及安装教程,免费中文版百度网盘资源
准备工作:1、提前准备好AutoCAD 2023软件安装包(没有的看下图)2、系统要求Windows 10 及以上3、保证电脑中有任意一款解压软件安装步骤1.找到下载好的安装包,并将其解压到当前位置 2.双击打开解压好的【CAD 2023 安装包】文件夹3.双
bilibili 电脑版网页版
bilibili电脑版网页版下载是一款视频播放类型的软件,在软甲中有很多的元素涉及,帮助用户体验音短视频的极致享受,客户端专注于相关内容,目前有粉丝剧等多样视频区域,bilibili电脑版网页版是一款非常好用的视频软件,bilibili电脑版网页
leetcode(2717)的简单解法
看似很长,实际上非常简单。我们要做的就是找到第一个和最后一个数据所在的位置,然后分析他们的角标和n的长度的关系值得一提的是,当“头在尾前”,只需要移动两个角标互相和最前方、最后的空挡就可以当“尾在头前”,它们注定要进行一次
相关文章
推荐文章
发表评论
0评