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

块级LoRA:个性化与风格化在文本到图像生成中的新突破

人工智能咨询培训老师叶梓 转载标明出处

文本到图像生成技术的核心目标是教会预训练模型根据输入的文本提示生成具有特定主题和风格的新颖图像。尽管已有多种微调技术被提出,但它们在同时处理个性化和风格化方面仍存在不足,导致生成的图像在个人身份和风格概念上出现不一致。

为了克服现有方法的局限性,华为的研究团队提出了块级LoRA方法。这种方法通过在Stable Diffusion(SD)模型的不同块上执行细粒度的低秩微调,生成与输入提示相符、目标身份明确且具有期望风格的图像。通过大量实验,研究团队证明了块级LoRA方法的有效性。

方法

之前提出的图像生成(T2I)个性化和风格化的方法是基于文本反演的方法将文本信息反向转换为个性化的视觉表示,增强基于扩散的生成模型的适应性和定制性。DreamBooth及其后续方法通过优化整个SD网络权重来学习特定主题的先验,从而在输出图像中实现更高的主题保真度。与此不同,以LoRA为代表的方法是通过不同的重新参数化解决了这一任务,这更为轻量级和高效。

LoRA最初是作为NLP领域大模型的微调方法提出的,后来被引入到SD模型中,用于高效的图像生成(T2I)。LoRA指出,预训练模型的权重矩阵具有低内在特征维度,因此可以将模型的权重更新分解为两个低维矩阵。在微调过程中,原始权重被冻结,只有矩阵A和B是可调的。这样,前向计算过程可以更新为h = W0x + BAx,其中h是输出特征图。

块级LoRA方法是对现有的LoRA(Low-Rank Adaptation)方法的一种改进,目的是为了解决在结合不同类型的全块微调LoRAs时生成结果不满意的问题。

通常SD(Stable Diffusion)的LoRA是通过在U-Net的所有块上执行低秩微调来实现的,这包括了LoCon(LoRA for Convolution Network)中进一步涉及的卷积层。然而,当将这些全块微调的LoRAs用于T2I生成时,往往得到的生成结果并不令人满意。为了改善这种情况,研究者们专注于研究U-Net的哪些部分应该进行微调,以实现更好的个性化和风格化。具体如下:

通过将LoRA矩阵的秩设置为零,可以跳过当前块的LoRA微调。这样,SD就会使用原始的预训练权重,而不是添加LoRA的权重。公式(2)展示了这一过程:其中,ℎ是输出特征图,是预训练的权重,B 和 A 是LoRA中的低秩矩阵。

为了控制SD中U-Net的不同部分进行LoRA微调,研究者们将U-Net划分为几个部分,如图1所示。这包括四个内部块(in-blocks)、一个中间块(mid-block)和四个外部块(out-blocks)。通过这种设计,可以对U-Net的不同块执行细粒度的低秩微调,并分别评估不同设置在个性化和风格化任务中的生成性能。

实验

实验使用了多种数据集,其中包括Manga Face Dataset作为漫画风格LoRA的训练数据集。对于其他风格LoRA和角色LoRA,作者使用了自定义的训练数据集。每个数据集包含20张图像,每张图像重复25次,并伴有大约500张由基础模型生成的正则化图像。这一设置旨在增强模型的泛化能力,并减少过拟合的风险。

在训练过程中,研究者采用了Stable Diffusion 1.4作为基础的T2I生成模型,并设置了11,000步的微调步骤和2的批量大小。在推理阶段,使用了DPM 2M++ Karras作为采样器,采样步数为25,无分类器引导(CFG)的比例设为7.0,生成图像的分辨率与训练图像保持一致。为了进行公平比较,所有方法的推理提示和超参数都保持固定。

研究者将块级微调方法与原始的LoRA/LoCon方法进行了比较,如图2和图3所示。实验结果显示,块级LoRA/LoCon模型在个性化和风格化方面的表现优于LoRA/LoCon模型。LoRA/LoCon在生成具有目标风格的图像方面失败了,而块级LoRA/LoCon微调在个性化方面具有明显优势。

在消融研究中,研究者评估了三种不同类型的角色LoCon和风格LoCon的组合性能。每种块级LoCon组合都可以混合角色和风格。然而,如图4(a)所示,块级ID LoCon与风格LoCon的组合风格与风格LoCon输入不匹配,块级ID LoCon与块级风格LoCon的组合丢失了太多角色的个人细节。说明ID LoCon与块级风格LoCon的组合在消融研究中表现最佳,它不仅能够保持角色的个人细节,还能像LoCon输入一样改变绘画风格。

研究者还探索了在ID LoCon与块级LoCon的组合中应该保留哪些块。他们将块级LoCon块均匀地分成三部分,在每次训练过程中激活其中一部分。如图1所示,"上部块"是In-Block0 + Out-Block3,"中部块"是In-Block1 + Out-Block2,"下部块"是In-Block2 + Out-Block1。图4(b)提供了结果。可以看到,仅激活上部块时,即顶部输入块和顶部输出块,输出图像完美地保持了角色的细节和风格。仅激活中部块时,输出失去了风格,但角色的细节更多地显示在图片中。当仅激活下部块时,所有目标信息和概念都缺失了。

通过这些详细的实验设置和结果分析,展示了块级LoRA方法在提高文本到图像生成任务的个性化和风格化方面的有效性。

论文链接:https://arxiv.org/abs/2403.07500

项目链接:https://github.com/cloneofsimo/lora

相关文章:

块级LoRA:个性化与风格化在文本到图像生成中的新突破

人工智能咨询培训老师叶梓 转载标明出处 文本到图像生成技术的核心目标是教会预训练模型根据输入的文本提示生成具有特定主题和风格的新颖图像。尽管已有多种微调技术被提出,但它们在同时处理个性化和风格化方面仍存在不足,导致生成的图像在个人身份和风…...

redis的数据结构——压缩表(Ziplist)

压缩表(Ziplist)是Redis中一种紧凑的数据结构,主要用于节省内存。它通常被用于存储少量的字符串或小整数,尤其在列表类型(List)和哈希类型(Hash)中。当数据量较小或数据本身占用内存较少时,Redis会选择用压缩表来存储数据,以减少内存开销。 压缩表的基本结构 压缩表…...

探索未知,悦享惊喜 —— 您的专属盲盒一番赏小程序盛大开启

在这个充满奇遇与惊喜的时代,每一份未知都蕴藏着无限可能。为了将这份独特的乐趣带到您的指尖,我们精心打造了“悦赏盲盒”小程序,一个集潮流、趣味、收藏于一体的全新互动平台,让每一位用户都能享受到拆盲盒的乐趣,发…...

dompdf导出pdf中文乱码显示问号?

环境:PHP 8.0 框架:ThinkPHP 8 软件包:phpoffice/phpword 、dompdf/dompdf 看了很多教程(包括GitHub的issue、stackoverflow)都没有解决、最终找到解决问题的根本! 背景:用Word模板做转PDF…...

韩顺平Java-第二十四章:MYSQL基础篇

一 数据库 1 数据库简单原理图 2 使用命令行窗口连接MYSQL数据库 (1)mysql -h 主机名 -P 端口 -u 用户名 -p密码; (2)登录前,保证服务启动。 3 MySQL三层结构 (1)所谓安装MySQL数…...

【动态规划算法题记录】最长/最大 问题汇总 (leetcode)

目录 32. 最长有效括号思路代码 300. 最长递增子序列思路代码 674. 最长连续递增序列思路1:双指针代码1:双指针思路2:dp代码2:dp 718. 最长重复子数组思路1:dp代码1:dp思路2:dp优化代码2&#x…...

2020 位示图

2020年网络规划设计师上午真题解析36-40_哔哩哔哩_bilibili 假设某计算机的字长为32位,该计算机文件管理系统磁盘空间管理采用位示图(bitmap),记录磁盘的使用情况。若磁盘的容量为300GB,物理块的大小为4MB,…...

富格林:防止陷入黑幕欺诈平台

富格林指出,不少投资者因未做好投资准备而不慎误入黑幕欺诈平台,造成了不必要的亏损。投资者在投资前,需要时刻保持警惕,根据市场行情,作出有依据的投资决定,而不是依赖黑幕欺诈平台的噱头进行投资。建议投…...

Cookie、Session 、token

Cookie 优点: 简单易用: 浏览器自动管理 Cookie 的发送和接收。持久性: 可以设置过期时间,使其可以在浏览器关闭后依旧存在。广泛支持: 所有现代浏览器都支持 Cookie。 缺点: 安全性问题: 存储在客户端,容易被查看和篡改。敏感信息不应直接存储在 Co…...

Json-类型映射使用TypeFactory或者TypeReference

当你需要将JSON数据转换为Java中的复杂类型时,可以使用Jackson库中的TypeFactory或 者TypeReference。这两种方式可以帮助你处理复杂的泛型类型,例如 List<Map<String, Object>> 或者 Map<String, List<Object>>。 示例 1: 使用 TypeFactory 和 T…...

Linux shell编程学习笔记73:sed命令——沧海横流任我行(上)

0 前言 在大数据时代&#xff0c;我们要面对大量数据&#xff0c;有时需要对数据进行替换、删除、新增、选取等特定工作。 在Linux中提供很多数据处理命令&#xff0c;如果我们要以行为单位进行数据处理&#xff0c;可以使用sed。 1 sed 的帮助信息&#xff0c;功能&#xff…...

内网渗透之icmp隧道传输

原理 # 为什么要建立隧道 在实际的网络中&#xff0c;通常会通过各种边界设备软/硬件防火墙、入侵检测系统来检查对外连接的情况&#xff0c;如果发现异常&#xff0c;会对通信进行阻断。 ​ # 什么是隧道 就是一种绕过端口屏蔽的方式&#xff0c;防火墙两端的数据包通过防火墙…...

【C++ 第十五章】map 和 set 的封装(封装红黑树)

1. map 和 set 的介绍 ⭐map 与 set 分别是STL中的两种序列式容器; 它们是一种树形数据结构的容器&#xff0c;且其的底层构造为一棵红黑树; 而在上一篇文章中提到,其实红黑树本身就是一棵二叉搜索树,是基于二叉搜索树的性质对其增加了平衡的属性来提高其综合性能 ⭐当然也…...

LIN通讯

目录 1 PLinApi.h 2 TLINFrameEntry 结构体 3 自定义函数getTLINFrameEntry 4 TLINScheduleSlot 结构体 5 自定义函数 getTLINScheduleSlot 6 自定义LIN_SetScheduleInit函数 7 自定义 LIN_StartSchedule 8 发送函数 9 线程接收函数 1 PLinApi.h 这是官方头文件 ///…...

zabbix常见架构及组件

Zabbix作为一个开源的、功能全面的监控解决方案&#xff0c;广泛应用于各类组织中&#xff0c;以实现对网络、服务器、云服务及应用程序性能的全方位监控。部署架构灵活性高&#xff0c;可支持从小型单一服务器环境到大型分布式系统的多种场景。基本架构通常包括监控端&#xf…...

plsql表格怎么显示中文 plsql如何导入表格数据

在Oracle数据库开发中&#xff0c;PL/SQL Developer是一款广泛使用的集成开发环境&#xff08;IDE&#xff09;&#xff0c;它提供了丰富的功能来帮助开发人员高效地进行数据库开发和管理。在使用PL/SQL Developer时&#xff0c;许多用户会遇到表格显示中文的问题&#xff0c;以…...

chromedriver下载地址大全(包括124.*后)以及替换exe后仍显示版本不匹配的问题

Chrome for Testing availability CNPM Binaries Mirror 若已经更新了系统环境变量里的chromdriver路径下的exe&#xff0c;仍显示版本不匹配&#xff1a; 则在cmd界面输入 chromedriver 会跳出version verison与刚刚下载好的exe不匹配&#xff0c;则再输入&#xff1a; w…...

拦截器实现 Mybatis Plus 打印含参数的 SQL 语句

1.实现拦截器 package com.sample.common.interceptor;import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.mapping.BoundSql; import or…...

Oracle Subprogram即Oracle子程序

Oracle Subprogram&#xff0c;即Oracle子程序&#xff0c;是Oracle数据库中存储的过程&#xff08;Procedures&#xff09;和函数&#xff08;Functions&#xff09;的统称。这些子程序是存储在数据库中的PL/SQL代码块&#xff0c;用于执行特定的任务或操作。下面详细介绍Orac…...

自然语言处理实战项目30-基于RoBERTa模型的高精度的评论文本分类实战,详细代码复现可直接运行

大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目30-基于RoBERTa模型的高精度的评论文本分类实战,详细代码复现可直接运行。RoBERTa模型是由 Facebook AI Research 和 FAIR 的研究人员提出的一种改进版的 BERT 模型。RoBERTa 通过采用更大的训练数据集、动态掩码机…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...