AIGC学习(SD、LoRA和ControlNet)

目录

Stable Diffusion(稳定扩散模型)

为什么叫扩散模型?

网络结构

VAE(Variational Auto-Encoder)

UNet模型

CLIP Text Encoder

LoRA(低秩适应矩阵)

什么是LoRA?

如何使用LoRA?

ControlNet

总结

参考链接


在AIGC领域,目前用的最多的就是Stable Diffusion、ControlNet和LoRA三者结合。SD通过加噪和去噪过程生成由ControlNet 提供的condition控制的图片,而LoRA则是以微调的方式,在少量数据训练下得到具有特定表现形式的SD模型。

论文的链接如下:

1.Stable Diffusion:https://arxiv.org/pdf/2112.10752

2.LoRA:https://arxiv.org/pdf/2106.09685

3.ControlNet:https://arxiv.org/pdf/2302.05543

Stable Diffusion(稳定扩散模型)

为什么叫扩散模型?

因为它包含的就是两个过程——前向扩散反向扩散

前向扩散就是在一张输入图片上不断加上噪声的过程。如下图,在一张猫的图片上不断加上噪声,在一定步数后它就变成了我们看不出是个什么东西的图片了。

反向扩散则是对噪声图像不断预测噪声并去噪的过程,最后输出我们想要得到的图片。下面是在一张随机噪声图片上逐渐去噪最后生成一个房子的过程。

有了前向扩散和反向扩散,那模型训练的目标也很容易理解,就是把预测的噪声和加入的噪声做回归,让模型能准确地预测出每次加入的真实噪声。

网络结构

SD主要由VAE(变分自编码器)、UNet和CLIP Text Encoder三者组成。如下图可见,整个网络分为三部分——Pixel Space、Latent Space和Conditioning。

Pixel Space中的VAE负责将图像压缩成潜在表示(Latent Representations)以及将潜在表示重建成图像。

Latent Space主要就是使用UNet进行特征级别的去噪过程,其中会进行Attention计算,学习Condition和图片特征的对应关系。

而Conditioning中则会通过预训练的CLIP Text Encoder将文本Prompt编码成Text Embeddings,用于对生成图像进行一定的控制引导。

VAE(Variational Auto-Encoder)

就像上面所介绍的,VAE的主要工作就是负责的图像压缩和重建,所以它其实是一个Encoder-Decoder的结构。

当我们输入一个C\times H\times W的图片,Encoder模块会将其编码成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值