0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种基于new concepts的text-to-image生成模型的fine-tuning方法

jf_pmFSk4VX 来源:GiantPandaCV 2023-01-03 17:08 次阅读

2. 引言

最近通过文本生成图像的深度学习相关技术取得了非常大的进展,2021已经成为了图像生成的一个新的milestone,诸如DALL-E和Stable diffusion这种模型都取得了长足的进步,甚至达到了“出圈”的效果。通过简单文本prompts,用户能够生成前所未有的质量的图像。这样的模型可以生成各种各样的对象、风格和场景,并把它们进行组合排序,这让现有的图像生成模型看上去是无所不能的。

b809bb20-88d1-11ed-bfe3-dac502259ad0.png

但是,尽管这些模型具有多样性和一些泛化能力,用户经常希望从他们自己的生活中合成特定的概念。例如,亲人、朋友、宠物或个人物品和地点,这些都是非常有意义的concept,也和个人对于生成图像的信息有对齐。由于这些概念天生就是个人的,因此在大规模的模型训练过程中很难出现。

事后通过详细的文字,来描述这种概念是非常不方便的,也无法保留足够多的视觉细节来生成新的personal的concepts。这就需要模型具有一定的“定制”能力。也就是说如果给定少量用户提供的图像,我们能否用新概念(例如宠物狗或者“月亮门”,如图所示)增强现有的文本到图像扩散模型?经过微调的模型应该能够将它们与现有概念进行概括并生成新的变化。这带来了几个比较严峻的挑战:

首先,模型倾向于遗忘现有概念的含义:例如,在添加“moon gate”这一concept的时候,“moon”的含义就会丢失。

其次,由于stable diffusion这样的网络往往参数会超级多,所以在小数据上训练模型,容易造成对训练样本进行过拟合,而且采样中变化也有限。

此外,论文还关注了一个更具挑战性的问题,即组group fine-tuning,即能够超越单个个体concept的微调,并将多个概念组合在一起。学习多个新的concepts同时也是存在一定的挑战的,比如 concept mixing以及concept omission。

在这项工作中,论文提出了一种fine-tuning技术,即文本到图像扩散模型的“定制扩散”。我们的方法在计算和内存方面都很有效。为了克服上述挑战,新方法固定一小部分模型权重,即文本到潜在特征的key值映射在cross-attention layer中。fine-tuning这些足以更新模型的新concepts。

为了防止模型丧失原来强大的表征能力,新方法仅仅使用一小组的图像与目标图像类似的真实图像进行训练。我们还在微调期间引入data的augamation,这可以让模型更快的收敛,并获得更好的结果。论文提出的方法实验是构建在Stable Diffusion之上,并对各种数据集进行了实验,其中最少有四幅训练图像。

对于添加单个concept,新提出的方法显示出比相似任务的作品和基线更好的文本对齐和视觉相似性。更重要的是,我们的方法可以有效地组成多个新concepts,而直接对不同的concepts进行组合的方法则遇到困难,经常会省略一个。最后,我们的方法只需要存储一小部分参数(模型权重的3%),消耗的GPU memory非常有限,同时也减少了fine-tuning的时间。

3. 方法

总结来讲,论文提出的方法,就是仅更新权重的一小部分,即模型的交叉注意力层。此外,由于目标概念的训练样本很少,所以使用一个真实图像的正则化集,以防止过拟合。

b818b53a-88d1-11ed-bfe3-dac502259ad0.png

对于Single-Concept Fine-tuning,给定一个预训练的text-to-image diffusion model,我们的目标是在模型中加入一个新的concept,只要给定四张图像和相应的文本描述进行训练。fine-tuning后的模型应保留其先验知识,允许根据文本提示使用新概念生成新的图像类型。

这可能具有挑战性,因为更新的文本到图像的映射可能很容易过拟合少数可用图像。所以保证泛化性就非常有必要,也比较有挑战。所以就仅仅fine-tuning新的K和V,而对于query,则保持不变,这样就可以增加新概念的同时,保证模型的表征能力不受到太多的影响。优化目标还是diffusion的形式:

b822694a-88d1-11ed-bfe3-dac502259ad0.png

概括起来实际上非常简单,就是训练一个k和v的矩阵,来扩充维度,增加模型的表征能力,使其能生成更为丰富的图像内容。

b82ab6d6-88d1-11ed-bfe3-dac502259ad0.png

而对于Multiple-Concept Compositional Fine-tuning,为了对多个概念进行微调,我们将每个概念的训练数据集合并,并使用我们的方法将它们联合训练。为了表示目标概念,我们使用不同的修饰符的,并将它们与每个层的交叉注意关键和值矩阵一起初始化,并优化它们。通过将权重更新限制为交叉注意key和value参数,与DreamBooth等方法相比,可以显着更好地将两个概念合并在一起。

poYBAGOz8RaAaMMYAAFDj5Ag_TQ303.jpg

b8327024-88d1-11ed-bfe3-dac502259ad0.png

可以发现,增加约束还是让模型具有更强的表征能力的。最下面一行才和真正的门比较相似,同时生成的月亮也非常合理。

4. 实验

b844a622-88d1-11ed-bfe3-dac502259ad0.png

给定一个新concepts的图像如左侧显示的目标图像,提出的方法可以在看不见的上下文和艺术风格中生成带有该概念的图像。

第一行:代表水彩画艺术风格中的概念。方法还可以在背景中生成山脉,而 DreamBooth 和 Textual Inversion 忽略了这一点。

第二行:改变背景场景。我们的方法和 DreamBooth 的表现与 Textual Inversion 相似且更好。

第三行:添加另一个对象,例如带有目标桌子的橙色沙发。新的方法成功地添加了另一个对象。第四行:改变对象属性,如花瓣的颜色。第五行:用太阳镜装饰私人宠物猫。我们的方法比基线更好地保留了视觉相似性,同时仅更改花瓣颜色或为猫添加太阳镜。

b86279e0-88d1-11ed-bfe3-dac502259ad0.png

可以发现Multiple-Concept Compositional Fine-tuning的效果也非常惊艳。

b87509c0-88d1-11ed-bfe3-dac502259ad0.png

风格迁移的效果也不错。

定量指标也有比较有竞争力的表现:

b8809b96-88d1-11ed-bfe3-dac502259ad0.png

5. 结论

论文提出了一种基于new concepts的text-to-image生成模型的fine-tuning方法。只需使用一些有限的图像示例, 新方法就能一高效的方法生成微调概念的新样本同时保留原有的生成能力。而且,我们只需要保存一小部分模型权重。此外,方法可以连贯地在同一场景中组合多个新概念,这是之前的方法所缺少的能力。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4743

    浏览量

    129006

原文标题:如何简单高效地定制自己的文本作画模型?

文章出处:【微信号:GiantPandaCV,微信公众号:GiantPandaCV】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    大语言模型优化生成管理方法

    大语言模型的优化生成管理是个系统工程,涉及模型架构、数据处理、内容控制、实时响应以及伦理监管等多个层面。以下,是对大语言模型优化
    的头像 发表于 12-02 10:45 93次阅读

    LLM和传统机器学习的区别

    和训练方法 LLM: 预训练和微调: LLM通常采用预训练(Pre-training)和微调(Fine-tuning)的方法。预训练阶段,模型在大规模的文本数据上学习语言的通用特征,微
    的头像 发表于 11-08 09:25 553次阅读

    一种创新的动态轨迹预测方法

    本文提出了一种动态轨迹预测方法,通过结合历史帧和历史预测结果来提高预测的稳定性和准确性。它引入了历史预测注意力模块,以编码连续预测之间的动态关系,并通过三重因子注意力模块实现了最先进的性能。本方法能够
    的头像 发表于 10-28 14:34 440次阅读
    <b class='flag-5'>一种</b>创新的动态轨迹预测<b class='flag-5'>方法</b>

    Whatsapp正在开发一种新的生成人工智能功能

    据悉,Whatsapp正在开发一种新的生成人工智能功能,该功能应允许用户制作自己的个性化头像,用于任何想象中的场景。WABetaInfo在新的Android版WhatsApp测试版2.24.14.7
    的头像 发表于 07-14 17:50 1009次阅读

    使用TensorFlow进行神经网络模型更新

    使用TensorFlow进行神经网络模型的更新是个涉及多个步骤的过程,包括模型定义、训练、评估以及根据新数据或需求进行模型微调(Fine-tuni
    的头像 发表于 07-12 11:51 438次阅读

    模型为什么要微调?大模型微调的原理

    难以达到最佳性能。为了提升模型在特定任务上的表现,微调(Fine-tuning)成为了个关键步骤。本文将详细探讨大模型为什么要进行微调以及微调的原理,并附上相关的代码示例。
    的头像 发表于 07-10 10:43 4183次阅读

    rup是一种什么模型

    RUP(Rational Unified Process,统建模语言)是一种软件开发过程模型,它是一种迭代和增量的软件开发方法。RUP是由
    的头像 发表于 07-09 10:13 1307次阅读

    如何用C++创建简单的生成式AI模型

    生成式AI(Generative AI)是一种人工智能技术,它通过机器学习模型和深度学习技术,从大量历史数据中学习对象的特征和规律,从而能够生成全新的、完全原创的内容,包括文本、图像、
    的头像 发表于 07-05 17:53 897次阅读

    人工神经网络模型一种什么模型

    人工神经网络(Artificial Neural Networks,简称ANNs)是一种受生物神经网络启发而产生的数学模型,用于模拟人脑处理信息的方式。它由大量的节点(或称为神经元)相互连接而成
    的头像 发表于 07-04 16:57 968次阅读

    预训练模型的基本原理和应用

    训练好的模型,这些模型通常在某些通用任务上表现出色,并且可以作为后续特定任务的起点,通过迁移学习或微调(Fine-tuning)等方式进行适应和优化。以下是对预训练模型的详细探讨,包括
    的头像 发表于 07-03 18:20 2914次阅读

    ISEDA首发!大语言模型生成的代码到底好不好使

    的问题 — 这些自动生成的代码真的有效吗?大模型也会犯错,我们肯定不希望把看似正确的错误结果交给用户,所以需要个能精确验证模型生成答案的考
    发表于 05-16 13:41 343次阅读
    ISEDA首发!大语言<b class='flag-5'>模型</b><b class='flag-5'>生成</b>的代码到底好不好使

    一种利用光电容积描记(PPG)信号和深度学习模型对高血压分类的新方法

    高血压,因为这种情况的初期症状并不明显。高血压阶段的分类也很有用,这样个人就可以根据他所处的阶段进行以下生活方式的改变。 光电体积描记法(PPG)是一种检测血液循环变化的光学方法。它主要是表示血容量随时
    发表于 05-11 20:01

    生成SPWM波形的方法

    生成SPWM波形的方法  SPWM波形产生是一种常见的数字信号生成技术,用于控制交流电子设备的输出电压或电流的形状,使其接近正弦波。 SPWM波形是由
    的头像 发表于 02-06 13:52 3042次阅读

    了解鸿蒙OS Text组件

    文本(Text)是用来显示字符串的组件,在界面上显示为块文本区域。Text 作为个基本组件,有很多扩展,常见的有按钮组件 Button,文本编辑组件 TextField。 使用
    的头像 发表于 01-29 15:24 1237次阅读
    了解鸿蒙OS <b class='flag-5'>Text</b>组件

    一种基于PV变换和CNN模型生成BEV数据的方法

    车载视觉终端数据提取可以生成项有价值的信息,那就是检测捕获图像中的目标物体位置信息、方向信息以及与自车之间的距离信息,这样可以很好的预测自车以及周围物体未来的运动趋势,这些信息可以有效的聚合称
    的头像 发表于 01-23 09:19 498次阅读
    <b class='flag-5'>一种</b>基于PV变换和CNN<b class='flag-5'>模型</b><b class='flag-5'>生成</b>BEV数据的<b class='flag-5'>方法</b>