stable diffusion其他微调方法

这篇具有很好参考价值的文章主要介绍了stable diffusion其他微调方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

textual inversion

  • 发布时间:2022

  • 目标:与DreamBooth一样,都是想要微调模型生成特定目标或风格的图像

  • 方法:通过在vocabulary中添加一个额外的embedding来学习输入的新特征。预训练模型的所有参数都锁住,只有新的embedding被训练
    stable diffusion其他微调方法

  • DreamBooth与textual inversion区别

    • 微调参数不同:前者微调所有参数,后者只训练新加的embedding
    • 新token的添加方式:前者是在原有字典中找到一个罕见的word来学习新概念且利用了类别先验学习,而后者是在原有字典中添加了一个新的embedding从头训练。DreamBooth相当于改变那个罕见词汇的含义,textual inversion是添加新词汇
    • 先验保留方式:DreamBooth通过先验保留损失来保证模型原来的认知不变(语言漂移),而由于textual inversion之前的vocabulary是锁住的,因此不会被改变也不需要添加相关损失
    • 模型大小:DreamBooth更大,textual inversion更轻量
    • 效果:textual inversion效果一般,现在也很少使用。个人认为可能是embedding缺少先验,难以训练,且参数较少微调能力不够

T2I Adaptor

  • 发表时间:与ControlNet同期,2023
  • 目标:与ControlNet一样,对图像生成进行控制
  • 方法:与ControlNet很相似,也是额外添加了一个小网络,然后将权重添加到Unet的encoder中(实验结果显示加在encoder中效果较好)。
    stable diffusion其他微调方法
    RB指残差模块
  • 与ControlNet比较
    • 权重添加位置不同,分别是Unet的encoder和decoder
    • 额外的网络结构不同,ControlNet是copy了Unet的block,而T2I的外加网络结构与Unet无关
    • 在实践中,ControlNet效果稍好

AdaLora

  • 没有代码以及WebUI插件
  • 基于Lora的改进:Lora中低秩分解的秩是人为指定的且是统一的,考虑到参数矩阵需要fine tune的秩可能是不一样的,提出自适应的秩,根据其重要性来进行秩的指定(参数分配)。在保证参数总数的情况下提升fine tune的性能
  • 方法:
    • 可以基于svd分解的特征值确定特征向量的重要性,但是svd分解非常耗时,实际操作中并不现实。于是使用三个矩阵模拟 U Σ V U \Sigma V UΣV,其参数是训练更新的,为了保证U和V的正交性,引入惩罚项 L = ∣ ∣ U T U − I ∣ ∣ + ∣ ∣ V T V − I ∣ ∣ L=||U^TU-I||+||V^TV-I|| L=∣∣UTUI∣∣+∣∣VTVI∣∣
    • 但是如果直接使用 Σ \Sigma Σ中特征值绝对值大小评判特征向量的重要程度在实验中效果并不好。于是作者将损失对参数的求导结果作为该特征向量的重要性分数,对分数排序,去除分数低的特征向量。(这里对分数做了历史平滑,也考虑前面step中的重要性)
    • Lora中处理的是qkvo,本文处理的是qkv和feedforward中f1,f2,因为在消融实验中发现微调f1,f2也很重要
      stable diffusion其他微调方法
  • 比较
    • 对Lora实现了参数动态分配,并将低质分解从attention层中扩展了feedforward层

LyCORIS:Lora的其他补充方式

WebUI可以使用,使用较多的是LoCon和LoHa

LoCon:Lora for convolution

  • 将Lora扩展到卷积层。
  • 方法:
    • 在代码上只是将低了卷积的输出通道数
    • 理论:将一个卷积核(一个通道)展开,可以看成是参数矩阵的一列。将所有卷积核按列排布可以得到类似于transformer中的参数矩阵,即卷积操作也是矩阵相乘。通过降低channel数再提高channel数实现降低参数量的目的
      stable diffusion其他微调方法

LoHa:LoRA with Hadamard Product representation

  • 对Lora的改进,将hadamard product应用到矩阵低秩分解中。

stable diffusion其他微调方法
传统的低秩分解算法,需要保证分解后的秩的维度小于2R,而通过LoHa的进一步拆解,使得矩阵的秩扩展到 R 2 R^2 R2,解决了原生LoRA受到低秩的限制。文章来源地址https://www.toymoban.com/news/detail-482771.html

  • 总结
    • LoCon和RoHa都能实现更细粒度的微调。LoCon可以对实现更细粒度的控制,从全图的调整优化为细粒度的部件调整。RoHa更注重于低秩矩阵分解本身,引入Hadamard Product,将秩的维度 从2R扩展到 R^2。这两个插件都包含在LyCORIS库
    • Lora可以和其他微调方法一起使用以降低微调参数量,常用的是和DreamBooth一起降低参数量
    • 这些方法需要的数据量都较小。一般来讲,微调的参数量越多,需要的数据量也越大(DreamBooth例外)
    • 一般而言,数据越多,效果越好
      stable diffusion其他微调方法

到了这里,关于stable diffusion其他微调方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AIGC】Stable Diffusion的模型微调

    为什么要做模型微调 模型微调可以在现有模型的基础上,让AI懂得如何更精确生成/生成特定的风格、概念、角色、姿势、对象。Stable Diffusion 模型的微调方法通常依赖于您要微调的具体任务和数据。 下面是一个通用的微调过程的概述 : 准备数据集 :准备用于微调的数据集。

    2024年02月19日
    浏览(32)
  • DreamShaper:Stable Diffusion 的微调版本

    稳定扩散是一种流行的算法,已用于各种机器学习任务,例如图像分割、去噪和修复。但原有算法存在收敛速度慢、难以处理高维数据等局限性。为了解决这些问题,研究人员提出了一种微调版本的 Stable Diffusion,称为 DreamShaper。在这篇博文中,我们将讨论 DreamShaper 的主要功

    2024年02月13日
    浏览(37)
  • 【AIGC】Stable Diffusion之模型微调工具

    推荐一款好用的模型微调工具,cybertron furnace 是一个lora训练整合包,提供训练 lora 模型的工具集或环境。集成环境包括必要的依赖项和配置文件、预训练脚本,支持人物、二次元、画风、自定义lora的训练,以简化用户训练 lora 模型的流程。支持图片预处理、图片的标签编辑

    2024年02月20日
    浏览(41)
  • 基于LoRA进行Stable Diffusion的微调

    本次微调使用的数据集为: LambdaLabs的Pokemon数据集 使用git clone命令下载数据集 数据集一共883条样本,包含两个部分:image(图)和 text(文),如下图所示。 微调时只需要使用以下命令运行 train_text_to_image_lora.py 文件即可。需要根据下载的路径文件地址对相应的参数进行修改

    2024年02月15日
    浏览(40)
  • stable diffusion(其他安装方案)

    AMD ROCm 仅在 Linux 系统下可使用。 详见 Install and Run on AMD GPUs @ SD-WebUI Wiki 详见 Installation on Apple Silicon @ SD-WebUI Wiki

    2024年02月11日
    浏览(23)
  • LoRA微调stable diffusion models:原理和实战

    Diffusion Models专栏文章汇总:入门与实战 前言: AIGC大模型(如stable diffusion models)的训练成本已经超过绝大多数人的承受范围,如何利用已有的开源大模型,花费较小的成本微调出属于自己的专有模型?现在微调方法diffusion大模型基本只剩下Dreambooth、textual inversion、LoRA和Hypern

    2024年02月09日
    浏览(43)
  • 在英特尔 CPU 上微调 Stable Diffusion 模型

    扩散模型能够根据文本提示生成逼真的图像,这种能力促进了生成式人工智能的普及。人们已经开始把这些模型用在包括数据合成及内容创建在内的多个应用领域。Hugging Face Hub 包含超过 5 千个预训练的文生图 模型。这些模型与 Diffusers 库 结合使用,使得构建图像生成工作流

    2024年02月15日
    浏览(79)
  • 微调stable diffusion哪个部分才是最有效的?

    Diffusion Models专栏文章汇总:入门与实战   前言: 最近一直在做stable diffusion微调方面的研究, 因为stable diffusion模型非常大,一个非常关键的问题是微调哪个部分才是最有效的?是微调unet吗?是微调text encoder吗?这篇博客对这个问题做一些探索。 目录 模型权重的组成 Dream

    2024年02月15日
    浏览(40)
  • 基于LoRA微调部署Stable Diffusion【免费试用阿里云】

    Stable Diffusion 是一种文本到图像的潜在扩散模型,由 Runway 和慕尼黑大学合作构建,第一个版本于 2021 年发布。目前主流版本包含 v1.5、v2和v2.1。它主要用于生成以文本描述为条件的详细图像,也应用于其他任务,如修复图像、生成受文本提示引导的图像到图像的转换等。 体验

    2024年02月13日
    浏览(78)
  • Stable Diffusion:使用自己的数据集微调训练LoRA模型

    由于本人水平有限,难免出现错漏,敬请批评改正。 更多精彩内容,可点击进入YOLO系列专栏、自然语言处理 专栏或我的个人主页查看 基于DETR的人脸伪装检测 YOLOv7训练自己的数据集(口罩检测) YOLOv8训练自己的数据集(足球检测) YOLOv5:TensorRT加速YOLOv5模型推理 YOLOv5:I

    2024年02月12日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包