数据网站开发,个人品牌营销策划方案,网络营销知名企业,WordPress单页添加Js1.U-Net模型基础
1.基础概念
UNet模型是一种基于卷积神经网络的图像分割算法#xff0c;它采用了U型的网络结构#xff0c;由编码器#xff08;下采样路径#xff09;和解码器#xff08;上采样路径#xff09;两部分组成。
编码器负责提取输入图像的特征#xff0c;…1.U-Net模型基础
1.基础概念
UNet模型是一种基于卷积神经网络的图像分割算法它采用了U型的网络结构由编码器下采样路径和解码器上采样路径两部分组成。
编码器负责提取输入图像的特征解码器则通过上采样操作将特征图恢复到原始输入图像的尺寸并逐步生成分割结果。
UNet的关键创新在于解码器中引入了跳跃连接Skip Connections将编码器中的特征图与解码器中对应的特征图进行连接。这种跳跃连接有助于解码器更好地利用不同层次的特征信息从而提高图像分割的准确性和细节保留能力。
2.Unet模型的基础结构 图一
Unet可以分为三个部分如上图所示
第一部分是主干特征提取部分我们可以利用主干部分获得一个又一个的特征层Unet的主干特征提取部分与VGG相似为卷积和最大池化的堆叠。利用主干特征提取部分我们可以获得五个初步有效特征层在第二步中我们会利用这五个有效特征层可以进行特征融合。第二部分是加强特征提取部分我们可以利用主干部分获取到的五个初步有效特征层进行上采样并且进行特征融合获得一个最终的融合了所有特征的有效特征层。第三部分是预测部分我们会利用最终获得的最后一个有效特征层对每一个特征点进行分类相当于对每一个像素点进行分类。
3.作用及意义
在Stable Diffusion中U-Net模型是一个关键核心部分能够预测噪声残差并结合Sampling method调度算法DDPM、DDIM、DPM等对输入的特征矩阵进行重构逐步将其从随机高斯噪声转化成图片的Latent Feature。
具体来说在前向推理过程中SD模型通过反复调用 U-Net将预测出的噪声残差从原噪声矩阵中去除得到逐步去噪后的图像Latent Feature再通过VAE的Decoder结构将Latent Feature重建成像素级图像。
2.VAE模型基础
1.VAE概念
VAE变分自编码器Variational Auto Encoder是一种深度学习模型用于生成新的数据样本。 它通过引入隐变量来描述复杂分布从而生成新的数据点。VAE结合了编码器和解码器编码器负责将输入数据压缩为低维的隐状态而解码器则将隐状态恢复为原始数据的高品质复制。这种模型在图像生成、自然语言处理等领域有广泛应用。
VAE的核心思想在于利用变分推断来近似复杂的概率分布。它通过引入隐变量来描述数据生成的过程这些隐变量对模型中可观察变量的输出有影响。通过训练编码器和解码器VAE能够学习数据的概率分布并生成新的数据点。具体来说编码器将输入数据映射到低维隐空间而解码器则将这个低维隐状态恢复为原始数据的高品质复制。
在AI绘画领域VAE技术被广泛应用于生成新的绘画作品。例如触站AI是一个集成了VAE技术的在线绘画模型用户可以通过简单的勾画几笔来生成真实的、艺术感十足的图像。这种技术不仅提高了绘画作品的生成效率还释放了用户的创造力和艺术潜能。
2.核心作用
在Stable Diffusion中VAE变分自编码器Variational Auto-Encoder是基于Encoder-Decoder架构的生成模型。VAE的Encoder编码器结构能将输入图像转换为低维Latent特征并作为U-Net的输入。VAE的Decoder解码器结构能将低维Latent特征重建还原成像素级图像。
1.核心作用一
VAE通过encoder编码器将输入数据压缩至Latent隐空间中作为Unet模型的输入最后通过decoder解码器进行图像重建的作用 图二
如图二有编码器和解码器组成当我们输入一个尺寸为 H×W×C 的数据VAE的Encoder模块会将其编码为一个大小为h×w×c的低维Latent特征其中fH/hW/w为VAE的下采样率Downsampling Factor。反之VAE的Decoder模块有一个相同的上采样率Upsampling Factor将低维Latent特征重建成像素级别的图像。
Q1什么是隐空间Latent space/隐变量hidden variables图三
隐变量如上图三左半部分
假设:从a很难推导出b
但是从a能够推导出某个中间变量“c”从“c”能够推导出b
因此我们要从a推导出b可以通过从a推导出中间变量“c”然后再推导出b。这里的中间变量“c”就称为“隐变量”
有时遇到的原始数据建模很困难此时可以将原始数据装换成另一种格式的数据----“隐变量” 隐空间latent space如上图右半部分
隐变量所在空间这极大地降低了扩散模型的计算复杂度。 而VAE模型在编码器之后得到一组维度小于原图维度的隐变量一组对图片的压缩表示
2.核心作用二
不同版本的VAE模型能够在生成的图片的细节与整体颜色上发生改变通俗理解滤镜微调 图四
通过图四可以清晰看到VAE模型的第二个核心作用
3.Diffusion Mode基础
1.Diffusion Mode的基础
扩散模型Diffusion Models是一种新型的、先进的生成模型用于生成与训练数据相似的数据可以生成各种高分辨率图像。
它通过两个核心过程——前向扩散过程和反向去噪过程——来实现从噪声数据生成复杂样本。 图五
如图五 前向扩散向原始数据逐步添加噪声的过程直到数据变为纯噪声。 虽然这个过程本身并不能直接生成图片但它对于理解扩散模型的工作原理以及构建训练样本的目标ground truth简称GT至关重要。 逆扩散前向扩散的逆操作从纯噪声开始逐步去除噪声以还原出原始数据。 这个过程依赖于模型学习到的如何从噪声中恢复出原始数据的模式。模型通过神经网络学习逆扩散过程从而能够生成与原始数据相似的样本。
这种模型之所以有效是因为它能够通过学习去噪步骤在重建过程中捕捉到数据的复杂结构和分布尽管直观上加噪看似与生成清晰图像相悖。
扩散模型在图像生成、分类、以及如Stable Diffusion、DALL-E等以文生图应用中展现出了卓越性能其成功在于其强大的特征学习能力、生成高质量样本的能力以及在数据有限时的良好泛化性能。
2.为什么要加噪和去噪
提高模型鲁棒性加入噪声可以使模型更具有鲁棒性能够更好地处理现实世界中的变化和噪声。在训练过程中模型需要学会从不完美的数据中提取有用的信息并且对噪声更具有容忍性。
促进样本多样性通过引入不同类型和强度的噪声可以增加训练数据的多样性从而帮助模型更好地泛化到未见过的数据。这有助于防止过拟合并提高模型的性能。
解决模型偏差在一些情况下模型可能存在偏差即对数据的错误偏好或错误假设。加入噪声可以帮助模型更好地克服这种偏差从而提高模型的泛化能力和性能。
模拟真实场景现实世界中的数据往往会受到各种噪声的影响例如传感器误差、环境变化等。通过在训练数据中引入类似的噪声可以使模型更好地模拟真实场景并提高其在实际应用中的效果。
3.扩散模型的网络结构 图六
利用马尔可夫链来定义扩散步骤通过每一步的状态转移来逐渐将数据“破坏”成纯噪声。然后通过训练神经网络来逼近真实的反转扩散过程扩散模型能够从纯噪声中逐步还原出原始数据。
目前有两种结构
1.基于UNet的网络结构 图七
2.基于DiT的网络结构 图八 4.图像生成模型Stable DiffusionSD基础
1.图像生成模型的发展 图九 2.SD模型的结构
1.基于UNet的SD网络结构 图十 如上图End-to-End模型由VAE左侧红色部分基于Unet的diffusion mode中间绿色部分以及CLIP Text Encoder右侧白色部分三个核心组件构成
2.基于DiT的SD网络结构 图十一
DiTDiffusion Transformer模型由Meta在2022年首次提出其主要是在ViTVision Transformer的架构上进行了优化设计得到的。DiT是基于Transformer架构的扩散模型将扩散模型中经典的U-Net架构完全替换成了Transformer架构。
3.SD文生图工作流程 图十二
输入文本emdedding将输入的文本prompt通过Text Encoder提取出Text Embeddings特征77x768初始化latent噪音矩阵同时初始化一个Latent空间的随机高斯噪声矩阵维度为64x64x4对应512x512分辨率图像。生成过程图文融合将Text Embeddings特征和随机高斯噪声矩阵通过CrossAttention机制送入U-Net中去噪结合Scheduler algorithm调度算法迭代去噪输出经过N次迭代后生成去噪后的Latent特征。输出VAE构建将去噪后的Latent特征送入VAE的Decoder模块重建出像素级图像512x512分辨率。 以上就是本次分享的关于文生图SD模型相关的模型知识个人观点希望有所帮助