当前位置: 首页 > news >正文

论文阅读_扩散模型_SDXL

英文名称: SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis
中文名称: SDXL:改进潜在扩散模型的高分辨率图像合成
论文地址: http://arxiv.org/abs/2307.01952
代码: https://github.com/Stability-AI/generative-models
时间: 2023-07-04
作者: Dustin Podell

1 读后感

SD 是语言引导的扩散模型。SDXL 是 2023年7月 Stable Diffusion 新发的大模型框架,它是潜在扩散模型(LDM)扩展。其主要效果是:加强了画面细腻度,优化了构图,以及对语言的理解能力。

我对比了 SD 1.5 和 SDXL 模型,感觉速度差不太多,个人感觉:图片质量,对文字的理解略有提升,可能因为目前 SDXL 的基模比较少,用的还不太多。个人理解,目前阶段,无论是AI写作,绘画还是编程,都需要与人和其它工具深度结合,远不到可以独立解决问题,自动生成最终成果的阶段,但确实能提升效率和效果。

这篇文章没有使用一般的技术论文结构,他将相关工作,方法,实验都写到了第二部分,具体方法也没做太多展开;限制和展示分别写在了正文和附录中。

2 研究背景和动机

视觉创作领域的一个主要问题是,虽然黑盒模型通常被认为是最先进的,但其架构的不透明性阻碍了对其性能的评估和验证。缺乏透明度阻碍了复现,抑制了创新,并阻止社区在这些模型的基础上进一步推动科学和艺术的进步。而本文提出了 SDXL 开源模型,显著提高了 SD 的性能,可与最先进的图像生成器相媲美的合成结果。

具体方法是:

  • SDXL 使用了之前三倍大的 U-Net 作为主干网络,增加的参数包括:引入第二个文本编码器,更多的注意力块和更大的交叉注意力上下文。
  • 增加两种调节技术,在多种大小和长宽比上优化模型训练。
  • 增加了基于扩散的refine模块,应用于去噪过程,提高了生成样本的视觉保真度。

3 方法

3.1 架构与规模

U-Net是当前扩散模型的主流架构,SDXL把 U-Net 网络扩展到之前的三倍大小,具体参数如表-1所示:

将 Transformer 的大部分计算转移到 UNet 中的较低级别特征,以提升效率。结构上:省略了最高特征级别的 Transformer 块,在较低级别使用 2 和 10 个块,并完全删除 UNet 中的最低级别(8×下采样)。

另外,还选择了更为强大的文本编码器,文本编码器的参数总大小为817M。除了使用交叉注意力根据文本输入来调节模型之外,还根据 OpenCLIP 模型的池化文本嵌入来调节模型。

3.2 微调节

3.2.1 根据图像大小微调

LDM 由于其两阶段结构,训练模型需要最小的图像尺寸。一般有两种主流方法,一种是丢弃小分辨率图片(如<512像素);另一种方式是上采样。

如图所示,在预训练的数据集中,小于256的图像占39%,如果将之丢弃,可能影响模型性能和泛化,而对太多图片上采样可能使生成的图片变得模糊。

文中提出的方法是:根据原始图像分辨率来调节 UNet 模型,将图像的原始宽高,csize = (horiginal, woriginal) 作为模型的附加条件。每个组件使用傅立叶特征编码独立嵌入,这些编码连接成向量,将其添加到时间步嵌入以输入模型。推理时,传入待生成图片的宽高,模型将学会参考 csize 生成图像。

具体实验用 ImageNet 数据训练三个LDM模型,将图像大小限制为 512x512。

CIN-512-only 去掉了512以下的图片,CIN-nocond使用所有图片但未做处理,CIN-size-cond 将图像大小传入模型。实验结果说明,对于小数据量训练,csize确实提升了效果。

3.2.2 根据裁剪参数调节

图-4 展示了 SD 之前版本的另一个常见问题,构图不对,这是由于 Pytorch 要求输入大小相同的数据,而训练数据中图片长宽比不同。一般处理方法是先缩放,再随机从其长边剪切图像再训练。

文中提出的方法与处理大小的方法类似,将裁剪坐标 ctop 和 cleft 进行统一采样,并通过傅里叶特征嵌入,将它们作为条件参数输入到模型中。推理时,将ctop, cleft设为0。

3.3 多尺度训练

一般生成的图像都为 512x512,1024x1024,而实际的需求往往不是这样的。为解决这一问题,文中将数据划分为不同纵横比的桶,将像素数尽可能保持接近 1024x1024 像素。

在优化过程中,每个 batch 由同一存储桶的图像组成,在每个训练步骤的存储桶大小之间交替。此外,模型接收桶大小作为条件,表示为整数元组 car = (htgt, wtgt),并将其嵌入到傅立叶空间中。

3.4 改进自编码器

通过改进自编码器来改善生成图像中的局部细节。文中调整 batch size(256 vs 9)训练自编码器,另外使用指数移动平均值跟踪权重。新的自编码器在所有评估的重建指标中都优于原始模型。

3.5 Refine 阶段

右图使用了 Refine 模块,可以看到更多细节,这种方法有效提升了局部细节效果(如背景/人脸细节)。

具体方法是:在同一潜在空间中训练一个单独的 LDM,该 LDM 专门用于高质量、高分辨率数据,并采用SDEdit 在基础模型的样本上引入 加噪-去噪 过程。在推理时,从基础 SDXL 渲染潜变量,并使用相同的文本输入,通过细化模型直接在潜空间中对它们进行扩散和去噪。其用户评价效果与其它模型对比,如图-1的左侧所示。

4 限制和展望

4.1 展望

  • 当前模型为两阶段模型,之后倾向于变为单阶段模型。
  • 文本理解力有待进一步提升。
  • 结构上,之后更倾向于大规模 Transformer 框架。
  • 模型增大加大了推理成本,未来将侧重于减少推理所需的计算量。
  • 目前使用离散时间方法,后将尝试连续时间方法,以提高采样灵活性,并且不需要噪声时间校正。

4.2 限制

(附录 B)

  • 模型在合成复杂的结构时可能会遇到挑战,例如人手,其原因可能是手类物体出现的差异非常大,模型很难提取真实 3D 形状和物理限制的知识。
  • 模型生成的图像没有达到完美的照片真实感。例如微妙的灯光效果或微小的纹理变化。
  • 模型由数据训练而成,可能包含一些社会和种族偏见。
  • 多个对象或主题下的“概念出血”现象:不同视觉元素的意外合并或重叠。比如“蓝色帽子”和“红色手套”,生成时变成了蓝色手套和红色帽子。这是由于文本编码器无法绑定正确的属性和对象造成的。另外,渲染长文本时也会遇到困难。

相关文章:

论文阅读_扩散模型_SDXL

英文名称: SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis 中文名称: SDXL&#xff1a;改进潜在扩散模型的高分辨率图像合成 论文地址: http://arxiv.org/abs/2307.01952 代码: https://github.com/Stability-AI/generative-models 时间: 2023-…...

云原生Kubernetes:二进制部署K8S多Master架构(三)

目录 一、理论 1.K8S多Master架构 2.配置master02 3.master02 节点部署 4.负载均衡部署 二、实验 1.环境 2.配置master02 3.master02 节点部署 4.负载均衡部署 三、总结 一、理论 1.K8S多Master架构 (1) 架构 2.配置master02 &#xff08;1&#xff09;环境 关闭防…...

任意文件读取和下载

任意文件读取是什么&#xff1f; 一些网站的需求&#xff0c;可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕就可以查看或下载任意文件。这些文件可以是源代码文件配置文件敏感文件等等。过&#xff0c; 任意文件读取会造成(敏感)信息泄露;任意…...

mysql怎么查指定表的自增id?

要查看MySQL表的自增ID&#xff08;Auto Increment ID&#xff09;&#xff0c;你可以使用SHOW TABLE STATUS命令。以下是一个示例&#xff1a; SHOW TABLE STATUS LIKE your_table_name; 替换your_table_name为你想查询的表名。这条语句会返回表的一些基本信息&#xff0c;其…...

【C++设计模式】单一职责原则

2023年8月26日&#xff0c;周六上午 目录 概述一个简单的例子用单一职责原则来设计一个简单的学生管理系统 概述 单一职责原则&#xff08;Single Responsibility Principle&#xff0c;SRP&#xff09;&#xff0c;它是面向对象设计中的一个基本原则。 单一职责原则的核心思…...

Windows docker desktop 基于HyperV的镜像文件迁移到D盘

Docker desktop的HyperV镜像文件&#xff0c;默认是在C盘下 C:\ProgramData\DockerDesktop\vm-data\DockerDesktop.vhdx如果部署的软件较多&#xff0c;文件较大&#xff0c;或者产生日志&#xff0c;甚至数据等&#xff0c;这将会使此文件越来越大&#xff0c;容易导致C盘空间…...

LM-INFINITE: SIMPLE ON-THE-FLY LENGTH GENERALIZATION FOR LARGE LANGUAGE MODELS

本文是LLM系列文章&#xff0c;针对《LM-INFINITE: SIMPLE ON-THE-FLY LENGTH GENERALIZATION FOR LARGE LANGUAGE MODELS》的翻译。 LM-INFiNITE&#xff1a;大语言模型的一个简单长度上推广 摘要1 引言2 相关工作3 LLMs中OOD因素的诊断4 LM-INFINITE5 评估6 结论和未来工作 …...

ShardingSphere——压测实战

摘要 Apache ShardingSphere 关注于全链路压测场景下&#xff0c;数据库层面的解决方案。 将压测数据自动路由至用户指定的数据库&#xff0c;是 Apache ShardingSphere 影子库模块的主要设计目标。 一、压测背景 在基于微服务的分布式应用架构下&#xff0c;业务需要多个服…...

二分图-染色法-dfs

1.判断一个图是否是二分图当且仅当图中不包含奇数环 2. dfs当前边为1 他的临边为2 看是否满足条件 3. 注意图有可能不是连通图 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays;public class BinaryG…...

SQL优化案例教程0基础(小白必看)

前提准备&#xff1a;本案例准备了100W的数据进行SQL性能测试&#xff0c;数据库采用的是MySQL&#xff0c; 总共介绍了常见的14种SQL优化方式&#xff0c;每一种优化方式都进行了实打实的测试&#xff0c; 逐行讲解&#xff0c;通俗易懂&#xff01; 一、前提准备 提前准备一…...

webpack(一)模块化

模块化演变过程 阶段一&#xff1a;基于文件的划分模块方式 概念&#xff1a;将每个功能和相关数据状态分别放在单独的文件里 约定每一个文件就是一个单独的模块&#xff0c;使用每个模块&#xff0c;直接调用这个模块的成员 缺点&#xff1a;所有的成员都可以在模块外被访问和…...

基于Java+SpringBoot+Vue前后端分离人力资源管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…...

安装配置mariadb

记录下安装配置mariadb的经历。 环境&#xff1a;ubuntu22 一、apt在线安装 apt代理配置 APT是Ubuntu系统中用于安装和升级软件包的工具&#xff0c;如果本地没有可用的软件包&#xff0c;APT将会连接到远程软件包服务器下载软件包。在某些情况下&#xff0c;用户需要将APT的…...

Ant Design Vue 日期选择器DatePicker传给后台日期参数格式问题

花了一个下午才解决&#xff0c;官方组件文档里面是没有处理方案说明的。 项目版本&#xff1a;Ant Design Vue 2.0.2 前端部分代码&#xff1a; <template><a-modal:visible"visible":width"windowWidth":height"800":title"tit…...

springboot1.5.12升级至2.6.15

首先&#xff0c;加入springboot升级大版本依赖&#xff0c;会在升级过程中打印出错日志提示&#xff08;升级完毕可去除&#xff09; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-properties-migrator</art…...

Android Event事件分发(新版本)

之前写过一个方案&#xff08;添加链接描述&#xff09;&#xff0c;突然觉得很麻烦&#xff0c;于是有了新的方案&#xff1a; 首先先说要解决的问题&#xff1a; 当父布局能滑动&#xff0c;子View也能滑动&#xff0c;就会出现滑动冲突 解决思路&#xff1a;我们按下子Vie…...

可控生成:ControlNet原理

🤗关注公众号funNLPer体验更佳阅读🤗 论文:Adding Conditional Control to Text-to-Image Diffusion Models 代码:lllyasviel/ControlNet 简单来说ControlNet希望通过输入额外条件来控制大型图像生成模型,使得图像生成模型根据可控。 文章目录 1. 动机2. ControlNet原理…...

【极客时间】MySQL 必知必会-20230901

03 | 表&#xff1a;怎么创建和修改数据表&#xff1f; 新增数据表 CREATE DATABASE demo;CREATE TABLE goodsmaster (barcode TEXT,goodsname TEXT,price DOUBLE, itemnumber INT PRIMARY KEY AUTO_INCREMENT);INSERT INTO demo.goodsmaster (barcode, goodsname,price) VAL…...

53 个 CSS 特效 3(完)

53 个 CSS 特效 3&#xff08;完&#xff09; 前两篇地址&#xff1a; 53 个 CSS 特效 153 个 CSS 特效 2 这里是第 33 到 53 个&#xff0c;很多内容都挺重复的&#xff0c;所以这里解释没之前的细&#xff0c;如果漏了一些之前的笔记会补一下&#xff0c;写过的就会跳过。…...

简单数学题:找出最大的可达成数字

来看一道简单的数学题&#xff1a;力扣2769. 找出最大的可达成数字 题目描述的花里胡哨&#xff0c;天花乱坠&#xff0c;但这道题目非常简单。我们最多执行t次操作&#xff0c;只需每次操作都让x-1&#xff0c;让num1&#xff0c;执行t次操作后&#xff0c;x就变为xt&#xff…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

JDK 17 序列化是怎么回事

如何序列化&#xff1f;其实很简单&#xff0c;就是根据每个类型&#xff0c;用工厂类调用。逐个完成。 没什么漂亮的代码&#xff0c;只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...