什么是梦想亭?
Dreambooth 由谷歌研究团队于 2022 年发布,是一种通过向模型注入自定义主题来微调扩散模型(如稳定扩散)的技术。
为什么叫Dreambooth?据谷歌研究团队称,
它就像一个照相亭,但一旦捕捉到主题,就可以将其合成到您梦寐以求的任何地方。
听起来不错!但它的效果如何?下面是研究文章中的一个例子。仅使用特定狗(我们称她为 Devora)的 3 张图像作为输入,dreamboothed 模型可以在不同的上下文中生成 Devora 的图像。
只需 3 张训练图像,Dreambooth 就可以将自定义主题无缝地注入到扩散模型中。
Dreambooth 如何运作?
您可能会问,为什么不能简单地用这些图像通过额外的步骤来训练模型?问题是这样做会因过度拟合(因为数据集非常小)和语言漂移而导致灾难性的失败。
Dreambooth 通过以下方式解决了这些问题
- 为新主题使用一个罕见的词(注意我为狗使用了一个罕见的名字 Devora),这样一开始它在模型中就没有太多意义。
- Prior preservation on class:为了保留类的含义(上面例子中的狗),模型被微调为在类(狗)的图像生成时注入主题(Devora)保存。
还有另一种类似的技术称为文本倒置。不同之处在于,Dreambooth 对整个模型进行了微调,而文本反转注入了一个新词,而不是重复使用一个罕见的词,并且只对模型的文本嵌入部分进行了微调。
培训 Dreambooth 需要什么
你需要三样东西
- 一些自定义图像
- 唯一标识符
- 一个类名
在上面的例子中。唯一标识符是 Devora。类名是狗。
然后你需要构建你的实例提示符:
[唯一标识符] [班级名称]的照片
还有一个课堂提示:
[班级名称]的照片
在上面的例子中,实例提示是
德沃拉狗的照片
由于 Devora 是一只狗,因此类提示是
一张狗的照片
现在您了解了自己的需求,让我们开始培训吧!
分步指南
获取训练图像
与任何机器学习任务一样,高质量的训练数据是您成功的最重要因素。
拍摄 3-10 张自定义主题的照片。照片应该从不同的角度拍摄。
主题还应该处于各种背景中,以便模型可以区分主题和背景。
我将在教程中使用这个玩具。
主题的图像。
调整图像大小
为了在训练中使用这些图像,您首先需要将它们的大小调整为 512×512 像素,以便使用 v1 模型进行训练。
BIRME 是一个调整图像大小的便捷站点。
- 将您的图像拖放到 BIRME 页面。
- 调整每个图像的画布,使其充分显示主题。
- 确保宽度和高度均为 512 像素。
- 按保存文件将调整大小的图像保存到您的计算机。
或者,如果您只想完成教程,可以下载我调整大小的图像。
训练
我推荐使用 Google Colab 进行训练,因为这样可以省去设置的麻烦。以下笔记本修改自 Shivam Shrirao 的存储库,但更加用户友好。如果您更喜欢其他设置,请按照存储库的说明进行操作。
整个培训大约需要30分钟。如果您不经常使用 Google Colab,您可能可以在不断开连接的情况下完成培训。购买一些计算积分以避免断开连接的挫败感。截至 2022 年 12 月,10 美元可以让您使用 50 个小时,因此成本不高。
笔记本会将模型保存到您的 Google Drive。如果选择(推荐),请确保至少有 2GB,如果不选择fp16
,请确保至少有 4GB。
- 获取此 Dreambooth 指南并打开 Colab 笔记本。
- 如果您想从 Stable Diffusion v1.5 模型(推荐)进行训练,则无需更改 MODEL_NAME。
- 放入实例提示和类提示。对于我的图像,我将我的玩具兔子命名为 zwx,所以我的实例提示是“photo of zwx toy”,我的类提示是“photo of a toy”。
4. 单击单元格左侧的播放按钮 (▶️) 开始处理。
5. 授予访问 Google Drive 的权限。目前没有简单的方法可以下载模型文件,除非保存到 Google 云端硬盘。
6. 按选择文件上传调整大小的图像。
7. 完成训练大约需要 30 分钟。完成后,您应该会看到从新模型生成的一些示例图像。
8. 您的自定义模型将保存在您的 Google Drive 文件夹下Dreambooth_model
。下载模型检查点文件并将其安装在您喜欢的 GUI 中。
就是这样!
测试模型
您还可以使用笔记本的第二个单元格来使用该模型进行测试。
使用提示
zwx梵高风格油画
使用我新训练的模型,我对我得到的结果很满意:
来自 Dreambooth 模型的图像。
使用模型
您可以在 AUTOMATIC1111 GUI 中使用模型检查点文件。它是一个免费的全功能 GUI,您可以在 Windows、Mac 上安装或在 Google Colab 上运行。
如果您没有使用过 GUI,并且模型文件已保存在您的 Google Drive 中,最简单的方法是使用 Google Colab 选项。您需要做的就是在 Google Drive 中输入模型的路径以使用它。有关详细信息,请参阅分步教程。
如何从不同的模型进行训练
您将需要更改MODEL_NAME
和BRANCH
。
目前该笔记本仅支持训练半精度 v1 模型。您可以通过查看模型尺寸来判断。它应该是大约 2GB。
您可以在 Huggingface 页面上找到模型名称和分支名称,如下所示。下面显示的页面在这里。
延伸阅读
如果您想更深入地了解 Dreambooth,我推荐阅读以下文章。
- Training Stable Diffusion with Dreambooth using Diffusers – Huggingface 博客
- Dreambooth 培训指南 – nitrosocke
- BlueFaux’sdream展位指南
- 研究论文
请继续关注AI未来百科的教程!
谢谢你!– AI未来百科 ; 探索AI的边界与未来! 懂您的AI未来站