谷歌发布HyperDreameBooth:单张人像20秒内完成模型训练,速度比DreamBooth快25倍,模型小10000倍

news2024/11/24 15:25:12

HyperDreamBooth是谷歌去年发布的革命性模型训练方法,单张人像20秒内完成模型训练,速度比DreamBooth快25倍,模型小10000倍,但是没有不开源。

今年,论文《HyperDreamBooth: HyperNetworks for Fast Personalization of Text-to-Image Models》被CVPR2024接收,使之再一次进入大众视野,今天就跟大家来介绍一下HyperDreamBooth的相关内容。

首先,HyperDreamBooth是什么呢? 一句话总结,HyperDreamBooth作用和我们已知Textual Inversion、HyperNetwork、DreamBooth、Lora作用类似,是一种用来微调图像生成模型的超级网络。

那么,HyperDreamBooth的优势是什么呢?

HyperDreamBooth 仅使用一张输入图像20秒内就能完成模型训练,速度比DreamBooth快25倍,比Textual Inversion快125倍。生成的模型比普通DreamBooth模型小10000倍,但是质量和风格多样性与DreamBooth相同。

具体方法是:

  • 使用HyperNetwork 生成网络权重子集的初始预测。

  • 使用快速微调进行细化,以实现对主题细节的高保真度。HyperDreamBooth方法既能保持模型的完整性和风格多样性,又能紧密贴合主题的本质和细节。

相关链接

Github:https://hyperdreambooth.github.io

Paper:https://arxiv.org/abs/2307.06949

论文阅读

HyperDreamBooth:用于快速个性化文本到图像模型的超级网络

摘要

个性化已成为生成式 AI 领域的一个突出方面,它能够合成不同背景和风格的个人,同时保持其身份的高保真度。然而,个性化过程在时间和内存需求方面存在固有的挑战。微调每个个性化模型需要投入大量的 GPU 时间,并且存储每个主题的个性化模型对存储容量的要求很高。

为了克服这些挑战,我们提出了HyperDreamBooth - 一个超级网络,能够从一个人的单张图像中高效地生成一小组个性化权重。通过将这些权重组合到扩散模型中,再加上快速微调,HyperDreamBooth 可以在各种背景和风格中生成一个人的脸部,具有高主题细节,同时还保留了模型对各种风格和语义修改的关键知识。

我们的方法在大约 20 秒内实现了人脸个性化,比 DreamBooth 快25 倍,比 Textual Inversion 快125 倍,使用最少的一参考图像,具有与 DreamBooth 相同的质量和风格多样性。此外,我们的方法产生的模型比普通 DreamBooth 模型小10000 倍。

贡献

我们的工作旨在解决DreamBooth 的大小和速度问题,同时保持模型完整性、可编辑性和主题保真度。我们提出以下贡献:

  • 轻量级 DreamBooth (LiDB) - 个性化的文本转图像模型,其中定制部分大小约为 100KB。这是通过在低秩自适应权重空间内由随机正交不完全基生成的低维权重空间中训练 DreamBooth 模型来实现的。

  • HyperNetwork架构利用轻量级 DreamBooth 配置,并为文本到图像扩散模型中的给定主题生成权重的自定义部分。这些提供了强大的定向初始化,使我们能够进一步微调模型,以便在几次迭代内实现强大的主题保真度。我们的方法比DreamBooth 快25 倍,同时实现类似的性能。

  • 我们提出了秩放松微调技术,其中 LoRA DreamBooth 模型的秩在优化过程中得到放松,以实现更高的主题保真度,这使我们能够使用超网络通过初始近似值初始化个性化模型,然后使用秩放松微调来近似高级主题细节。

方法

超网络

我们的方法由 3 个核心元素组成:轻量级 DreamBooth (LiDB)、预测 LiDB 权重的超网络和等级宽松快速微调。

轻量级 DreamBooth (LiDB) 的核心思想是进一步分解 1 级 LoRa 残差的权重空间。具体来说,我们使用 1 级 LoRA 权重空间内的随机正交不完全基来实现这一点。

该方法也可以理解为将 LoRA 的下 (A) 和上 (B) 矩阵进一步分解为两个矩阵,其中“Aux”层使用行正交向量随机初始化并冻结。令人惊讶的是,我们发现,当 a=100 和 b=50 时,我们获得的模型只有 30K 个可训练变量,大小为 120 KB,个性化结果强大且保持主题保真度、可编辑性和风格多样性。

HyperDreamBooth训练和快速微调

  • 第一阶段:训练超网络,根据人脸图像预测网络权重,以便文本到图像的扩散网络根据句子输出人脸“一张 [v] 脸”如果将预测权重应用于它。我们使用预先计算的个性化权重进行监督,使用 L2 损失以及 vanilla 扩散重建损失。

  • 第二阶段:给定一张人脸图像,我们的超网络会预测网络权重的初始猜测,然后使用重建损失对其进行微调以提高保真度。

超网络架构

我们的超网络由一个可视化变换器 (ViT) 编码器组成,该编码器将人脸图像转换为潜在人脸特征,然后将其连接到由零启动的潜在层权重特征。变换器解码器接收连接特征的序列,并通过使用增量预测细化初始权重以迭代方式预测权重特征的值。通过将解码器输出传递到可学习的线性层,可以获得将添加到扩散网络的最终层权重增量。

变换器解码器非常适合这种类型的权重预测任务,因为扩散 UNet 或文本编码器的输出顺序依赖于层的权重,因此为了个性化模型,不同层的权重是相互依赖的。在以前的工作中,这种依赖关系在超网络中没有严格建模,而使用具有位置嵌入的变换器解码器,可以建模这种位置依赖关系 - 类似于语言模型变换器中单词之间的依赖关系。

HyperNetwork + Fast Finetuning 取得了很好的效果。下面我们针对每个参考(行)展示了初始超网络预测(HyperNetwork Prediction 列)的输出,以及 HyperNetwork 预测和快速微调(HyperNetwork + Fast Finetuning)后的结果。我们还展示了没有 HyperNetwork 预测组件的生成结果,以证明其重要性。

实验

结果展示

我们的方法可以生成各种主题的新颖艺术和风格化结果(如输入图像所示,左侧),具有相当大的可编辑性,同时保持了主题主要面部特征的完整性。输出图像带有以下标题(从左上到右下):“Instagram 上的 [V] 脸自拍照”、“皮克斯角色的 [V] 脸”、“皮肤粗糙的 [V] 脸”、“摇滚明星的 [V] 脸}。最右边:专业拍摄的 [V] 脸”。

结果比较

我们针对两种不同的身份和五种不同的文体提示,比较了我们的方法 (HyperDreamBooth)、DreamBooth 和 Textual Inversion 的随机生成样本。我们观察到,我们的方法在保留身份的同时通常实现了非常强的可编辑性,在单参考方案中通常超越了竞争方法。

社会影响

这项工作旨在为用户提供一种工具,以增强他们的创造力和通过直观的方式通过创作表达自己的能力。然而,先进的图像生成方法会以复杂的方式影响社会。我们提出的方法继承了许多可能影响此类图像生成的担忧,包括改变敏感的个人特征,如肤色、年龄和性别,以及重现预先训练模型的训练数据中已经存在的不公平偏见。我们工作中使用的底层开源预训练模型 Stable Diffusion 表现出其中一些担忧。与我们的工作相关的所有担忧都出现在最近的个性化工作中,唯一的增加的风险是我们的方法比以前的工作更高效、更快。

特别是,我们在实验中没有发现与以前关于偏见或有害内容的工作有任何不同,并且我们定性地发现我们的方法在不同种族、年龄和其他重要的个人特征中同样有效。然而,未来在生成建模和模型个性化方面的研究必须继续调查和重新验证这些问题。

结论

在这项工作中,我们提出了HyperDreamBooth一种基于文本到图像扩散模型的快速轻量级主题驱动的个性化新方法。我们的方法利用一个超级网络来生成具有后续快速秩放松的扩散模型的轻量级DreamBooth (LiDB)参数与DreamBooth等相比,实现了尺寸和速度的显著减小的微调 基于优化的个性化工作。我们已经证明,我们的方法可以产生高质量的不同风格、不同语义修饰的不同面孔图像。

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

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

相关文章

【沟通管理】项目经理《葵花宝典》之跨部门沟通

为什么每次跟其它部门的沟通总是不欢而散? 为什么每次想好好的就事论事的时候,却总是像在吵架? 为什么沟通总是不同频? 这是不是你作为项目经理在跨部门沟通时经常会遇到的问题? 在企业项目管理中,跨部门沟…

32岁TVB「最强关系户」快速上位,嫁巨星家族屡传婚变。

现年32岁的王敏奕贵为总经理曾志伟的新抱,经常被外界以「家嫂」称呼,而王敏奕近年亦凭出色演技获大赞,继在TVB剧集《婚后事》中饰演Mira一角,介入陈自瑶与罗子溢的婚姻,被封为「港版最美小三」之后,早前在剧集《家族荣耀之继承者》中大展「哭功」,获观众激赞! 除了演技…

平板消解加热台-温度均匀,防腐蚀-实验室化学分析

DBF系列防腐电热板 是精致路合金加热板块表面经进口高纯实验级PFATeflon氟塑料防腐不粘处理,专为实验室设计的电加热产品,是样品前处理中,加热、消解、煮沸、蒸酸、赶酸等处理的得力助手。可以满足物理、化学、生物、环保、制药、食品、饮品…

国内院线电影票api接口如何开发小程序

要开发一个基于国内院线电影票API接口的小程序,你需要遵循以下步骤: 1. 确定API提供方 首先,你需要确定一个提供电影票API接口的服务商。这可能是一个电影票务平台、院线自己的API服务,或者是一个第三方的数据提供商。 2. 阅读…

opencv roi改进版

点击鼠标左键开始画roi,右键或者回车代表画框完毕 并且做了封装。 import cv2 import numpy as npclass ROIDrawer:def __init__(self, image_path):self.drawing = Falseself.ix, self.iy = -1, -1self.roi = Noneself.image_o = cv2.imread(image_path)self.image = self.…

vue中使用emit

1. vue中使用emit 1.1. 在子组件中触发事件 1.1.1. 子组件示例 (ChildComponent.vue) 1.2. 在父组件中监听事件 1.2.1. 父组件示例 (ParentComponent.vue) vue3中使用emit 1.3. 使用 setup 函数和 defineEmits 1.3.1. 子组件示例 (ChildComponent.vue)1.3.2. 父组件示例 (Pare…

Python入门教程 - 模块、包(八)

目录 一、模块的概念 二、模块的导入方式 三、案例演示 3.1 import模块名 3.2 from 模块名 import 功能名 3.3 from 模块名 import * 3.4 as定义别名 四、自定义模块 4.1 制作自定义模块 4.2 测试模块 4.3 注意事项 4.4 __all__ 五、Python包 5.1 包的概念 5.2 …

大数据学习——linux操作系统(Centos)安装mysql(Hive的元数据库)

一. 准备工作 1. 打开虚拟机并连接shell工具 2. 将mysql安装包上传至虚拟机 mysql安装包 提取码:6666 将下载好的jar包拖至install_package目录下 3. 检查环境 rpm -qa|grep mariadb 如果上述命令返回有结果 那么进行mariadb的卸载 rpm -e --nodeps mariadb-l…

【全开源】快递寄件小程序源码(FastAdmin+ThinkPHP+原生微信小程序)

📦快递寄件小程序:轻松寄送,便捷生活 🚚一、引言:告别繁琐,让寄件更简单 在繁忙的生活中,寄送快递往往成为我们的一大难题。传统的寄件方式需要前往快递公司网点,填写繁琐的寄件信…

二十二、Jar包制作及使用

1、什么是Jar包? Jar包(Java ARchive)就是.class字节码文件的标准压缩包,是 Java 的一种文档格式. 2、Jar是不是压缩包? 是! JAR 格式允许压缩文件以提高存储效率。 1、传输平台扩展。 Java 扩展框架&am…

解决使用Jmeter进行测试时出现“302“,‘‘401“等用户未登录的问题

使用 JMeter 压力测试时解决登录问题的两种方法 在使用 JMeter 进行压力测试时,可能会遇程序存在安全验证,必须登录后才能对里面的具体方法进行测试: 如果遇到登录问题,通常是因为 JMeter 无法模拟用户的登录状态,导…

Java | Leetcode Java题解之第148题排序链表

题目: 题解: class Solution {public ListNode sortList(ListNode head) {if (head null) {return head;}int length 0;ListNode node head;while (node ! null) {length;node node.next;}ListNode dummyHead new ListNode(0, head);for (int subL…

【机器学习】支持向量机(个人笔记)

文章目录 SVM 分类器的误差函数分类误差函数距离误差函数C 参数 非线性边界的 SVM 分类器(内核方法)多项式内核径向基函数(RBF)内核 源代码文件请点击此处! SVM 分类器的误差函数 SVM 使用两条平行线,使用…

JavaEE大作业之班级通讯录系统(前端HTML+后端JavaEE实现)PS:也可选网络留言板、图书借阅系统、寝室管理系统

背景: 题目要求: 题目一:班级通讯录【我们选这个】 实现一个B/S结构的电子通讯录,其中的每条记录至少包含学号、姓名、性别、班级、手机号、QQ号、微信号,需要实现如下功能: (1)…

7.Nginx动静分离

介绍 把动态和静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。 动静分离从目前实现角度分为两种: 1.纯粹把静态文件独立成单独的域名,放在独立的静态资源服务器上,目前主流推崇的方案。 2.动态和静态文件混合在一起发布,通过nginx来分开。 通过loc…

16字节对齐算法

//16字节对齐算法 static inline size_t align16(size_t x) {return (x size_t(15)) & ~size_t(15); } 原理为 首先若x8 将原始的内存 8 与 size_t(15)相加,得到 8 15 23 将 size_t(15) 即 15进行~(取反)操作,~&#xff0…

【源码】校园小情书小程序最新版 校园小程序开发 微信情书小程序 校园小情书小程序源代码

校园小情书微信小程序源码 | 社区小程序前后端开源 | 校园表白墙交友小程序 功能: 表白墙 卖舍友 步数旅行 步数排行榜 情侣脸 漫画脸 个人主页 私信 站内消息 今日话题 评论点赞收藏 服务器环境要求:PHP7.0 MySQL5.7 …

【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】感知器

感知器是一种非常早期的线性分类模型,作为一种简单的神经网络模型被提出。感知器是一种模拟生物神经元行为的机器,有与生物神经元相对应的部件,如权重(突触)、偏置(阈值)及激活函数(…

数据库课设-中小企业工资管理系统

一、效果展示 二、后端代码 import string import random from flask import Flask, render_template, request, jsonify, redirect, session import pymysql from flask_cors import CORS import time import schedule from datetime import datetime import threading from …

【PB案例学习笔记】-20制作一个超链接按钮

写在前面 这是PB案例学习笔记系列文章的第19篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…