论文阅读_扩散模型_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 形状和物理限制的知识。
  • 模型生成的图像没有达到完美的照片真实感。例如微妙的灯光效果或微小的纹理变化。
  • 模型由数据训练而成,可能包含一些社会和种族偏见。
  • 多个对象或主题下的“概念出血”现象:不同视觉元素的意外合并或重叠。比如“蓝色帽子”和“红色手套”,生成时变成了蓝色手套和红色帽子。这是由于文本编码器无法绑定正确的属性和对象造成的。另外,渲染长文本时也会遇到困难。

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

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

相关文章

3D视觉测量:形位公差 面对面平行度(附源码)

文章目录 0. 测试效果1. 基本内容1.1 面对面平行度概述2. 代码实现文章目录:3D视觉测量目录微信:dhlddxB站: Non-Stop_0. 测试效果 1. 基本内容 “平行度” 是用来描述两个或多个对象或方向之间的平行关系的度量。在几何和工程学中,平行度通常用于衡量物体、表面、线条或方向…

mac帧 arp

1.分片 2.MSS max segment size 3.跨网络的本质 就是经历很多的子网或者局域网 4.将数据从A主机跨网络送到B主机的能力 IP和mac IP解决的是路径选择的问题 5.数据链路层 用于两个设备&#xff08;同一种数据链路节点&#xff09;之间进行传递 6.以太网ether 7.局域网通…

圆圈加数字的css

方式一 .circle { width: 50px; height: 50px; border-radius: 50%; background-color: #f00; color: #fff; text-align: center; line-height: 50px; } .circle::before { content: attr(data-number); display: block; } <div class"circle" data-number"…

ChatGPT总结(持续更新)

目录 体验渠道 weTab CSDN-AI助手 其他插件 ChatGPT简介 ChatGPT主要用途 ChatGPT发展历程 GPT-4架构的特点和优势 ChatGPT的工作原理 神经网络和自然语言处理技术 Transformer模型 模型训练优化技巧 ChatGPT对程序员的帮助 与ChatGPT交互和提问技巧 ChatGPT未来…

50ETF期权开户平台(0门槛期权开户指南)

50ETF期权开户平台比较好的有&#xff1a;期权馆&#xff0c;期权科普馆&#xff0c;小熊期权&#xff0c;期权酱&#xff0c;财顺财经&#xff0c;财顺期权等&#xff0c;都是国内前十的期权分仓平台&#xff0c;下文为大家结算50ETF期权开户平台&#xff08;0门槛期权开户指南…

SoC 总线结构学习记录之系统存储总线(System Memory Bus)与私有设备总线

蜂鸟 E203 SOC总线结构&#xff1a;  蜂鸟 E203 内核 BIU 的系统存储接口 ICB 连接系统存储总线&#xff0c;通过其访问 SoC 中的若干存储组件&#xff0c;譬如 ROM&#xff0c;Flash 的只读区间等。  蜂鸟 E203 内核 BIU 的私有设备接口 ICB 连接私有设备总线&#xff0c…

mac电脑屏幕录制Berrycast Mac屏幕录制软件

Berrycast是一款为Mac设计的优秀屏幕录制软件&#xff0c;它让屏幕录制变得简单而高效。以下是Berrycast的一些主要特点&#xff1a; 简单的用户界面&#xff1a;Berrycast拥有直观和简洁的用户界面&#xff0c;使得用户可以轻松上手。高质量的视频输出&#xff1a;Berrycast能…

Sharding-JDBC介绍及分库分表实践

1.1 ShardingSphere简介 最早是当当网内部使用的一款分库分表框架&#xff0c;名字叫Sharding-JDBC&#xff0c;定位为轻量级 Java 框架&#xff0c;在 Java 的 JDBC 层提供的额外服务。 它使用客户端直连数据库&#xff0c;以 jar 包形式提供服务&#xff0c;无需额外部署和依…

机器人中的数值优化(六)—— 线搜索最速下降法

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考&#xff0c;主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等&#xff0c;本系列文章篇数较多&#xff0c;不定期更新&#xff0c;上半部分介绍无约束优化&#xff0c;…

C语言每日一练--Day(16)

本专栏为c语言练习专栏&#xff0c;适合刚刚学完c语言的初学者。本专栏每天会不定时更新&#xff0c;通过每天练习&#xff0c;进一步对c语言的重难点知识进行更深入的学习。 今日练习题关键字&#xff1a;寻找奇数 峰值 二分查找 &#x1f493;博主csdn个人主页&#xff1a;小…

《数字图像处理-OpenCV/Python》连载(4)图像的读取与保存

《数字图像处理-OpenCV/Python》连载&#xff08;4&#xff09;图像的读取与保存 本书京东优惠购书链接&#xff1a;https://item.jd.com/14098452.html 本书CSDN独家连载专栏&#xff1a;https://blog.csdn.net/youcans/category_12418787.html 第1章 图像的基本操作 为了方…

【MyBatisⅡ】动态 SQL

目录 &#x1f392;1 if 标签 &#x1fad6;2 trim 标签 &#x1f460;3 where 标签 &#x1f9ba;4 set 标签 &#x1f3a8;5 foreach 标签 动态 sql 是Mybatis的强⼤特性之⼀&#xff0c;能够完成不同条件下不同的 sql 拼接。 在 xml 里面写判断条件。 动态SQL 在数据库里…

vr智慧党建主题展厅赋予企业数字化内涵

现如今&#xff0c;VR全景技术的发展让我们动动手指就能在线上参观博物馆、纪念馆&#xff0c;不仅不用受时间和空间的限制&#xff0c;还能拥有身临其境般的体验&#xff0c;使得我们足不出户就能随时随地学习、传承红色文化。 很多党建展厅都是比较传统的&#xff0c;没有运用…

多级缓存 架构设计

说在前面 在40岁老架构师 尼恩的读者社区(50)中&#xff0c;很多小伙伴拿到一线互联网企业如阿里、网易、有赞、希音、百度、网易、滴滴的面试资格&#xff0c;多次遇到一个很重要的面试题&#xff1a; 20w的QPS的场景下&#xff0c;服务端架构应如何设计&#xff1f;10w的QPS…

国际版阿里云/腾讯云:弹性高性能计算E-HPC入门概述

入门概述 本文介绍E-HPC的运用流程&#xff0c;帮助您快速上手运用弹性高性能核算。 下文以创立集群&#xff0c;在集群中安装GROMACS软件并运转水分子算例进行高性能核算为例&#xff0c;介绍弹性高性能核算的运用流程&#xff0c;帮助您快速上手运用弹性高性能核算。运用流程…

企业架构LNMP学习笔记7

PHP介绍&#xff1a; HTML&#xff1a;超文本标记语言 http: 超文本传输协议 端口80 浏览器将html代码解析成web页面。 PHP&#xff1a;超文本预处理器。后端语言开发&#xff0c;页面上需要动态改变修改的&#xff0c;需要连接数据库查询数据&#xff0c;转为html。 主要…

电脑每次开机杀毒软件报iusb3mon.exe病毒已清除,电脑中病毒iusbmon杀毒办法,工具杀毒

不知道什么时候开始&#xff0c;我电脑C盘的系统数据存储文件夹programdata 不知不觉就没了&#xff0c;找不到了 programdata文件夹为存储系统数据文件的&#xff0c;这个文件不见了&#xff0c;而且我打开了显示隐藏文件和文件夹还是没有显示 然后我重启电脑&#xff0c;杀毒…

万物流动 万物永驻 ——C++ Core Guidelines的流动哲学

众所周知&#xff0c;C 是一门自由的语言&#xff0c;语言的设计哲学之一就是赋予程序员极大的自由度和灵活性&#xff0c;因此&#xff0c;使用C 完成一个任务时&#xff0c;不同的程序员往往会有不同的实现方法&#xff0c;这真正阐释了什么叫条条大路通罗马。不过&#xff0…

CSS transition 过渡

1 前言 CSS过渡(transition)可以在一个元素切换到另一种状态时为其定义平滑的过渡效果。 例如&#xff0c;用户鼠标悬停在按钮上时&#xff0c;按钮颜色平滑的从一个颜色过渡到另一个颜色。 .btn:hover{background-color: red;color: black; }默认悬停效果 添加过渡效果 .b…

电商项目part10 高并发缓存实战

缓存的数据一致性 只要使用到缓存&#xff0c;无论是本地内存做缓存还是使用 redis 做缓存&#xff0c;那么就会存在数据同步的问题。 先读缓存数据&#xff0c;缓存数据有&#xff0c;则立即返回结果&#xff1b;如果没有数据&#xff0c;则从数据库读数据&#xff0c;并且把…