Jay Alammar再发新作:超高质量图解Stable Diffusion,看完彻底搞懂「图像生成」原理(3)

简介: Jay Alammar再发新作:超高质量图解Stable Diffusion,看完彻底搞懂「图像生成」原理

文本编码器:一个Transformer语言模型

模型中的语言理解组件使用的是Transformer语言模型,可以将输入的文本提示转换为token嵌入向量。发布的Stable Diffusion模型使用 ClipText (基于 GPT 的模型) ,这篇文章中为了方便讲解选择使用 BERT模型。Imagen论文中的实验表明,相比选择更大的图像生成组件,更大的语言模型可以带来更多的图像质量提升。早期的Stable Diffusion模型使用的是OpenAI发布的经过预训练的 ClipText 模型,而在Stable Diffusion V2中已经转向了最新发布的、更大的CLIP模型变体OpenClip.CLIP是怎么训练的?CLIP需要的数据为图像及其标题,数据集中大约包含4亿张图像及描述。数据集通过从网上抓取的图片以及相应的「alt」标签文本来收集的。CLIP 是图像编码器和文本编码器的组合,其训练过程可以简化为拍摄图像和文字说明,使用两个编码器对数据分别进行编码。然后使用余弦距离比较结果嵌入,刚开始训练时,即使文本描述与图像是相匹配的,它们之间的相似性肯定也是很低的。随着模型的不断更新,在后续阶段,编码器对图像和文本编码得到的嵌入会逐渐相似。通过在整个数据集中重复该过程,并使用大batch size的编码器,最终能够生成一个嵌入向量,其中狗的图像和句子「一条狗的图片」之间是相似的。就像在 word2vec 中一样,训练过程也需要包括不匹配的图片和说明的负样本,模型需要给它们分配较低的相似度分数。

文本信息喂入图像生成过程

为了将文本条件融入成为图像生成过程的一部分,必须调整噪声预测器的输入为文本。所有的操作都是在潜空间上,包括编码后的文本、输入图像和预测噪声。为了更好地了解文本token在 Unet 中的使用方式,还需要先了解一下 Unet模型。Unet 噪声预测器中的层(无文本)一个不使用文本的diffusion Unet,其输入输出如下所示:在模型内部,可以看到:1. Unet模型中的层主要用于转换latents;2. 每层都是在之前层的输出上进行操作;3. 某些输出(通过残差连接)将其馈送到网络后面的处理中4. 将时间步转换为时间步长嵌入向量,可以在层中使用。Unet 噪声预测器中的层(带文本)现在就需要将之前的系统改装成带文本版本的。主要的修改部分就是增加对文本输入(术语:text conditioning)的支持,即在ResNet块之间添加一个注意力层。需要注意的是,ResNet块没有直接看到文本内容,而是通过注意力层将文本在latents中的表征合并起来,然后下一个ResNet就可以在这一过程中利用上文本信息。

参考资料:

https://jalammar.github.io/illustrated-stable-diffusion/

https://www.reddit.com/r/MachineLearning/comments/10dfex7/d_the_illustrated_stable_diffusion_video/

相关文章
|
编解码 人工智能 算法
社区供稿 | AIGC图像分辨率太低?快来试试像素感知扩散超分模型,你想要的细节都在这里!
本文介绍了一种全新的基于SD生成先验的图像超分辨率和修复算法,在多个任务上都有着SOTA的表现。
|
人工智能 物联网
AI 绘画Stable Diffusion 研究(十一)sd图生图功能详解-美女换装
AI 绘画Stable Diffusion 研究(十一)sd图生图功能详解-美女换装
1079 1
|
编解码 人工智能 移动开发
AIGC图像分辨率太低?快来试试像素感知扩散超分模型,你想要的细节都在这里
阿里巴巴最新自研的像素感知扩散超分模型已经开源,它把扩散模型强大的生成能力和像素级控制能力相结合,能够适应从老照片修复到AIGC图像超分的各种图像增强任务和各种图像风格,并且能够控制生成强度和增强风格。这项技术的直接应用之一是AIGC图像的后处理增强和二次生成,能够带来可观的效果提升。
866 4
|
人工智能 编解码 物联网
开源文生图模型再进化,Stable Diffusion XL 1.0登场,出图效果不输Midjourney
开源文生图模型再进化,Stable Diffusion XL 1.0登场,出图效果不输Midjourney
400 0
|
机器学习/深度学习 编解码 安全
RepVGG溯源 | RepVGG作者前期作品,ACNet零算力白嫖性能(附Pytorch代码详解)(一)
RepVGG溯源 | RepVGG作者前期作品,ACNet零算力白嫖性能(附Pytorch代码详解)(一)
95 1
|
机器学习/深度学习 编解码 达摩院
【OpenVI-图像超分实战篇】别用GAN做超分了,快来试试基于扩散模型的图像超分吧!
近10年来,深度学习技术得到了长足进步,在图像增强领域取得了显著的成果,尤其是以GAN为代表的生成式模型在图像复原、老片修复,图像超分辨率等方面大放异彩。图像超分辨率是视频增强方面,用于提升画质的典型应用。生成对抗网络GAN使得在图像分辨率增加的同时,保持细节特征,补充生成真实的纹理,其中应用广泛的工作是Real-ESRGAN。 扩散模型DiffusionModel在图像超分辨率这方面的新的应用,展现出其超过GAN的生成多样性和真实性。看完后,你会发现,还在用GAN做图像超分辨率吗?已经OUT了,快来试试DiffusionModel吧!
26887 3
【OpenVI-图像超分实战篇】别用GAN做超分了,快来试试基于扩散模型的图像超分吧!
|
数据采集 机器学习/深度学习 并行计算
手撕 CNN 经典网络之 VGGNet(PyTorch实战篇)
详细介绍了 VGGNet 的网络结构,今天我们将使用 PyTorch 来复现VGGNet网络,并用VGGNet模型来解决一个经典的Kaggle图像识别比赛问题。
366 0
|
缓存 资源调度 算法
YOLOv5-Lite 详解教程 | 嚼碎所有原理、训练自己数据集、TensorRT部署落地应有尽有(一)
YOLOv5-Lite 详解教程 | 嚼碎所有原理、训练自己数据集、TensorRT部署落地应有尽有(一)
1295 0
|
机器学习/深度学习 人工智能 TensorFlow
YOLOv5-Lite 详解教程 | 嚼碎所有原理、训练自己数据集、TensorRT部署落地应有尽有(三)
YOLOv5-Lite 详解教程 | 嚼碎所有原理、训练自己数据集、TensorRT部署落地应有尽有(三)
599 0
|
开发工具 计算机视觉 git
YOLOv5-Lite 详解教程 | 嚼碎所有原理、训练自己数据集、TensorRT部署落地应有尽有(二)
YOLOv5-Lite 详解教程 | 嚼碎所有原理、训练自己数据集、TensorRT部署落地应有尽有(二)
1226 0
下一篇
无影云桌面