企业微信
悟空CRM  >   公司新闻  >  最容易理解的解释Stable Diffusion(稳定扩散)原理的文章之一

最容易理解的解释Stable Diffusion(稳定扩散)原理的文章之一

悟空软件 阅读次数:956 次浏览

前言

在AI盛行的当下,文本生成领域由ChatGPT独领风骚,文生图领域的头部则要数Midjourney和Stable Diffusion了。本文的主旨是向大家介绍Stable Diffusion的原理,后续会推出几期Stable Diffusion相关的干货分享,敬请期待。

在开始正文之前向大家推荐一款笔者觉得整体体验还不错的MJ画图网站,对于机器配置不高又想要尝试AI画图的同学可以自行前往一观,可以扫描下面的AI二维码,也可以查看知识库。知识库链接为:

https://xab7u5dx7i4.feishu.cn/docx/H7DqduzhkojzEXxfNFWcSVH4nzf

可以扫描上面的AI二维码进入,绘图界面如下:

Stable Diffusion(稳定扩散)的原理解释

稳定扩散如何工作?解释文本到图像生成背后的技术。

(用户定义文本提示用于文本到图像合成)

大型文本到图像模型在实现高质量的图像合成方面取得了显著成功。扩散模型可应用于文本到图像生成任务,以实现最先进的图像生成结果。稳定扩散模型在图像生成方面取得了最先进的结果。稳定扩散是基于一种特殊的扩散模型,被称为潜在扩散模型,该模型在《使用潜在扩散模型进行高分辨率图像合成》(https://arxiv.org/abs/2112.10752)中提出并由来自[CompVis](https://github.com/CompVis)、[LMU](https://ommer-lab.com/)和[RunwayML](https://runwayml.com/)的研究人员和工程师创建。该模型最初是在[LAION-5B](https://laion.ai/blog/laion-5b/)数据库的512x512图像子集上进行训练的。这一点尤其可以通过使用预训练语言模型如CLIP将文本输入编码成潜在向量来实现。扩散模型可以通过从文字生成图像数据来实现最先进的结果。但在生成高分辨率图像时,去噪的过程非常缓慢并且消耗大量内存。因此,对于训练这些模型并且在推断中使用它们来说具有挑战性。在这方面,通过将扩散过程应用于较低维度的“潜在”空间,而不是使用实际的像素空间,潜在扩散可以减少内存和计算时间。在潜在扩散中,模型被训练以生成图像的潜在(压缩)表示。

扩散模型的训练 稳定扩散是一个在数十亿张图片上训练得到的大型文本到图像扩散模型。图像扩散模型学习去噪生成输出图片。稳定扩散使用从训练数据编码而来的潜在图像作为输入。此外,给定一个初始图像zo,扩散算法逐渐向图像添加噪声并生成带有噪声的图片zt,t表示添加噪声的次数。当t足够大时,图片逼近纯噪声。给定一组输入,如时间步长t、文本提示和图像扩散算法,学习网络来预测添加到带噪声图像zt的噪声。潜在扩散主要由三个主要组件组成:

1.自编码器(VAE)。2.U-Net。3.文本编码器,例如CLIP的文本编码器。

1. 自编码器(VAE)

VAE模型由编码器和解码器两个部分组成。在潜在扩散训练过程中,编码器将512的图像转换为大小为64的低维潜在图像表示,用于正向扩散过程。我们将这些编码版本的图像称为潜在变量。在训练的每个步骤中,我们对这些潜在变量应用越来越多的噪声。这些编码的潜在图像表示作为输入传递给U-Net模型。在这里,我们将一个形状为(3, 512, 512)的图像转化为一个形状为(4, 64, 64)的潜在因子,这样可以节省48倍的内存。与像素空间扩散模型相比,这样可以降低内存和计算需求。因此,在16GB Colab GPU上,我们能够非常快速地生成512 × 512的图像。解码器将潜在因子重新转换为图像。我们使用VAE解码器将逆扩散过程生成的去噪潜在因子转化为图像。在推断过程中,我们只需要使用VAE解码器将去噪图像转化为实际图像。

2. UNet

U-Net用于预测去噪后的图像表示,输入为有噪声的潜在向量。UNet的输出是潜在向量中的噪声。通过将噪声从有噪声的潜在向量中减去,我们能够得到实际的潜在向量。输入噪声潜变量(x)并预测噪声的Unet。我们使用一个条件模型,该模型还需要输入时间步长(t)和文本嵌入作为指导。

因此,该模型如下所示:

该模型本质上是一个具有编码器(12个块)、中间块和跳过连接解码器(12个块)的UNet。在这25个块中,有8个块是下采样或上采样卷积层,而17个块是主要块,每个块都包含四个ResNet层和两个视觉Transformer(ViTs)。在这里,编码器将图像表示压缩为较低分辨率的图像表示,而解码器将较低分辨率的图像表示解码回原始的高分辨率图像表示,该图像表示应该更少带有噪音。

3. 文本编码器 文本编码器将输入提示转换为嵌入空间,作为输入传递给U-Net。这作为对噪声潜变量的指导,当我们训练U-Net进行去噪处理时。文本编码器通常是一个简单的基于变换器的编码器,将一系列输入标记映射到一系列潜在文本嵌入。稳定扩散不会训练新的文本编码器,而是使用已经训练好的文本编码器CLIP。文本编码器创建与输入文本相对应的嵌入。

分词

输出嵌入输出嵌入

 

(稳定扩散推理过程)

调度器

除了以上三种之外,还有一个调度器,用于向图像添加噪声,然后使用模型预测噪声。

from diffusers import LMSDiscreteScheduler scheduler = LMSDiscreteScheduler(beta_start=0.00085, beta_end=0.012, beta_schedule="scaled_linear", num_train_timesteps=1000)

 上述设置了一个用于训练模型的调度程序。如果我们想为较少的步骤设置调度程序,我们可以按照以下方式设置调度程序:

设置采样步骤的数量:

scheduler.set_timesteps(15)

类似稳定扩散的潜在扩散模型可以实现各种创造性的应用,例如:

1.文本到图像生成2.图像到图像生成 - 根据一个起点生成或修改新图像3.图像放大 - 将图像放大为更大的图像4.图像修复 - 通过遮挡图像的特定区域并根据提供的提示生成该区域的新细节来修改图像。

潜在扩散模型还降低了训练和推理的成本,有潜力将高分辨率图像合成民主化到大众中。在我的下一个博客[1]中,我将讨论文本反转,这是一种调整稳定扩散以学习新概念或任务的技术。

参考:

1.Rombach, R., Blattmann, A., Lorenz, D., Esser, P., & Ommer, B. (2022). 高分辨率图像合成与潜在扩散模型。在IEEE/CVF计算机视觉与模式识别会议论文集 (pp. 10684-10695)。2.Zhang, L., & Agrawala, M. (2023). 在文本到图像扩散模型中添加条件控制。arXiv预印本 arXiv:2302.05543。3.扩散器[2]。

 

悟空CRM产品更多介绍:www.5kcrm.com

相关内容

什么是CRM?概念、作用、价值、用途、使用方法

1、什么是CRM?简单来说,它就是企业用来管理客户关系的工具说到CRM,很多人可能会觉得这个概念听起来有点复杂,但实际上,它并没有想象中那么难懂。简单来说,CRM就是客户关系管理(Customer Relationship Management),它的核心目标就是帮助企业更好地与客户互动,提升客户满意度,同时提高企业的效率和利润。如果你是一个企业的管理者,或者正在考虑如何优化你的业务流程,那你一定
相关文章

什么是CRM?一文全面看懂CRM(客户关系管理系统)

什么是CRM?一文全面看懂CRM嘿,朋友!今天咱们来聊一个听起来有点专业,但其实跟咱们生活、工作都息息相关的词——CRM。你可能会问:"CRM是什么意思啊?这玩意儿到底是干啥的?"别急,咱们慢慢唠。保证用最接地气的话给你讲明白,连隔壁王大妈听了都能懂!一、CRM到底是个啥?能吃吗?说白了,CRM就是客户关系管理,英文全称Customer Relationship Managem
相关文章

CRM是什么意思啊,主要是干什么的?(专业解析)

嘿,朋友们!今天咱们来聊聊一个听起来有点专业、但其实跟咱们日常生活息息相关的话题——CRM。你可能会问:"CRM是什么意思啊?这玩意儿到底是干啥的?"别急,咱们慢慢唠。说白了,CRM就是客户关系管理,英文全称Customer Relationship Management。听起来是不是还挺直白的?但你可别被这个简单的名字骗了,这可是个超级实用的工具。想象一下,如果你是个老板,每
相关文章

CRM是什么?CRM专业解读,3分钟快速入门

什么是CRM?通俗易懂的解释在当今竞争激烈的商业环境中,客户关系管理(CRM)已经成为企业不可或缺的一部分。那么,究竟什么是CRM呢?简单来说,CRM是一种帮助企业更好地管理与客户之间关系的工具和方法。它不仅仅是软件,更是一种理念,旨在通过收集、分析和利用客户数据,来提升客户满意度和忠诚度,从而推动企业的增长和发展。想象一下,当你走进一家你常去的咖啡店,店员知道你喜欢的咖啡种类和甜度,甚至会在你到
相关文章

什么是CRM系统,它的价值是什么?CRM全面指南

什么是CRM系统?在现代商业环境中,客户关系管理(CRM)系统已经成为企业不可或缺的工具。那么,究竟什么是CRM系统呢?简单来说,CRM是一种用于管理与客户互动的软件解决方案,它帮助企业更好地理解客户需求、跟踪客户互动,并优化销售和服务流程。想象一下,您在一家公司工作,每天都要处理大量的客户信息、订单和反馈,这些信息如果分散在不同的地方,不仅会让人感到无所适从,还可能导致沟通不畅和效率低下。这时候
相关文章

什么是CRM?概念、作用、如何运作的

什么是CRM?它为什么这么重要?嘿,咱们今天来聊聊一个在商业世界里经常被提起的话题——CRM。你可能听说过这个词,但到底什么是CRM呢?简单来说,CRM就是客户关系管理(Customer Relationship Management)的缩写。听起来有点专业,但其实它的核心思想并不复杂。想象一下,你和朋友之间的关系,如果你们经常沟通、互相了解,那这段关系自然会更稳固。而CRM呢,就是帮助企业跟客户
相关文章

CRM是什么意思?为什么中小企业一定要用?

CRM是什么意思?为什么中小企业一定要用?大家好!今天我想和大家聊聊一个在商业领域越来越火的话题——CRM。你可能听过这个词,但可能还不太清楚它到底是什么,或者为什么它对中小企业如此重要。别担心,我会用最通俗易懂的方式,带你一步步了解CRM的“前世今生”,以及它为什么能成为中小企业的“必备神器”。一、CRM到底是什么?我们先从最基础的问题开始:CRM到底是什么意思?其实,CRM的全称是Custom
相关文章

CRM销售机会管理是什么?

嘿,大家好!今天咱们聊聊一个对做生意特别重要的东西——CRM销售机会管理。你知道吗?在这个竞争激烈的时代里,谁能更好地把握住每一个潜在客户,谁就能在市场上站稳脚跟。而说到这个话题啊,我得先给你推荐一款超级好用的工具——悟空CRM。它不仅功能强大,而且操作起来也特别简单,简直就是为咱们这些忙碌的生意人量身定做的。首先,咱们得明白什么是CRM销售机会管理。简单来说呢,就是通过一套系统化的流程来跟踪、分
相关文章

什么是CRM系统平台?基本概念、功能、使用方法、价格、价值与部署流程

 引言嘿,大家好!今天咱们聊聊一个在现代商业环境中超级重要的工具——CRM系统平台。说白了啊,这个东西就是帮公司更好地了解和处理跟客户的各种互动,从而提高销售效率、提升服务质量的一种神器。著名的CRM系统平台为什么我们要谈论它呢?那可太有道理啦!在这个竞争激烈的时代,企业要想脱颖而出,光靠产品或服务本身是不够的,还得懂得如何用心经营与客户的每一段关系。而CRM就像是企业的私人助手一样,在
相关文章

销售CRM管理系统如何提升团队执行力?

嘿,大家好!今天咱们来聊聊一个特别实用的话题——销售CRM管理系统怎么帮助提升团队的执行力。说到这个,我得先提一提悟空CRM,这可是个挺不错的工具,用起来方便又高效,很多企业都靠它解决了不少头疼的问题呢。首先,咱们得明白一件事,就是现在的市场竞争有多激烈啊。每个公司都在想方设法提高效率、增强竞争力,而销售团队作为直接面对客户的前线部队,他们的表现直接影响着公司的业绩。这时候,一个好的CRM系统就显
相关文章
最新文章

什么是CRM?概念、作用、价值、用途、使用方法

1、什么是CRM?简单来说,它就是企业用来管理客户关系的工具说到CRM,很多人可能会觉得这个概念听起来有点复杂,但实际上,它并没有想象中那么难懂。简单来说,CRM就是客户关系管理(Customer Relationship Management),它的核心目标就是帮助企业更好地与客户互动,提升客户满意度,同时提高企业的效率和利润。如果你是一个企业的管理者,或者正在考虑如何优化你的业务流程,那你一定
最新文章

什么是CRM?一文全面看懂CRM(客户关系管理系统)

什么是CRM?一文全面看懂CRM嘿,朋友!今天咱们来聊一个听起来有点专业,但其实跟咱们生活、工作都息息相关的词——CRM。你可能会问:"CRM是什么意思啊?这玩意儿到底是干啥的?"别急,咱们慢慢唠。保证用最接地气的话给你讲明白,连隔壁王大妈听了都能懂!一、CRM到底是个啥?能吃吗?说白了,CRM就是客户关系管理,英文全称Customer Relationship Managem
最新文章

CRM是什么意思啊,主要是干什么的?(专业解析)

嘿,朋友们!今天咱们来聊聊一个听起来有点专业、但其实跟咱们日常生活息息相关的话题——CRM。你可能会问:"CRM是什么意思啊?这玩意儿到底是干啥的?"别急,咱们慢慢唠。说白了,CRM就是客户关系管理,英文全称Customer Relationship Management。听起来是不是还挺直白的?但你可别被这个简单的名字骗了,这可是个超级实用的工具。想象一下,如果你是个老板,每
最新文章

快速注册,立即使用

仅需一分钟,立即注册悟空云。悟空CRM免费试用。
客户端下载