《Discriminative Class Tokens for Text-to-Image Diffusion Models》ICCV2023

news2024/11/24 10:21:20

摘要

论文讨论了文本到图像扩散模型的最新进展,这些模型能够生成多样化和高质量的图像。然而,生成的图像常常缺乏细节,并且由于输入文本的歧义性,容易产生错误。为了解决这些问题,作者提出了一种非侵入式的微调技术,利用预训练分类器的判别信号来指导生成过程,从而在保留自由形式文本表达潜力的同时,实现高精度。

概述

拟解决的问题:文本到图像的扩散模型在处理含有词汇歧义的输入或生成细节时表现不佳。此外,使用标记数据集训练的模型,由于数据集规模较小,限制了模型的表达能力,影响了生成图像的质量和多样性。

创新之处:

  • 提出了一种微调技术,通过迭代修改文本到图像扩散模型中单个输入标记的嵌入,使用分类器来引导图像生成,使其更接近给定的目标类别。
  • 该方法快速且不需要类别内图像集合或重新训练耐噪声分类器。
  • 能够在低资源环境下用于增强训练数据,并且能够揭示用于训练引导分类器的数据信息。

方法

  • 引入了一个与外部分类器标签类对应的标记(S_{c}),通过迭代生成新图像并优化标记表示,以根据预训练分类器提高类别概率。
  • 使用了一种新技术——梯度跳跃,它只将梯度传播通过扩散过程的最后阶段。
  • 通过生成与目标类相关的图像,同时保留预训练扩散模型的全部表达能力,避免了对标记图像的训练。

提出了一种新颖的微调技术,通过在文本到图像扩散模型中引入一个与预训练分类器标签相对应的判别性标记 S_{c}​,来解决输入文本中的词汇歧义问题并增强生成图像的细节表现。该技术通过迭代优化这个标记的嵌入表示,利用分类器的反馈来引导图像生成过程,从而生成更加准确和细致的图像,而无需重新训练整个模型或依赖于特定类别的图像集合。这种方法不仅提高了生成图像的质量,还保持了模型对自由形式文本的表达能力,同时避免了对分类器进行噪声数据的再训练。 

3.1 条件扩散模型

训练条件扩散模型时,目标是学习一个过程,它能够预测在每一步添加的噪声,同时考虑条件输入。这通常通过最小化一个损失函数来实现,该函数衡量模型预测的噪声与实际噪声之间的差异。

其中: 

 

在生成图像时,我们通常希望模型能够生成特定类别的图像。例如,如果输入文本是“一只猫”,我们希望生成的图像是猫的图像,而不是其他任何物体。为了实现这一点,可以利用分类器来引导扩散过程,使其偏向于生成特定类别的图像。在条件扩散模型中,可以通过使用预训练分类器的梯度信息来指导生成过程。这里的“梯度”是指损失函数相对于模型参数的导数,它指示了如何调整参数以最小化损失函数。在这种情况下,分类器的梯度可以用来调整生成模型的参数,使其生成的图像更符合特定类别的特征。

缺点:

  • 当使用分类器指导扩散过程时,分类器需要在整个生成过程中对每一步产生的部分去噪图像进行评估。这意味着分类器必须能够准确地处理和理解在不同去噪阶段的图像,包括那些仍然包含噪声的图像。
  • 在生成图像的每一步中,都需要利用分类器的输出来指导图像的生成方向。这就意味着分类器必须在生成过程的每个阶段都被调用,这会增加整体的计算负担和延迟。

为了解决这个问题,提出了一种无分类器的方法。这种方法不依赖于图像分类器的梯度,而是通过对条件 p_{\theta }\left (x|y \right ) 和无条件 p_{\theta }\left (x \right )、去噪模块之间的差异进行建模来近似隐式分类器的梯度。条件模块和无条件模块使用相同的 \varepsilon _{\theta }\left ( x_{t},y \right ) 参数化,条件网络通过使用空句子变为无条件的。最终的去噪网络正式表示如下:

 其中 w 是决定条件引导强度的超参数。

3.2 判别令牌嵌入

判别令牌是一种特殊的标记S_{c},它被嵌入到文本到图像的扩散模型中,用于代表特定的类别信息。这些令牌与预训练的分类器相关联,目的是在生成过程中引入类别特定的指导信号。

判别令牌的嵌入向量通常初始化为与目标类别相关的已知标记的嵌入,例如,如果目标是生成特定种类的鸟类图像,判别令牌的嵌入可能会初始化为“鸟”这个词的嵌入。这种初始化有助于模型更快地学习并适应特定的类别特征。

迭代优化过程:

  1. 生成与优化:在生成图像的过程中,模型会使用包含判别令牌的文本提示(如“一张具有S_{c}的老虎猫的照片”)。这里的“Sc”代表判别令牌,它在每次迭代中被优化以更好地代表目标类别。
  2. 分类器反馈:生成的图像被送入预训练的分类器,分类器的输出(如类别概率分布)被用来提供反馈,指导判别令牌的进一步优化。
  3. 损失函数:通常使用交叉熵损失函数来衡量分类器对生成图像的分类结果与目标类别之间的差异。通过最小化这个损失,判别令牌的嵌入被调整以提高生成图像的类别准确性。

3.3 梯度跳跃

为了提高训练效率并减少资源消耗,论文中提到了“梯度跳跃”技术。在这种技术中,只有扩散过程的最后阶段(即最后的去噪步骤)会更新判别令牌的嵌入。这种方法减少了在每一步中都需要反向传播的计算负担,同时仍然能够有效地优化判别令牌。

 

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

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

相关文章

AgentOhana:为智能体学习设计统一的数据和训练流水线

人工智能咨询培训老师叶梓 转载标明出处 多源数据异构性问题通常来源于多轮交互的Agent相关数据。不同数据集之间的数据结构、语法、标签约定和处理方法的多样性,使得LLM的训练和微调过程变得复杂,且容易引入偏差和不一致性。为了应对这些挑战&#xff…

2024年做了TMMi认证的中国企业有哪些

(本文章企业名单来源:TMMi基金会官方网站) 您是否想要了解2024年(截至8月底)有哪些新增企业做了TMMi认证(不含2级)? 以下是TMMi基金会官网查询的内容: TMMi基金会官网公…

数据结构————单链表

目录 一、单链表的定义及其特点 定义 特点 二、单链表的实现 准备工作: 1.单链表的创建 1.1头插法介绍 1.2尾插法介绍 总结: 2.单链表的初始化 3.单链表的求表长 4.单链表的销毁 5.单链表的插入 6.单链表的查找 6.1按序查找 6.2按值查找 7…

UDP聊天室项目

代码思路 服务器 #include <stdio.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip.h> #include <stdlib.h> #include <unistd.h> #include <arpa/inet.h>…

每周心赏|极致浪漫,这些中秋仪式感AI住了

盈月揽星辉&#xff0c;万家赴团圆。✨ 月光散尽&#xff0c;总是带着一丝温柔的凉意。 &#x1f342;清风拨弦&#xff0c;总是留存着诗意的古韵悠扬。 千年前&#xff0c;李白对月独酌&#xff0c;苏轼对影成双&#xff0c; 千年后&#xff0c;文心智能体便利店与你穿越时…

adb的安装和使用 以及安装Frida 16.0.10+雷电模拟器

.NET兼职社区 .NET兼职社区 .NET兼职社区 1.下载adb Windows版本&#xff1a;https://dl.google.com/android/repository/platform-tools-latest-windows.zip 2.配置adb环境变量 按键windowsr打开运行&#xff0c;输入sysdm.cpl&#xff0c;回车。 高级》环境变量》系统变量》…

【C++】_stack和_queue容器适配器、_deque

当别人都在关注你飞的有多高的时候&#xff0c;只有父母在关心你飞的累不累。&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;stack •&#x1f330;1.stack介绍 •&#x1f330;2.stack的基本操作 &#x1f34b;知识点二&…

电脑之间如何快速传大文件?

这里&#xff0c;为大家介绍一款免费的远程桌面软件——远程看看&#xff0c;该软件不仅支持远程控制&#xff0c;还提供了文件传输功能&#xff0c; 用户可以传输单个文件大小不超过2TB&#xff0c;且传输速度可达每秒10MB。若您不知道电脑之间如何快速传大文件&#xff0c;远…

城市交通标线检测系统源码分享

城市交通标线检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

redis基本数据类型和常见命令

引言 Redis是典型的key-value&#xff08;键值型&#xff09;数据库&#xff0c;key一般是字符串&#xff0c;而value包含很多不同的数据类型&#xff1a; Redis为了方便我们学习&#xff0c;将操作不同数据类型的命令也做了分组&#xff0c;在官网&#xff08; Commands | Do…

Kafka 基于SASL/SCRAM动态认证部署,kafka加账号密码登录部署

文章目录 前言下载 kafka安装启动zookeeper添加账号密码 启动kafka修改kafka配置文件增加jaas授权文件修改启动文件&#xff0c;启动kafka检查是否部署成功 offset explore 连接 前言 其实挺简单的几个配置文件&#xff0c;问大模型一直没说到点上&#xff0c;绕晕了。SASL/SC…

Vue3.0组合式API:setup()函数

1、什么是组合式API Vue 3.0 中新增了组合式 API 的功能&#xff0c;它是一组附加的、基于函数的 API&#xff0c;可以更加灵活地组织组件代码。通过组合式 API 可以使用函数而不是声明选项的方式来编写 Vue 组件。因此&#xff0c;使用组合式 API 可以将组件代码编写为多个函…

浅谈EXT2文件系统----超级块

超级块概述 在 EXT2 文件系统中&#xff0c;超级块&#xff08;superblock&#xff09;是一个非常重要的数据结构&#xff0c;包含了文件系统的全局信息。每个文件系统都有一个超级块&#xff0c;位于文件系统的第一个块之后&#xff0c;通常在块组的起始处。 超级块包含以下关…

Autosar模式管理实战系列-COMM模块状态机及重要函数讲解

1.Channel状态管理 上一节提到ComM进行通信模式管理提供有两大状态机,另外一个就是Channel状态管理。这里的Channel指的是一个通信总线,目前项目主要是采用CAN总线。ComM 模块对每一个Channel都定义了一个状态机,用于描述通道的各种状态、状态转移关系和状态转移动作。该状…

NFT Insider #147:Sandbox 人物化身九月奖励上线;Catizen 付费用户突破百万

市场数据 加密艺术及收藏品新闻 Doodles 动画特别剧《Dullsville and The Doodleverse》在多伦多国际电影节首映 Doodles 最近在多伦多国际电影节&#xff08;TIFF&#xff09;首映了其动画特别剧《Dullsville and The Doodleverse》&#xff0c;这是该品牌的一个重要里程碑。…

享元模式详解:解锁高效资源管理的终极武器

&#x1f3af; 设计模式专栏&#xff0c;持续更新中 欢迎订阅&#xff1a;JAVA实现设计模式 &#x1f6e0;️ 希望小伙伴们一键三连&#xff0c;有问题私信都会回复&#xff0c;或者在评论区直接发言 享元模式 享元模式&#xff08;Flyweight Pattern&#xff09; 是一种结构型…

yaml配置文件(SpringBoot学习4)

SpringBoot使用一个全局的配置文件&#xff0c;配置文件名是固定的 application.properties 语法结构&#xff1a;keyvalue application.yaml 语法结构&#xff1a;key:空格value #是注释 #yaml 普通的key - value 例&#xff1a;name&#xff1a;…

力扣题解2390

大家好&#xff0c;欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述​&#xff08;中等&#xff09;&#xff1a; 从字符串中移除星号 给你一个包含若干星号 * 的字符串 s 。 在一步操作中&#xff0c;你可以&#xff1a; 选中 s 中的一个星号。 移除星号…

23. Revit API: 几何对象(四)- BrepBuilder

一、前言 上一篇写了Solid的创建、展示、变换、布尔操作&#xff0c;这一篇写另一种Solid的创建方法。 需要再次强调的是&#xff0c;BrepBuilder不适合用来创建Solid。 二、边界表示 【Wiki】&#xff1a;边界表示&#xff08;Boundary representation&#xff0c;简称B-Re…

顶刊算法 | 鹈鹕算法POA-Transformer-LSTM多变量回归预测

顶刊算法 | 鹈鹕算法POA-Transformer-LSTM多变量回归预测 目录 顶刊算法 | 鹈鹕算法POA-Transformer-LSTM多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现顶刊算法 | 鹈鹕算法POA-Transformer-LSTM多变量回归预测&#xff08;程序可以作为JCR…