北交字节联合提出ClassDiffusion: 使用显式类别引导的一致性个性化生成。
在个性化生成领域, 微调可能会引起过拟合导致模型无法生成与提示词一致的结果。针对这个问题,北交&字节联合提出ClassDiffusion,来提升个性化生成的一致性。
通过两个重要观察及理论分析提出了新的观点:一致性的损失是个性化概念语义偏移导致的, 还引入了BLIP2-T 来为个性化生成领域提供更公平有效的指标。
一只狗和太阳镜的故事,展示了一只狗是如何获得诺贝尔文学奖的,以及一副太阳镜的命运。
相关链接
项目主页: https://classdiffusion.github.io/
论文地址: https://arxiv.org/abs/2405.17532v1
代码地址:https://github.com/Rbrq03/ClassDiffusion
论文阅读
ClassDiffusion:使用明确的类指导进行更一致的个性化调优
摘要
最近的文本到图像定制工作已被证明能够成功生成给定概念的图像,方法是通过对一些示例微调扩散模型。然而,这些方法往往会过度拟合概念,导致在多种条件下无法创建概念(例如,在生成“戴耳机的狗”时缺少耳机)。
有趣的是,我们注意到微调之前的基础模型表现出将基础概念与其他元素组合的能力(例如,戴耳机的狗),这意味着只有在个性化调整后,组合能力才会消失。
受此观察的启发,我们提出了 ClassDiffusion,这是一种简单的技术,它利用语义保存损失在学习新概念时明确调节概念空间。尽管它很简单,但这有助于避免在对目标概念进行微调时出现语义漂移。
大量的定性和定量实验表明,使用语义保存损失可以有效提高微调模型的组合能力。为了应对 CLIP-T 指标的无效评估,我们引入了 BLIP2-T 指标,这是针对该特定领域的更公平、更有效的评估指标。我们还提供了深入的实证研究和理论分析,以更好地理解所提出的损失的作用。最后,我们还将 ClassDiffusion 扩展到个性化视频生成,展示了其灵活性。
方法概述
ClassDiffusion 概述。我们的语义保存损失 (SPL) 是通过测量从同一文本转换器(使用 EOS 标记作为 CLIP 之后的文本特征)中提取的具有个性化标记的短语和仅具有超类的短语之间的余弦距离来计算的。
实验
单一概念比较
ClassDiffusion方法与具有单一给定概念的基线进行定性比较。
多个概念比较
ClassDiffusion方法与具有多个给定概念的自定义扩散(CD)进行定性比较。
个性化视频
实验分析
(a)每个点代表由形容词和“狗”组合而成的短语的 CLIP 文本嵌入(例如,一只可爱的狗)。经过微调后,定制概念(蓝点代表微调前的概念,红点代表微调后的概念)远离文本特征空间中“狗”分布的中心。
(b)使用提示“一张在游泳池里游泳的狗的照片”时,与狗 token 对应的交叉注意图的可视化结果。
理论分析
在个性化调整过程中,随着狗的分布缩小,狗和耳机的条件分布也会缩小。这逐渐增加了在此分布中采样的难度,导致组合生成能力减弱。我们的 ClassDiffusion 通过结合语义保留损失 (SPL) 来缓解这种情况,以最大限度地减少个性化概念与其超类的语义漂移。
待做事项
-
ClassDiffusion的训练代码
-
ClassDiffusion的推理代码
-
BLIP2-T评分管道
-
用ClassDiffusion生成视频的推理代码
结论
在这项工作中,我们强调了由于个性化而削弱了构图能力的问题并从实验观察微调和信息理论观点中分析了这一问题的原因。 然后,我们引入一种称为ClassDiffusion的新方法,通过还原原始语义空间,减轻了合成能力的弱化。 最后,我们提出了全面的实验结果,展示了ClassDiffusion和它为相互关联的领域提供了新的视角。
相关文章:
北交字节联合提出ClassDiffusion: 使用显式类别引导的一致性个性化生成。
在个性化生成领域, 微调可能会引起过拟合导致模型无法生成与提示词一致的结果。针对这个问题,北交&字节联合提出ClassDiffusion,来提升个性化生成的一致性。 通过两个重要观察及理论分析提出了新的观点:一致性的损失是个性化概念语义偏移导致的, 还…...
37、matlab矩阵运算
1、前言 矩阵运算是指对矩阵的各种操作和运算,包括矩阵加法、矩阵减法、矩阵乘法、矩阵转置、求逆矩阵等。以下是常见的矩阵运算: 矩阵加法:对应位置的元素相加,要求加数和被加数的维度相同。 A B | a11 b11 | | a12 b12 | | …...
用软件实现的硬件——虚拟机
通过软件实现CPU和内存等硬件所具有的功能,并在计算机中运行循环的计算机技术称为虚拟机。使用虚拟机,就可以在一台计算机中运行多个循环出来的计算机。 近几年的计算机,除了硬件具有较高的性能外,CPU的性能也有了提升。因此&…...
[Shell编程学习路线]--shell中重定向和管道符(详细介绍)
🏡作者主页:点击! 🛠️Shell编程专栏:点击! ⏰️创作时间:2024年6月12日10点50分 🀄️文章质量:93分 ——前言—— 在Shell编程中,重定向和管道符是两个…...
Linux命令详解(1)
在Linux操作系统中,命令行界面(CLI)是一个强大的工具,它允许用户通过键入命令来与系统交互。无论是系统管理员还是普通用户,掌握一些基本的Linux命令都是非常重要的。在本文中,我们将探讨一些常用的Linux命…...
网工内推 | 深信服、中软国际技术支持工程师,最高13k*13薪
01 深信服 🔷招聘岗位:远程技术支持工程师 🔷任职要求: 一、专业能力和行业经验: ①具备友商同岗位工作经验1.5年以上,具备良好的分析和判断能力,有独立问题处理思路,具备常见协…...
实现卡片的展开缩放动画
原理,外层包裹一个元素,子元素分别是展开和收起的元素,然后对展开的元素添加动画,动画内容是随时间变化,将卡片的transform:rotateX属性进行调整,因为改变的是子元素的旋转,父元素高…...
实验:贪心算法
实验二:贪心算法 【实验目的】 应用贪心算法求解活动安排问题。 【实验性质】 验证性实验。 【实验要求】 活动安排问题是可以用贪心算法有效求解的很好的例子。 问题:有n个活动的集合A{1,2,…,n},其中每个活动都要求使用同一资源&…...
Python学习笔记12 -- 有关布尔值的详细说明
一、布尔表达式 最终值为true 或者false 二、常见形式: 1、常量:true false 2、比较运算: and ! 3、复合运算: and and or 4、其他 例:检测闰年: def specialYearMine(year):if (year%4 …...
SQL-窗口函数合集
目录 1.窗口函数简介2.窗口的定义3.相关题目示例3.1 PERCENT_RANK()2346 以百分比计算排名 3.2 FIRST_VALUE()/LAST_VALUE()/NTH_VALUE()2388 将表中的空值更改为前一个值 1.窗口函数简介 MySQL 开窗函数(Window Functions)是 MySQL 8.0 版本引入的一个…...
2024 全球软件研发技术大会官宣,50+专家共话软件智能新范式!
2024年的全球软件研发技术大会(SDCon)由CSDN和高端IT咨询与教育平台Boolan联合主办,将于7月4日至5日在北京威斯汀酒店举行。本次大会的主题为“大模型驱动软件智能化新范式”,旨在探讨大模型和开源技术的发展如何引领全球软件研发…...
opencv快速安装以及各种查看版本命令
安装opencv并查看其版本,直接通过一个可执行文件实现。 #!/bin/bashwget https://codeload.github.com/opencv/opencv/zip/3.4 -O opencv-3.4.zip && unzip opencv-3.4.zip && cd opencv-3.4 && \mkdir build && cd build &&a…...
免费学习通刷课(免费高分)Pro版
文章目录 概要整体架构流程小结 概要 关于上一版的免费高分的学习通刷课,有很多人觉得还得登录太复杂了,然后我又发现了个神脚本,操作简单,可以后台挂着,但是还是建议调整速度到2倍速,然后找到你该刷的课&…...
线性数据结构-队列
队列(Queue)是一种先进先出(First In First Out, FIFO)的数据结构,它按照元素进入的顺序来处理元素。队列的基本操作包括: enqueue:在队列的末尾添加一个元素。dequeue:移除队列的第…...
python脚本将视频抽帧为图像数据集
AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…...
Xmind导入纯文本TXT方法
最近有很多同事咨询我如何在xmind直接导入纯文本txt笔记或者思维导图呢? 解决办法如下: 1.先打开xmind随便打开一个思维导图-文件-导出-marldown 2.选中导出的markdown文件。右键-打开方式-苹果系统选择文本编辑,Win系统选择记事本 3.按照图示…...
深度学习在老年痴呆检测中的应用:数据集综述
深度学习在老年痴呆检测中的应用:数据集综述 引言 老年痴呆(Alzheimer’s Disease, AD)是一种神经退行性疾病,主要影响老年人,导致记忆力、认知能力和行为的逐步衰退。早期检测和诊断对于延缓疾病进展、提高患者生活质量至关重要。近年来,深度学习技术在医学影像分析和…...
【FreeRTOS】内存管理笔记
一、为什么要自己实现内存管理? 后续的章节涉及这些内核对象:task、queue、semaphores和event group等。为了让FreeRTOS更容 易使用,这些内核对象一般都是动态分配:用到时分配,不使用时释放。使用内存的动态管理功能&…...
【数据结构】二叉树:一场关于节点与遍历的艺术之旅
专栏引入 哈喽大家好,我是野生的编程萌新,首先感谢大家的观看。数据结构的学习者大多有这样的想法:数据结构很重要,一定要学好,但数据结构比较抽象,有些算法理解起来很困难,学的很累。我想让大家…...
arm系统中双网卡共存问题
文章目录 单网卡单独运行双网卡共存问题双网卡解决方案方案一方案二方案三验证双网卡通过网卡名获取IP通过TCP与服务端通信参考单网卡单独运行 双网卡共存问题 双网卡解决方案 方案一 https://blog.csdn.net/HowieXue/article/details/75937972 方案二 http://bbs.witech…...
IDEA创建Mybatis项目
IDEA创建Mybatis项目 第一步:创建库表 -- 创建数据库 create database mybatis_db;-- 使用数据库 use mybatis_db;-- 创建user表 CREATE TABLE user (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) NOT NULL,password VARCHAR(50) NOT NULL,email VARC…...
排序---快速排序
前言 个人小记 一、代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #define MAX_ARR 100000 #define swap(a,b)\ {\__typeof(a) __ca;\ab,b__c;\ } #define TEST(func ,arr,l,r)\ {\int nr-l;\printf("tes…...
#08【面试问题整理】嵌入式软件工程师
前言 本系列博客主要记录有关嵌入式方面的面试重点知识,本系列已经更新的篇目有如下: 1.1进程线程的基本概念 1.2 并发,同步,异步,互斥,阻塞,非阻塞的理解 1.3 孤儿进程、僵尸进程、守护进程的概念 3.1 TCP UDP 【本篇】3.2 三次握手、四次挥手...
统计绘图 | 一行代码教你绘制顶级期刊要求配图
在分享完即可统计又可可视化绘制的优秀可视化包后(具体内容可看 统计绘图 | 既能统计分析又能可视化绘制的技能 。就有小伙伴私信问我需要绘制出版级别的可视化图表有什么快速的方法?“。鉴于我是一个比较宠粉的小编,几天就给大家推荐一个技巧࿰…...
[ue5]建模场景学习笔记(6)——必修内容可交互的地形,交互沙(4)
1.需求分析: 现在我们已经有了可以在世界内近于无限的跑动痕迹,现在需要对痕迹进行细化,包括例如当人物跳起时便不再绘制痕迹,以及痕迹应该存在深浅,应该由两只脚分别绘制,同时也应该对地面材质进行进一步处…...
5.2 参照完整性
5.2.1 外键约束 语法格式:constraint < symbol > foreign key ( col_nam1[, col_nam2... ] ) references table_name (col_nam1[, col_nam2...]) [ on delete { restrict | cascade | set null | no action } ] [ on update { restrict | cascade | set nu…...
SpringCache 缓存 - @Cacheable、@CacheEvict、@CachePut、@Caching、CacheConfig 以及优劣分析
目录 SpringCache 缓存 环境配置 1)依赖如下 2)配置文件 3)设置缓存的 value 序列化为 JSON 格式 4)EnableCaching 实战开发 Cacheable CacheEvict CachePut Caching CacheConfig SpringCache 的优势和劣势 读操作…...
数据结构 —— 堆
1.堆的概念及结构 堆是一种特殊的树形数据结构,称为“二叉堆”(binary heap) 看它的名字也可以看出堆与二叉树有关系:其实堆就是一种特殊的二叉树 堆的性质: 堆中某个结点的值总是不大于或不小于其父结点的值&…...
【运维】如何更换Ubuntu默认的Python版本,update-alternatives如何使用
update-alternatives 是一个在 Debian 及其衍生发行版中(包括 Ubuntu)用于管理系统中可替代项的命令。它可以用于在系统中设置默认的软件版本,例如在不同版本的软件之间进行切换,比如不同的 Python 版本。 要在 Ubuntu 中使用 up…...
2024 年适用于 Linux 的 5 个微软 Word 替代品
对于那些最近由于隐私问题或其他原因而转向 Linux 的用户来说,可能很难替换他们最喜欢的、不在 Linux 操作系统上运行的应用程序。 寻找流行程序的合适替代品可能会成为一项挑战,而且并不是每个人都准备好花费大量时间来尝试弄清楚什么可以与他们在 Win…...
网页设计制作一个网站/游戏优化大师官网
阻塞队列(block_queue) 什么是阻塞队列: 在多线程编程时当有多个线程访问一个队列时如果队列为空,则获取队列中元素的方法就会阻塞,直到队列中有元素可以获取 解决的问题: 队列的线程安全问题队列多线程取元素时的轮询判断问题…...
网站怎么做拉新/如何注册域名及网站
1、单列排序 SELECT* FROMtable_name ORDER BYcolumn_name; ASC默认升序,降序后面接"DESC"即可。 2、多列排序 SELECT* FROMtable_name ORDER BYcolumn_name1,column_name2 DESC; 首先按column_name1字段排序,若column_name1相等,…...
武汉网站建设公司厂家/5118营销大数据
element-ui tree 节点过滤加载对应子节点方法,官网例子,不会返回过滤节点 的子节点。而我们一般实际业务中,需要搜索到其下所有的子节点 实现方法如下(修改filterNode方法即可,注意注意:filterNode方法有三个参数&…...
用自己的电脑做服务器搭建网站/百度竞价代运营外包
其实 还是 主要是用的 drag 拖拽的 几个 事件回调函数 <div>请拖拽此处上传文件</div> <input type"file" hidden /> js部分 为啥 每个都加上了 preventDefalt 不阻止默认行为的话 当你移动文件到浏览器中 被默认被打开的 var div …...
国外移民公司网站设计/2023年8月疫情恢复
拷贝:其实就是一个对象复制给另外一整个对象,让对象相互不影响。 对象的拷贝又分为浅拷贝和深拷贝:对象的浅拷贝(只拷贝一层) 对象的深拷贝(拷贝多层) 浅拷贝和深拷贝只针对object和Array这样的…...
二手域名做网站不收录/南宁优化网站网络服务
方法参数 int deleteBookById(int id);//给int 类型的方法传入一个int 类型的参数方法的参数列表指定要传什么样的信息给方法,在参数列表中必须指定每个所传递对象的类型及名称。 TreeMap: 输入一个字符串 并查看每个字符出现的次数 //输入一个字符串 …...