【AI绘画】2024最新Stable Diffusion 超详细讲解!!必收藏!!!!

手把手教你入门绘图超强的AI绘画,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包 (文末可获取)

Stable Diffusion 超详细讲解

这篇文章是 《Stable Diffusion原理详解》的后续,在《Stable Diffusion原理详解》中我更多的是以全局视角讲解了 Stable Diffusion 的原理和工作流程,并未深入步骤细节。本文将在《Stable Diffusion原理详解》和《Diffusion Model 深入剖析》这两篇文章的基础上,进一步细致地讲解 Stable Diffusion 的算法原理。

在这里插入图片描述

文章目录
    • Diffusion Model
      • Diffusion Model 概览
      • 正向扩散过程
      • 逆向扩散过程
      • 训练
      • 采样
      • 扩散速度问题
    • Stable Diffusion
      • 潜在空间
      • Latent Diffusion
      • 调节机制
      • 训练
      • 采样
    • 架构对比
      • 纯扩散模型
      • Stable Diffusion (潜在扩散模型)
    • 总结

Diffusion Model

Stable Diffusion 脱胎于 Diffusion 模型。因此在搞懂 Stable Diffusion 之前,先搞懂 Diffusion Model 模型非常有必要。这一部分我会带大家大致过一遍 Diffusion Model。如果你想了解 Diffusion Model 的全部细节,可以阅读我之前的文章:《Diffusion Model 深入剖析》。

Diffusion Model 概览

在这里插入图片描述

图1. 扩散模型原理概要

Diffusion Model的训练可以分为两部分:

  1. 正向扩散过程 → 为图像添加噪声。
  2. 反向扩散过程 → 去除图像中的噪声。
正向扩散过程

正向扩散过程将高斯噪声逐步添加到输入图像中。我们使用以下闭合公式(推导过程详见《Diffusion Model 深入剖析》)更快地完成噪声添加,从而直接获得特定时间步长 t t t 的噪声图像:
x t = α t ˉ x 0 + 1 − α ˉ t ε x_t=\sqrt{\bar{\alpha_t}}x_0+\sqrt{1-\bar{\alpha}_t}\varepsilon xt​=αt​ˉ​ ​x0​+1−αˉt​ ​ε

逆向扩散过程

由于逆向扩散过程不可直接计算(计算代价太高),我们通过训练神经网络 p θ ( x t − 1 ∣ x t ) p_\theta(x_{t-1}|x_t) pθ​(xt−1​∣xt​) 来近似。

训练目标(损失函数)如下:
L simple = E t , x 0 , ε [ ∣ ∣ ε t − ε θ ( x t , t ) ∣ ∣ 2 ] x t = α t ˉ x 0 + 1 − α ˉ t ε L_{\text{simple}} = \mathbb{E}_{t,x_0,\varepsilon}\Big[||\varepsilon_t-\varepsilon_\theta(x_t,t)||^2\Big]\\ x_t=\sqrt{\bar{\alpha_t}}x_0+\sqrt{1-\bar{\alpha}_t}\varepsilon Lsimple​=Et,x0​,ε​[∣∣εt​−εθ​(xt​,t)∣∣2]xt​=αt​ˉ​ ​x0​+1−αˉt​ ​ε

训练

每一轮训练过程如下:

  • 为每个训练样本(图像)选择一个随机时间步长 t t t。
  • 将高斯噪声(对应于 t t t)应用于每个图像。
  • 将时间步长转换为嵌入(向量)。

在这里插入图片描述

图2. 训练数据集

下面详细解释一下训练步骤是如何工作的:

在这里插入图片描述

图3. 训练步骤图解

采样

采样意味着从高斯噪声图中绘制出图像。下图展示了我们如何使用经过训练的 U-Net 生成图像:

在这里插入图片描述

图4. 采样过程图解

扩散速度问题

如你所见,扩散(采样)过程迭代地将全尺寸图像提供给 U-Net 来获得最终结果。当总扩散步数 T T T 和图像很大时,这种纯扩散模型会非常慢。

为了解决这个问题,Stable Diffusion 应运而生。

Stable Diffusion

Stable Diffusion 一开始的名称是“潜在扩散模型”(Latent Diffusion Model)。顾名思义,Stable Diffusion 发生在潜在空间中。这就是它比纯扩散模型更快的原因。

潜在空间

在这里插入图片描述

图5. 潜在空间

我们首先训练一个自动编码器来学习如何将图像数据压缩成低维表示。

  • 通过使用经过训练的编码器 E E E,我们可以将全尺寸图像编码为低维潜在数据(压缩数据)。
  • 通过使用经过训练的解码器 D D D,我们可以将潜在数据解码回图像。
Latent Diffusion

将图像编码为潜在数据后,将在潜在空间中进行正向和反向扩散过程。

在这里插入图片描述

图6. Stable Diffusion 模型概述

  1. 正向扩散过程 → 向潜在数据添加噪声。
  2. 逆向扩散过程 → 从潜在数据中去除噪声。
调节机制

在这里插入图片描述

图7. 调节机制概述

Stable Diffusion 真正强大之处在于它可以根据文本提示生成图像。这是通过接受调节输入修改内部扩散模型来实现的。

在这里插入图片描述

图8. 调节机制细节

通过使用交叉注意机制增强其去噪 U-Net,将内部扩散模型转变为条件图像生成器。

上图中的开关用于在不同类型的调节输入之间进行控制:

  • 对于文本输入,首先使用语言模型 τ θ \tau_\theta τθ​(例如 BERT、CLIP)将文本转换为嵌入(向量),然后通过(多头)注意力 A t t e n t i o n ( Q , K , V ) Attention(Q, K, V) Attention(Q,K,V) 映射到 U-Net 层。
  • 对于其他空间对齐的输入(例如语义映射、图像、修复),可以使用连接来完成调节。
训练

Stable Diffusion 的训练目标(损失函数)与纯扩散模型中的目标非常相似。 唯一的变化是:

  • 输入潜在数据 z t z_t zt​ 而不是图像 x t x_t xt​。
  • 向 U-Net 添加了条件输入 τ θ ( y ) \tau_\theta(y) τθ​(y)。

所以 Stable Diffusion 的损失函数是这样的:
L L D T = E t , z 0 , ε , y [ ∥ ε − ε θ ( z t , t , τ θ ( y ) ) ∥ 2 ] L_{LDT} = \mathbb{E}_{t,z_0,\varepsilon,y}\Big[\Vert \varepsilon-\varepsilon_\theta\big(z_t,t,\tau_\theta(y)\big)\Vert^2\Big] LLDT​=Et,z0​,ε,y​[∥ε−εθ​(zt​,t,τθ​(y))∥2]
其中 z t = α ˉ t z 0 + 1 − α ˉ t ε z_t = \sqrt{\bar\alpha_t}z_0 + \sqrt{1-\bar\alpha_t}\varepsilon zt​=αˉt​ ​z0​+1−αˉt​ ​ε, z 0 = E ( x 0 ) z_0 = E(x_0) z0​=E(x0​) ; τ θ ( y ) \tau_\theta(y) τθ​(y) 是输入调节。

采样

在这里插入图片描述

图9. Stable Diffusion 采样过程(去噪)

由于潜在数据的大小比原始图像小得多,因此去噪过程会快得多。

架构对比

最后,让我们比较一下纯扩散模型和 Stable Diffusion(潜在扩散模型)的整体架构。

纯扩散模型

在这里插入图片描述

图10. 纯扩散模型架构

Stable Diffusion (潜在扩散模型)

在这里插入图片描述

图11. Stable Diffusion 架构

总结

  • Stable Diffusion(潜在扩散模型)在潜在空间中进行扩散过程,因此它比纯扩散模型快得多。
  • 扩散模型核心被修改为接受条件输入,如文本、图像、语义图等。

AI绘画所有方向的学习路线思维导图

这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:
在这里插入图片描述

👉stable diffusion新手0基础入门PDF👈

在这里插入图片描述

👉AI绘画必备工具👈

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉AI绘画基础+速成+进阶使用教程👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

👉12000+AI关键词大合集👈

在这里插入图片描述

这份完整版的AI绘画资料我已经打包好,戳下方蓝色字体,即可免费领取!CSDN大礼包:《全套AI绘画基础学习资源包》免费分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/395161.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HCIP-MGRE实验配置、PPP的PAP认证与CHAP认证、MGRE、GRE网络搭建、NAT

实验要求 R5为ISP,只能进行IP地址配素,其所有地址均为公有IP地址R1和R5间使用PPP的PAP认证,R5为主认证方 R2与R5之间使用PPP的chap认证,R5为主认证方 R3与R5之间使用HDLC封装。R1/R2/R3构建一个MGRE环境,R1为中心站点;R1、R4间为…

如何使用Sora?Sora小白教程一文通

如果需要使用Sora或者GPT4,请参考文章:如何使用Sora?Sora小白教程一文通 什么是Sora Sora是OpenAI于2024年2月18日凌晨发布的新的文生视频大模型,名为 “ Sora ”。 从OpenAI在官网展示的Sora生成视频的效果来看,在生…

有事休假店铺无人看守怎么办?智能远程视频监控系统保卫店铺安全

在春节期间,很多自营店主也得到了久违的假期,虽然很多店主都是长期在店铺中看守,但遇到春节这样的日子,多数人还是选择回乡休假。面对店主休假或有事不能管理店铺时,传统的监控虽然可以做到单一的监控,却仍…

无货源?想要1688平台货源,商品采集,第三方API来帮你实现

阿里巴巴(1688.com)批发网是全球企业间(B2B)电子商务的著名品牌,为天下网商提供海量商机信息和便捷安全的在线交易市场。从海量的商品中甄选热销新品、优质好商,为买家采购批发提供风向标。 不少做跨境电商无货源的朋友都想要直接从1688源头厂家拿货&am…

白话微机:8.解释FPGA以及一些考研面试问题

一. 前言(更新世界观) 在“微机世界”,普通的城市(单片机)里,人又有一个别的名字叫做“数据”,人有0有1;人们也有住房,这些住房在这个世界叫做“存储器”;地上有路,这些路…

原生微信小程序开发记录

1. 拿到项目 先构建 2.小程序与普通网页开发的区别 网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,而在小程序中,二者是分开的,分别运行在不同的线程中。网页开发者可以使用到各种浏览…

Git常用命令整理

在介绍安装和简单使用前,先看一下百度百科中的简介吧: ———————————————————————————————————————— Git --- The stupid content tracker, 傻瓜内容跟踪器。 Linux 是这样给我们介绍 Git 的: Git 是用…

Java使用Redis实现消息队列

近期刷Java面试题刷到了“如何使用Redis实现消息队列”,解答如下: 一般使用 list 结构作为队列, rpush 生产消息, lpop 消费消息。当 lpop 没有消息的时候,要适当sleep 一会再重试。若不使用sleep,则可以用…

应急响应实战笔记02日志分析篇(4)

第4篇:MSSQL日志分析 常见的数据库攻击包括弱口令、SQL注入、提升权限、窃取备份等。对数据库日志进行分析,可以发现攻击行为,进一步还原攻击场景及追溯攻击源。 0x01 MSSQL日志分析 首先,MSSQL数据库应启用日志记录功能,默认配…

error: src refspec main does not match any解决办法

一、问题描述: 用GitHub Actions自动部署Hexo,到了最关键的一步;突然报错:error: src refspec main does not match any 1、错误一: main分支应填写为master分支;但是只改这里也会报其他错误 2、错误二&a…

书生开源大模型训练营-第3讲笔记

5.Langchain和InternLM搭建知识库 5.1环境 还是一样,开发机中创建镜像,以及所需依赖 pip install modelscope1.9.5 pip install transformers4.35.2 pip install streamlit1.24.0 pip install sentencepiece0.1.99 pip install accelerate0.24.15.2模…

亿赛通-数据泄露防护(DLP)44个接口存在远程命令执行漏洞

文章目录 前言声明一、系统简介二、漏洞描述三、影响版本四、漏洞复现五、整改意见 前言 亿赛通-数据泄露防护是一款专门防止您的私人数据资产在分享、存储过程中,被他人非法窃取或使用的安全产品。亿赛通-数据泄露防护(DLP)44个接口存在远程命令执行漏洞。 声明 …

【类与对象 -2】学习类的6个默认成员函数中的构造函数与析构函数

目录 1.类的6个默认成员函数 2.构造函数 2.1概念 2.2特性 3.析构函数 3.1析构函数的概念 3.2特性 1.类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,…

芯片的分类

目录 通用处理器数字信号处理器专用处理器 通用处理器 我们常听说的中央处理器CPU就是一种典型的通用处理器(GPP)。这种处理器多使用片上系统(SoC)的设计理念,在处理器上集成各种功能模块,每一种功能都是用…

Authing 身份云入选崔牛会「2024 中国企业服务云图」

近日,B2B 领域知名企业服务平台——崔牛会正式对外发布了「2024 中国企业服务云图」,Authing 身份云凭借在 IDaaS 领域的先进能力和卓越表现,从众多参选企业中脱颖而出,成功入选图谱技术支撑「 IDaaS 」板块,并荣登榜首…

Apache DolphinScheduler数仓任务管理规范

前言: 大数据领域对多种任务都有调度需求,以离线数仓的任务应用最多,许多团队在调研开源产品后,选择Apache DolphinScheduler(以下简称DS)作为调度场景的技术选型。得益于DS优秀的特性,在对数仓…

个人2024年工作计划与目标:用这个待办计划管理工具

春节的喜庆气氛逐渐散去,取而代之的是新的一年奋斗的号角。开工之际,我深知为自己制定一份2024年的工作计划与目标至关重要。这不仅仅是对未来一年的规划,更是对自己的一份承诺和责任。 坐在电脑前,我开始思考如何着手这份计划。…

1.3_2 中断和异常

文章目录 1.3_2 中断和异常(一)中断的作用(二)中断的类型1、内中断2、外中断3、中断分类总结 (三)中断机制的基本原理 总结 1.3_2 中断和异常 (一)中断的作用 CPU上会运行两种程序&…

阿里云香港轻量应用服务器网络线路cn2?

阿里云香港轻量应用服务器是什么线路?不是cn2。 阿里云香港轻量服务器是cn2吗?香港轻量服务器不是cn2。阿腾云atengyun.com正好有一台阿里云轻量应用服务器,通过mtr traceroute测试了一下,最后一跳是202.97开头的ip,1…

ssh连接服务器需要子网掩码吗?

IP寻址需要同时知道IP地址和子网掩码,但是在通过ssh连接服务器时,只需要知道IP地址和端口号就可以了,ssh通讯为什么不需要子网掩码呢。在不知道子网掩码的前提下,可以正确找到IP对应的主机吗? 不需要,SSH&a…