0xMimic 发表于 2023-7-1 12:47:54

Stable Diffusion模型训练(2):效果最好的训练方式DreamBooth

!(https://pic1.zhimg.com/70/v2-9b5ba6156984191a936de7fe211b0876_1440w.image?source=172ae18b&biz_tag=Post)

作者:正气凛然郭大侠


## 0 论文来源

论文题目:DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation

论文链接:

(https://pic4.zhimg.com/v2-4baaae2386ede0213c693947a141a747_180x120.jpg)](https://link.zhihu.com/?target=https%3A//arxiv.org/abs/2208.12242)

Github代码:

[https://github.com/XavierXiao/Dreambooth-Stable-Diffusion**github.com/XavierXiao/Dreambooth-Stable-Diffusion**](https://link.zhihu.com/?target=https%3A//github.com/XavierXiao/Dreambooth-Stable-Diffusion)


## 1. 简述

现在的文图生成模型参数规模已经达到了数十亿甚至数百亿的量级,通过输入文本Prompt描述,可合成质量高,多样化的图片。但是这种图片缺乏对特定物体的精确在现能力,特别是对个人定制的物体,很难实现个人物体在风格、造型等方面的实现能力。

对此,Google团队提出一种文图模型生成内容的"定制化"能力, **通过一种基于new autogenous class-specific prior preservation loss的微调策略,训练少量几张需要定制化物体的图片,实现该生成物体在风格上、背景等多样化的再创造** ,在保持物体特征不变的前提下,光照、姿势、视角以及背景等内容可以自定义。如下图所示,输入4张柯基的照片,可是保持柯基的外貌特征不变的前提下,将其背景改为Acropolis,或者狗窝、水里等。画面看上去充满了创意。

![](https://pic4.zhimg.com/80/v2-c021b78aafb172cbcca13abb8761ac17_1440w.webp)

Figure 1: With just a few images (typically 3-5) of a subject (left), DreamBooth—our AI-powered photo booth—can generate a myriad of images of the subject in different contexts (right)

Dreambooth将希望个性化目标内容(例如:图中的柯基狗)绑定到一个新词上,实现精准的生成目标内容。通俗理解为:通过prompt无法精准的定位视觉生成空间中的目标柯基,只能在dog这个类( **CLASS** )里面,带有随机性的生成各种各样的狗,即使prompt描述的非常精细,也无法与视觉空间形成精准的对应,如果在目标柯基的视觉位置上放置一个精准定位词[ **V** ],就像是在目标位置放置一个GPS,这样就可以从茫茫的狗群里面精准定位到柯基。

![](https://pic1.zhimg.com/80/v2-c0d773303b235cf45bfb2e4680b5e8bc_1440w.webp)

Dreambooth通俗理解示意图

该方案主要贡献有两点:

1. **通过少量参考图,可以精确的控制个性化内容生成,并且在保留个性化内容的关键特征的同时,对内容的风格创意和形式合成方面的具备较好的泛化性。**
2. **利用few-shot的方式对原模型进行微调时,提出一种正则损失来保留模型的先验知识,也能精准的生成目标内容。**

## 2. 具体方案

本文选用的Cascaded文图生成模型 ***Imagen*** (Cascaded Text-to-Image Diffusion Models,(https://zhuanlan.zhihu.com/p/520519504))采用的是典型的两段式结构模型,即:1.先根据描述文本Prompt生成low-resolution的图片,2.在根据low-resolution图生成high-resolution图(即Imagen中的Super-resolution模型)。训练的过程也是分为两个夹阶段:

**第一阶段** :先根据训练图片集(一般为3~5张)和描述文本(带有标识,例如:A dog),去训练low-resolution的生成模型。由于训练数据少,模型参数量大,极容易产生overfitting,另外模型对标识符是没有先验知识的,所以也容易产生language drift,为此提出一种正则损失函数:autogenous, class-specific prior preservation loss,这个损失函数既可以保留模型对目标class的先验知识,也可以将目标准确的圈定在class内的确定视觉空间中,如Figure4中的第一阶段。

![](https://pic2.zhimg.com/80/v2-e28623e3891d52009c8e9036df46d359_1440w.webp)

autogenous, class-specific prior preservation loss

**第二阶段** :将训练集中的图片组成<low-resolution, high resolution>样本对,去finetune Imagen中的SR部分模型,使得最终能够生成目标内容的更多细节,如Figure4中的第二阶段。

![](https://pic2.zhimg.com/80/v2-43e884f37d33dd515093adfebbdacb2d_1440w.webp)

Figure 4: Fine-tuning.

Dreambooth的主要思路就是通过以上两个阶段的训练来实现。其中有几个细节点需要展开:

### **2.1 如何构建,为什么需要?**

[ **V** ]是一个GPS定位器(文中比喻为 **indentifier** ),为了保证不与先验知识中其他的词在语义上冲突,构建时需要尽可能唯一性,建议用生僻词( **不建议随便通过字母和数字构建,如"xxy5syt00",因为在通过tokenizer分词之后,可能会出现具有较强先验的词,可以使用T5-XXL中tokenizer词表5000~10000范围内的1~3个token进行组合** )。告诉生成模型,在class的范围内,目标内容的具体"位置信息",使得生成模型可以精准的生成目标内容。

### **2.2 如何解决**Overfitting**和Language drift的问题?**

用少量的训练样本,采用denoising loss对大模型进行微调的方式,不可避免出现Overfitting和Language-drift的问题。 **对于Overfitting的问题** ,常用的方式是添加正则、固定部分参数、dropout等,但是实际上无法知晓模型各部分参数具体在生成过程中所起到的作用。对与Language drift问题,由于大模型是用非常大的各类数据集进行训练的,微调时却使用非常小的数据,很容易造成知识的遗忘。如果在训练集的文本中制定微调的范围,即CLASS,则可以缓解这种遗忘。

!(data/attachment/forum/202307/01/124651xzka2eaj0et10ll9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

## 3. 实验结果

在开头就已经强调了本文的两个重要贡献,其中"对内容的风格创意和形式合成方面的具备较好的泛化性",看起来有点不太清晰,具体体现在哪些方面效果上呢?结合文章的实验部分具体从一下几方面进行效果展示:

### 3.1 Recontextualization个性化内容的重构效果

个性化内容重构能力是微调的最基本要求了。通过输入带有和CLASS标识的Prompt,输入到微调后的模型中,可以生成与训练集中内容相同的目标,例如下图中训练集中红色款式的书包,可以直接进行生成,生成的书包基本还原了训练集的效果,包括细小的小装饰物。另外还可以向Prompt中添加背景修饰。

![](https://pic3.zhimg.com/80/v2-cf2c9bd5652045f0e8f4423248d982ca_1440w.webp)

Figure 5: Recontextualization of a backpack, vase, and teapot subject instances.

### 3.2 Art Renditions 艺术渲染效果

进一步验证微调后的效果,还验证了对目标图中的内容进行各种艺术效果的改变,例如"a in the style of "中将famous sculptor分别改为"Vincent Van Gogh"等,最终图中内容呈现了对用的艺术形式。并且风格与内容看起来和谐,同时又保留了内容的主要特征。

![](https://pic2.zhimg.com/80/v2-35ec3957970794bfd14ae03295fbd719_1440w.webp)

Figure 6: Artistic renderings of a dog instance in the style of famous painters.

### 3.3 Expression Manipulation 表述的可控效果

为了验证模型确实是理解了图中的内容,还验证了训练集中不存在的知识表达,例如下图中的dog分别进行不同的表情效果,这类表情在原图中是不具备的,模型的生成结果是建立在准确捕捉到训练集中的内容以及控制生成文本的表述意图。

![](https://pic4.zhimg.com/80/v2-3d18e46936047fe0d45bc93323eeafcb_1440w.webp)

Figure 7: Expression manipulation of a dog instance.

### 3.4 Novel View Synthesis 多视角合成效果

不仅对局部内容进行理解和生成,也对整体形态进行了理解和生成。

![](https://pic3.zhimg.com/80/v2-94b5095c2ef990d395c2a5f3a0201996_1440w.webp)

Figure 8: Text-guided view synthesis.

### 3.5 Accessorization 外观装饰效果

另外还验证了与大模型知识中学习到的内容进行融合交互,展示了模型的创新能力。

![](https://pic2.zhimg.com/80/v2-98f1b6bf53406cad3eb6265ac52561cd_1440w.webp)

Figure 9: Outfitting a dog with accessories.

### 3.6 Property Modification 属性编辑效果

最后验证了模型对图中内容的某类属性的理解和创新生成。

![](https://pic3.zhimg.com/80/v2-c65df9903a7616f8c4e928717fbe0caa_1440w.webp)

Figure 10: Modification of subject properties while preserving their key features.

## 4. 写在最后

码字不容,为了有动力能带来更多高质量的文章,欢迎点赞收藏,感谢!
页: [1]
查看完整版本: Stable Diffusion模型训练(2):效果最好的训练方式DreamBooth