直接用表征还是润色改写?LLM用于文生图prompt语义增强的两种范式

news2024/11/17 7:24:50

直接用表征还是润色改写?LLM用于文生图prompt语义增强的两种范式

导语

目前的文生图模型大多数都是使用 CLIP text encoder 作为 prompt 文本编码器。众所周知,由于训练数据是从网络上爬取的简单图文对,CLIP 只能理解简单语义,而无法理解复杂语法 。这导致生成的图片经常出现语义错误、属性绑定错误等问题。为了适配 CLIP 的简单语义的模式,现有的 Stable Diffusion 等生图模型的文本 prompt 也一般是宛如咒语一般的一组单词,而非正常的自然语言句子。现在的 LLM 大模型所擅长的正是复杂文本的语义理解,近来出现了一些工作使用 LLM 来对生图 prompt 进行润色改写或直接作为文生图模型的文本编码器,从而提高文生图模型对 prompt 的理解能力,并将 prompt 的语义在生图结果中更好地体现出来。

具体来说,目前使用 LLM 对文生图 prompt 进行语义增强的方法可以分为两种范式:一是使用 LLM 的文本生成能力对 prompt 进行改写、润色,使之适用于作为生图 prompt;二是直接将 LLM 的 hidden states 拿出来替换掉 CLIP 的 text embedding,作为条件通过交叉注意力注入到 UNet 生图过程中。本质上,这两类范式的区别就是语言模型与生图模型交互的交互媒介(interface)不同,关于这两类范式各自的优劣,将在文末讨论。

LaVi-Bridge

TL; DR:在 LLM 和 DM 中各自插入一些 LoRA,并在二者之间接一个 MLP。

方法

在 LLM 和 DM 中各自插入一些 LoRA,并在二者之间接一个 MLP。可以用于在各种 LLM 和 DM 之间适配。

在这里插入图片描述

总结

LaVi-Bridge 是比较简单直接的连接 LLM 和 DM 的做法。

ELLA

TL; DR:使用 LLM + Adapter 替换 CLIP text encoder 的简单语义 embedding,其中 LLM 和 Diffusion UNet、VAE 均冻结,仅训练 Adapter 部分。目前适用于 sd1.5 的模型已开源,但是训练代码和适用于 sdxl 的模型预计不会开源 (issue link)。

方法
  • 网络结构:提出了一种不同时间步不同的网络结构 TSC (Timestep-aware Semantic Connector)。实际上是用的 Flamingo 中的 Resampler,从而支持对于任意长度的文本输入,输出固定长度的 query token。另外,考虑到在不同的时间步,模型生成的重点不同(比如在前期确定整体构图布局,后期是增加更多细节),所以本文在 Adapter 上加入了 timestep embedding,从而使得 Adapter 能感知当前所处的时间步,来输出不同的 query token。将 LLM 的最后一层 hidden states 作为 TSC Adapter 的输入,然后 TSC Adapter 的输出通过交叉注意力作为条件注入到 UNet 中。
  • 训练数据:由于 web 上的图文对训练数据质量较差,本文使用 CogVLM 在筛选的图片上生成复杂文本描述。图片筛选条件包括美学分和最小分辨率等。
  • 新基准:本文还提出了一个复杂 prompt 信息文生图的 benchmark:DPG-Bench。

在这里插入图片描述

效果展示

ELLA 展示出的效果还是非常不错的,可以看到相比于 SDXL 和 DALL-E 3,ELLA 对 prompt 的理解都更好,对于复杂的物体关系、物体属性,都在生图结果中有正确的体现。

在这里插入图片描述

总结

使用 LLM 代替 CLIP 提供语义更完善准确的文本 embedding,虽然需要进行训练,但是 ELLA 的方案看起来是比较简洁的。但是比较可惜 ELLA-SDXL 不开源。

RPG Master

TL; DR:本文提出 RPG 生图框架,通过利用 LLM 的 CoT 推理能力,来对复杂的生图 prompt 进行拆解,将复杂图像的生成拆分为多个子区域的生成。并集成了文本生成和图像编辑,最后通过互补区域扩散,将全局 prompt 和各个区域 prompt 结合起来,完成最终生图。


方法

现有的文生图方法在面对包含多个物体,多种属性的复杂生图 prompt 时,经常出现属性绑定错落的情况。RPG 方法的三个字母,指的分别是 Recaption、Plan 和 Generate,这是本方法的三个步骤,通过 LLM 的复杂文本理解能力,对原 prompt 进行重写和分区域规划,再用互补区域采样生成完整图片。整体流程如下图所示。

在这里插入图片描述

  1. Recaption 是根据用户的复杂 prompt(本文中也作为 base prompt),由 (M)LLM 识别出其中的实体并对每个实体重写一个 prompt。注意根据实体的属性、数目等,会有特定的切分策略,避免多种属性落到同一区域内导致混乱;
  2. Plan 是根据 base prompt 和各实体的 prompt,进行计划划分,将不同实体分配到图像的各个区域,并按照指定的格式输出区域切分的长宽比和
  3. Generate 阶段,作者使用了一种新的多区域采样方法 CRD(Complementary Regional Diffusion)(如下图所示),base prompt 和各区域 prompt 各自进行正常的生成,最后将各区域的 latent 进行缩放并按位置拼接,得到一整张图的区域 latent,再与 base prompt 的全局 latent 计算加权和,解码得到最终图像。

在这里插入图片描述

另外,RPG 还支持使用多模态大模型(MLLM)结合文本 prompt 和此前的生图结果进行闭环迭代式的 prompt 图像编辑(流程见下图)。MLLM 同时接收编辑修改后的 prompt 和此前的生图结果,将二者的实体进行对照,根据二者差异进行 Add / Del / Mod 三种类型的修改,重新进行 Recaption、Plan、Generate 三个步骤,实现图像编辑。

在这里插入图片描述

效果展示

RPG 的效果展示如下图,可以看到,在面对多个物体、多种属性的复杂 prompt (如上方例子中的冰山、火山、村庄、滑雪、游玩等)时,利用 LLM 在不同区域生成对应的 prompt 并各自采样,RPG 可以将 prompt 中描述的物体和属性的对应关系正确地体现出来,而 SDXL 和 DALL-E 3 则出现了或是出现了属性缺失,或是出现了属性错乱的现象。

在这里插入图片描述

总结

RPG 中核心问题的解决方式就是利用 LLM 的推理能力,来对复杂 prompt 进行重写和分区域规划。因此该方法能否 work 的关键就在于所谓的 MLLM’s powerful reasoning ability 到底有没有那么 powerful。在实测中貌似许多 (M)LLM 对指令的理解能力和 reasoning 能力并不足以稳定的进行 recaptioning 和 planning。而且这个 instruct prompt 看起来也需要非常复杂详尽,不太好写。不过 RPG 是 training-free 的,这点比较好。

SUR-Adapter

TL; DR:构建简单 prompt、复杂 prompt、高质量图片三元组数据集,训练一个新增的 Adapter,蒸馏 LLM 从简单 prompt 到复杂 prompt 的扩写能力。


方法

上面的 RPG 解决的是 prompt 过于复杂,导致生图结果中物体属性混乱的问题,这里的 SUR-Adapter 解决的则是 prompt 过于简单,生图结果中细节太少,整体质量较差的问题。RPG 将复杂 prompt 进行改写拆分,分区域单独生成,避免属性混乱,而 SUR-Adapter 则是将简单 prompt 进行语义增强扩充,使得文生图模型能够得到细节更丰富的结果。

首先,作者构建了一个 SURD (Semantic Understanding and Reasoning Dataset)数据集:在 lexica、C 站、sd web 网站上收集高质量图片及其详细、复杂 prompt 的 pair,然后用 blip 生成该图片的简单 prompt,组成简单 prompt、复杂 prompt、高质量图片的三元组数据。经过清洗,最终共收集了 57000+ 样本。

在这里插入图片描述

然后,作者在预训练的文生图模型中加入了一个 Adapter(具体结构如下图所示),用于学习将简单 prompt 的文本特征优化对齐到复杂 prompt 的文本特征,这中间蒸馏 LLM 的理解、推理能力,来进行学习。具体来说,Adapter 的训练需要三个训练目标来驱动。

1 蒸馏 LLM 的理解推理能力

首先是要蒸馏学习 LLM 的理解、推理能力,学会从简单 prompt 到复杂 prompt 的扩写。将简单 prompt 分别输入到 LLM 和 text-encoder + adapter 中,最小化二者得到 embedding 的 KL 散度。

2 维持生图模型的原有生图能力

为了避免微调 adapter 过程中对原生图模型的生图能力有损害,第二个训练目标是常规扩散模型的去噪训练。值得注意的是,这里的用的文本 embedding 是 LLM 和 text-encoder + adapter 二者对简单 prompt 提取的文本 embedding 的加权和。

3 对齐简单 prompt 和复杂 prompt 的表征

对齐 2 中实际输入 UNet 的加权文本 embedding 与 text encoder 对复杂 prompt 的表征结果,最小化二者的 KL 散度。

在这里插入图片描述

效果展示

下图左侧展示了 CLIP text encoder 在多物体计数和多物体色彩绑定情况下出的问题,右侧分别展示了文生图模型在复杂 prompt、简单 prompt 和本文方法对简单 prompt 进行增强的情况下的生图结果。可以看到,仅使用简单 prompt 时,生图的细节确实比较单薄,而使用复杂 prompt 或本文增强的 prompt,细节明显更加丰富。

在这里插入图片描述

总结

也属于利用 LLM hidden states 表征能力的方法,搞得比较花哨。相当于学习 LLM 对简单 prompt 的扩写、细节丰富的能力。

整体总结

直接用表征还是润色改写?这是目前 LLM 用于文生图 prompt 语义增强的两种范式。

润色改写的代表方法是 RPG。这类方法优点是利用 LLM 本身的生成能力,不需要额外训练,缺点是比较依赖 (M)LLM 强大的指令跟随和语义理解能力,并且 LLM instruct prompt 的设计需要比较复杂详尽。如果 (M)LLM 能力不够强或 LLM instruct prompt 写得不好,很难稳定地生成高质量的结果。

直接用表征的方法比较多,LLaVi-Bridge、ELLA、SUR-Adapter 都属于这类方法。这类方法将 LLM 作为一个强大的文本表征模型,直接使用 LLM 的 hidden states 替换 CLIP 的 text embedding,都需要引入额外的 adapter 并进行训练。但是不需要设计 LLM instruct prompt,训练后的出图效果一般也比较稳定。但笔者一直有一个疑惑就是 LLM 这类预测下一个 token 的自回归模型用作表征模型的效率到底如何,以及为什么 LLM 的 hidden states 就比 CLIP 的 text embedding 的语义表征能力更强?

本质上,这两类范式的区别就是语言模型与生图模型交互的交互媒介(interface)不同。前者是使用 embedding 作为交互媒介,后者则是使用自然语言。直觉上来说,以 embedding 作为交互媒介似乎是更符合深度学习时代的做法。但是,最近的也有工作(如 De-Diffusion)指出了大模型/AIGC时代自然语言作为交互媒介的优势:灵活性和可解释性。以自然语言作为 interface,我们就能无缝地对接各类 LLMs、Diffusion Models,而不需要任何额外训练。这在介绍上述各方法时也有体现,只有以自然语言为媒介的 RPG 是不需要额外微调的。另外,自然语言可以直接被人类阅读,可解释性也大大增强。也可以引入人工参与,手动修改中间的 prompt。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux文件句柄数满,linux文件句柄数超出系统限制怎么办?

1、问题阐述: too many open files:顾名思义即打开过多文件数。 不过这里的files不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常…

自动化立体库安全使用管理制度

导语 大家好,我是智能仓储物流技术研习社的社长,老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 完整版文件和更多学习资料,请球友到知识星球 【智能仓储物流技术研习社】自行下载 关于自动化立体库安…

Linux--系统烧写

前面几篇文章,已经搞定了Linux移植三巨头:uboot、kernel(包含dtb)和rootfs,除了uboot是烧写在SD中的,其它的都是在ubuntu虚拟机的nfs服务器中,运行时必须通过网络将这些文件加载到开发板的内存中运行。 本篇就来研究&a…

JAVAEE—HTTP

文章目录 HTTP导读HTTP解析HTTP的格式分析环境准备 HTTP请求格式首行headerHostContent-LengthContent-TypeUser-Agent (简称 UA)RefererCookie 空行body HTTP响应格式认识HTTP的方法POST方法POST和GET的区别第一:用处第二:传递数据第三:GET不…

QWidget | Qt::WindowType 枚举的取值及意义QFlags 模板类详解

01 与 QWidget 类有关的部分类的继承图 3、QObject 是所有 Qt 对象的基类,QPaintDevie 是所有可绘制对象的基类。 4、QWidget 类是所有用户界面对象的基类,QWidget 及其子类是开发桌面应用的核心,这些类都位于 QtWidgets 模块内,注意:QtWidgets 是模块,QWidget 是类(少一…

装饰模式【结构型模式C++】

1.概述 装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 2.结构 抽象构件(Component)角色:定义一个抽象接口以规范准备接收附加责任的对象。具体构件(Concrete…

区块链安全应用------压力测试

测试要求: 1. 对以下AccountManager智能合约进行压测(基础要求set函数测试,balanceOf涵为20分加分项)2. 在本地链进行测试,需要监控本地进程的资源使用情况。每个进程的multiOutput属性为Avg3. 需要将每一个更改的配置文件截图,和…

指针(5)

前言 本节是有关指针内容的最后一节,本节的内容以讲解指针习题为主,那么就让我们一起来开启本节的学习吧! sizeof和strlen的对比 1.sizeof 我们在学习操作符的时候,学习了sizeof。sizeof存在的意义是用来计算变量所占用的内存空…

智慧火电厂合集 | 数字孪生助推能源革命

火电厂在发电领域中扮演着举足轻重的角色。主要通过燃烧如煤、石油或天然气等化石燃料来产生电力。尽管随着可再生能源技术的进步导致其比重有所减少,但直至 2023 年,火电依然是全球主要的电力来源之一。 通过图扑软件自主研发 HT for Web 产品&#xf…

百度智能云千帆 ModelBuilder 技术实践系列:通过 SDK 快速构建并发布垂域模型

​百度智能云千帆大模型平台(百度智能云千帆大模型平台 ModelBuilder)作为面向企业开发者的一站式大模型开发平台,自上线以来受到了广大开发者、企业的关注。至今已经上线收纳了超过 70 种预置模型服务,用户可以快速的调用&#x…

企业微信hook接口协议,开放平台id转企业用户id

开放平台id转企业用户id 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid":"3240fde0-45e2-48c0-90e8-cb098d0ebe43","openid":["woO9o4EAAAUg47yCUh1mDYVh71AJ8R3w"] } …

陪诊小程序的市场潜力与发展趋势研究

随着社会的快速发展和人口老龄化的加剧,医疗服务需求日益增长,而陪诊服务作为医疗服务的重要补充,正逐渐受到人们的关注和青睐。陪诊小程序作为一种便捷、高效的陪诊服务平台,其市场潜力和发展趋势值得关注。 一、市场潜力分析 人…

【现代交换原理与通信网技术】期末突击

文章目录 自己老师画的重点1. 程控交换机结构2. 测试模拟电路的七项功能3.中继电路的六项功能4.数字用户电路和模拟用户电路比较5.路由规划的基本原则6.七路信令的结构7.随路信令和公共信道信令8.软交换9.无极网和分级网10.路由选择.流量控制的原则/方法11.电路交换&&分…

微软Phi-3,3.8亿参数能与Mixtral 8x7B和GPT-3.5相媲美,量化后还可直接在IPhone中运行

Phi-3系列 Phi-3是一系列先进的语言模型,专注于在保持足够紧凑以便在移动设备上部署的同时,实现高性能。Phi-3系列包括不同大小的模型: Phi-3-mini(38亿参数) - 该模型在3.3万亿个令牌上进行训练,设计得足…

解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域

解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域 Tomcat 配置允许跨域Web 项目配置允许跨域Tomcat 同时允许静态文件和 Web 服务跨域 偶尔遇到一个 Tomcat 部署项目跨域问题,因为已经处理过…

如何调节电脑屏幕亮度?让你的眼睛更舒适!

电脑屏幕亮度的调节对于我们的视力保护和使用舒适度至关重要。不同的环境和使用习惯可能需要不同的亮度设置。可是如何调节电脑屏幕亮度呢?本文将介绍三种不同的电脑屏幕亮度调节方法,帮助您轻松调节电脑屏幕亮度,以满足您的需求。 方法1&…

超级好看动态视频官网源码

源码介绍 超级好看动态视频引导页源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 效果截图 源码下载 超级好看动态…

4.26日学习记录

[湖湘杯 2021 final]Penetratable SUID提权 SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限 SUID具有一定的限制: 1.仅对于二进制有效; 2.执行者在程序中有可以执行的权限; 3.权限仅在程序…

2024腾讯游戏安全技术竞赛-机器学习赛道

决赛赛题链接https://gss.tencent.com/competition/2024/doc/2024%E8%85%BE%E8%AE%AF%E6%B8%B8%E6%88%8F%E5%AE%89%E5%85%A8%E6%8A%80%E6%9C%AF%E7%AB%9E%E8%B5%9B-%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0-%E5%86%B3%E8%B5%9B.zip 今年的题目是游戏跨语言恶意内容识别 ,题目比较…