stable diffusion 原理是什么?

news/2024/7/27 12:19:53/文章来源:https://blog.csdn.net/starzhou/article/details/136554182

这篇文章主要介绍了Stable Diffusion,这是一种用于AI绘画的算法,它是由CompVis和Runway团队在2021年12月提出的“潜在扩散模型”(LDM/Latent Diffusion Model)的变体,基于2015年提出的扩散模型(DM/Diffusion Model)。文章中将深入介绍Stable Diffusion的技术细节,但是不会出现太多的数学公式或未解释的概念名词。

stable diffusion 早已不是一个新鲜话题,从 2022 年 8 月开源以来,有关 stable diffusion 的原理介绍、应用方法的资料数不胜数,我在之前 ai绘画是怎么画的?ai绘画算法揭秘、一文讲透ai作画原理技术 两篇文章中也介绍过 AI 绘画的通用原理,但没有深入到 Stable Diffusion 的技术细节,今天就来填这个坑。

本文依旧是科普文,文中尽量不会出现数学公式或者未经解释的概念名词,大家可以放心食用。我会先用一段话介绍 stable diffusion 的算法原理,这段话里出现的概念名词后文会逐一解释。

Stable Diffusion 算法上来自 CompVis 和 Runway 团队于 2021 年 12 月提出的 “潜在扩散模型”(LDM / Latent Diffusion Model),这个模型又是基于 2015 年提出的扩散模型(DM / Diffusion Model)。参考论文中介绍算法核心逻辑的插图,Stable Diffusion 的数据会在像素空间(Pixel Space)、潜在空间(Latent Space)、条件(Conditioning)三部分之间流转,其算法逻辑大概分这几步(可以按 ↩️ 顺序对照下图):

  1. 图像编码器将图像从像素空间(Pixel Space)压缩到更小维度的潜在空间(Latent Space),捕捉图像更本质的信息;
  2. 对潜在空间中的图片添加噪声,进行扩散过程(Diffusion Process);
  3. 通过 CLIP 文本编码器将输入的描述语转换为去噪过程的条件(Conditioning)
  4. 基于一些条件对图像进行去噪(Denoising)以获得生成图片的潜在表示,去噪步骤可以灵活地以文本、图像和其他形式为条件(以文本为条件即 text2img、以图像为条件即 img2img);
  5. 图像解码器通过将图像从潜在空间转换回像素空间来生成最终图像。

画宇宙 - 人工智能 AI 绘画网站

扩散模型(DM / Diffusion Model)

“扩散” 来自一个物理现象:当我们把墨汁滴入水中,墨汁会均匀散开;这个过程一般不能逆转,那 AI 可以做到么?(AI:我太难了)

画宇宙 - 人工智能 AI 绘画网站

当墨汁刚滴入水中时,我们能区分哪里是墨哪里是水,信息是非常集中的;当墨汁扩散开来,墨和水就难分彼此了,信息是分散的。类比于图片,这个墨汁扩散的过程就是图片逐渐变成噪点的过程:从信息集中的图片变成信息分散、没有信息的噪点图很简单,逆转这个过程就需要 AI 的加持了。

研究人员对图片加噪点,让图片逐渐变成纯噪点图;再让 AI 学习这个过程的逆过程,也就是如何从一张噪点图得到一张有信息的高清图。这个模型就是 AI 绘画中各种算法,如 Disco Diffusion、Stable Diffusion 中的常客扩散模型(Diffusion Model)。

画宇宙 - 人工智能 AI 绘画网站

潜在扩散模型(LDM / Latent Diffusion Model)

在计算机眼中,一张 512x512 分辨率的图片,就是一组 512 * 512 * 3 的数字,如果直接对图片进行学习,相当于 AI 要处理 786432 维的数据,这对算力、计算机性能要求很高。

画宇宙 - 人工智能 AI 绘画网站

CompVis 的研究人员提出,可以将图片映射到潜在空间(Latent Space)后进行扩散和逆扩散学习。如何理解 “潜在空间” 呢?大家都有自己的身份证号码,前 6 位代表地区、中间 8 位代表生日、后 4 位代表个人其他信息。放到空间上如图所示,这个空间就是「人类潜在空间」。

画宇宙 - 人工智能 AI 绘画网站

这个空间上相近的人,可能就是生日、地区接近的人。人可以对应为这个空间的一个点,这个空间的一个点也对应一个人。如果在空间中我的附近找一个点,对应的人可能跟我非常相似,没准就是我失散多年的兄弟 hh

AI 就是通过学习找到了一个「图片潜在空间」,每张图片都可以对应到其中一个点,相近的两个点可能就是内容、风格相似的图片。

画宇宙 - 人工智能 AI 绘画网站

同时这个 “潜在空间” 的维度(比如可能是 768)远小于 “像素维度”(786432),AI 处理起来会更加得心应手,在保持效果相同甚至更好的情况下,潜在扩散模型对算力、显卡性能的要求显著降低。这也就是为什么 Stable Diffusion 能在消费级显卡上运行,从而让 AI 绘画 “飞入寻常百姓家”。

说句题外话,我非常想知道为什么 Stable Diffusion 叫 Stable Diffusion,但没找到官方说明,这里做一个猜测:之所以这个基于 Latent Diffusion 的模型叫 Stable Diffusion,可能一方面表示这个模型效果很稳定(Stable),另一方面是致敬一下(算力 & 数据上的)金主爸爸 Stability.ai。

CLIP(Contrastive Language-Image Pre-Training)

如果让你把左侧三张图和右侧三句话配对,你可以轻松完成这个连线。但对 AI 来说,图片就是一系列像素点,文本就是一串字符,要完成这个工作可不简单。

画宇宙 - 人工智能 AI 绘画网站

这需要 AI 在海量「文本-图片」数据上学习图片和文本的匹配。图中绿色方块是「图片潜在空间」的 N 张图片,紫色方块是「文本潜在空间」的 N 句描述语。AI 会努力将对应的 I1 与 T1 (蓝色方块)匹配,而不是 I2 与 T3 (灰色方块)匹配。这个 AI 就是广泛被用在 AI 作画中的 CLIP(Contrastive Language-Image Pre-Training / 对比式语言-文字预训练)。

画宇宙 - 人工智能 AI 绘画网站

当 AI 能成功完成这个连线,也就意味着 AI 建立了「文字潜在空间」到「图片潜在空间」的对应关系,这样才能通过文字控制图片的去噪过程,实现通过文字描述左右图像的生成。

画宇宙 - 人工智能 AI 绘画网站

总结

本文对一些技术细节做了简化,只保留 Stable Diffusion 最核心的算法逻辑为大家做了简明的介绍。深入理解 stable diffusion 原理,不仅有助于我们掌握 AI 绘画模型的基本原理,而且还能为我们在工作和学习中应用 AI 绘画带来更多的便利。

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

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

相关文章

SpringCloud Ribbon 负载均衡服务调用

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第三篇,即介绍 Ribbon 负载均衡服务调用 二、概述 2.1 Ribbon 是什么 Spring Cloud Ribbon…

滤波器:工作原理和分类及应用领域?|深圳比创达电子EMC

滤波器在电子领域中扮演着重要的角色,用于处理信号、抑制噪声以及滤除干扰。本文将详细介绍滤波器的工作原理、分类以及在各个应用领域中的具体应用。 一、滤波器的定义和作用 滤波器是一种电子设备,用于选择性地通过或阻塞特定频率范围内的信号。其主…

数智化时代的新潮流:企业如何利用数据飞轮驱动增长?_光点科技

随着数据中台理念的逐渐“降温”,企业数智化的探索并未停歇。反而,数据飞轮成为了新的焦点,它承诺为企业带来更紧密的业务与数据结合,从而推动持续的增长。本文将探讨企业如何利用数据飞轮的概念,赋能业务,…

实现QT中qDebug()的日志重定向

背景: 在项目开发过程中,为了方便分析和排查问题,我们需要将原本输出到控制台的调试信息写入日志文件,进行持久化存储,还可以实现日志分级等。 日志输出格式: 我们需要的格式包括以下内容: 1.…

云上攻防-云原生篇K8s安全实战场景攻击Pod污点Taint横向移动容器逃逸

知识点 1、云原生-K8s安全-横向移动-污点Taint 2、云原生-K8s安全-Kubernetes实战场景 章节点: 云场景攻防:公有云,私有云,混合云,虚拟化集群,云桌面等 云厂商攻防:阿里云,腾讯云&…

Graphpad Prism10.2.1(395) 安装教程 (含Win/Mac版)

GraphPad Prism GraphPad Prism是一款非常专业强大的科研医学生物数据处理绘图软件,它可以将科学图形、综合曲线拟合(非线性回归)、可理解的统计数据、数据组织结合在一起,除了最基本的数据统计分析外,还能自动生成统…

什么是物联网?物联网如何工作?

物联网到底是什么? 物联网(Internet of Things,IoT)的概念最早于1999年被提出,官方解释为“万物相连的互联网”,是在互联网基础上延伸和扩展,将各种信息传感设备与网络结合起来而形成的一个巨大网络,可以实…

USB2.0设备检测过程信号分析

1.简介 USB设备接入的Hub端口负责检测USB2.0设备是否存在和确定USB2.0设备的速度。检测设备是否存在和确定设备速度涉及一系列的信号交互,下面将分析该过程。 2.硬件 USB低速设备和全速/高速设备的连接器在硬件结构上有所不同,而主机或者Hub接收端连接…

复杂业务场景下,如何优雅的使用设计模式来优化代码?

1、引言 本文以一个实际案例来介绍在解决业务需求的路上,如何通过常用的设计模式来逐级优化我们的代码,以把我们所了解的到设计模式真实的应用于实战。 2、背景 假定我们现在有一个订单流程管理系统,这个系统对于用户发起的一笔订单&#…

【IEEE列表会议】IEEE第三届信息与通信工程国际会议国际会议(JCICE 2024)

会议简介 Brief Introduction 2024年第三届信息与通信工程国际会议国际会议 (JCICE 2024) 会议时间:2024年5月10日-12日 召开地点:中国福州 大会官网:JCICE 2024-2024 International Joint Conference on Information and Communication Engi…

揭秘Web缓存:提升网站性能与用户体验

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

专题一 - 双指针 - leetcode 18. 四数之和 - 中等难度

leetcode 18. 四数之和 leetcode 18. 四数之和 | 中等1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现 leetcode 18. 四数之和 | 中等 1. 题目详情 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请…

Android 拍照本地图片选择框架适配

前言 通常技术方案的选择、会带来后续一些不可控的东西,这也是没法避免的,程序开发者中同时面对、测试、领导、产品各种要求。同时在网络上查找的资料也只是很旧的,不一定适合新设备,需要推倒重新弄 1、解决方案通过意图选择器做…

一键转发朋友圈!微信快速营销推广必备法宝!

在这个“得私域者得天下”的互联网时代,如何能够在微信上进行快速、高效的营销推广成为了摆在许多人面前的一道难题。 幸运的是,随着微信管理系统的出现,一键转发朋友圈的快速营销推广法宝已经变得触手可及。 首先,微信管理系统…

【计网】TCP协议安全与风险:深入探讨网络通信的基石

🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 🌐前言 🔒正文 TCP (Transmission Control Protocol): UDP (User Datagram Protocol): HTTP (Hypertext Transfer …

[RoarCTF 2019]Easy Java

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

AWing:1227.分巧克力 (蓝桥杯)

#include<iostream> using namespace std;const int N 1e5 10; int h[N] {0},w[N] {0}; int n,k;bool check(int mid){int ans 0; // ans 统计蛋糕以mid为边长 可以划分的数量for(int i 0;i < n;i){ans (h[i] / mid) * (w[i] / mid);if(ans >…

简洁实用的wordpress外贸网站模板

坚果蜜饯wordpress跨境电商模板 木瓜干、菠萝干、夏威夷果、芒果干、椰片、巴旦木等wordpress跨境电商模板。 https://www.jianzhanpress.com/?p3944 珠宝手饰wordpress外贸网站模板 金银手饰、珍珠手饰、翡翠手饰、钻石手饰、玉石珠宝手饰wordpress外贸网站模板。 https:…

WinSCP下载安装并结合内网穿透实现固定公网TCP地址访问本地服务器

文章目录 1. 简介2. 软件下载安装&#xff1a;3. SSH链接服务器4. WinSCP使用公网TCP地址链接本地服务器5. WinSCP使用固定公网TCP地址访问服务器 1. 简介 ​ Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件&#xff0c;它的主要功能是在本地与远程计…

数据开发 - 面经(已OC) - 北京中海通

投递流程&#xff1a; 2023.12.28 Boss 打招呼 2024.1.3 约面 2024.1.4 上午面试 &#xff08;手机端腾讯会议&#xff09; 2024.1.5 上午 通知面试通过 腾讯会议手机端无法和录影机同时运行&#xff0c;录音无效&#xff0c;之后注意使用电脑面试 面试流程&#xff1a;首…