【AI绘画】lora干货!新手小进阶(上)!三种打标方式对比及正则化对人物训练作用讨论 您所在的位置:网站首页 打标签用什么软件 【AI绘画】lora干货!新手小进阶(上)!三种打标方式对比及正则化对人物训练作用讨论

【AI绘画】lora干货!新手小进阶(上)!三种打标方式对比及正则化对人物训练作用讨论

2024-05-28 23:44| 来源: 网络整理| 查看: 265

摘要

        本专栏将用具体例子向你展示三种打标方式(全标、删去人物特征、只保留唤起标签)在lora人物训练中不同的效果,并给出各自的优缺点。同时你也会看到正则化对人衣分离的作用。最后我会给出推荐的训练方式。

注意,我是开启keep token和打乱标签的,lion优化器

关键词:LoRA模型、打标方式、正则化、训练方式、心得

参考:

青龙圣者对lion优化器的讲解

GamersRay的“喂饭级Lora绘图模型训练教程”

全文2550字,如果你想看证明过程就慢慢看,会有具体图片例子

如果你只想得到结论,直接拉到最后的总结部分(但我相信如果你不看图片,可能理解的不是那么好)

看完这篇专栏大概5分钟,训练、测试、得出结论,最后写专栏却要好几天。

如果你能看到最后,觉得有用,不要忘了结尾的约定。

如果觉得没用,很抱歉我浪费了你的时间,你可以给我留言改进的意见或者指出我的错误。

测试模型、训练集、正则化集、tag文件、train.sh文件、xyz图我稍后会上传,请留意评论区

专栏里的XYZ图如果看不清楚,右键图片在新标签页打开, 删除最后一个@及后面的所有字,就是原图了

序言

阿慈谷日步美是 Nexon 发行的游戏《蔚蓝档案》及其衍生作品中的登场角色。

其通常形象为背着佩洛洛风格背包的金发双马尾JK少女

官方立绘,来源wiki,并无侵权

在此次实验中,我使用8张图片做为训练集;测试了在合理参数设置下,三种打标方式及全标+正则化的训练成品。

正文

(一)训练集展示(仅8张)

图片来源于danbooru,如您的图片被侵权,请自行联系danbooru下架该图片;这个不是美图展示,不要来联系我,我不会处理任何类似问题,如觉得不妥就举报这篇专栏。

(二)参数

我一共训练了7组模型,先给出基础参数:

基础参数plus参数(调大学习率和batch)

(三)prompt:naifu起手式+以下组合

其中一张图片的tag分类(还有一些simple background等背景没打上)

全标:全都有

删特征:人物被删去,其他保留

仅唤起:人物被删去;衣服(除了shoes,school uniform,bag被保留外)被删去;其余保留

其中在keep token = 3作用下,第一栏(hifumi,girl,solo)成为唤起词

(四)模型:

各模型参数

其中最后一列的all_plus已经有点过拟合了,接下来的分析我不会提到它,放哪里给大家做个对比

下面的XYZ图按这个顺序从左到右排序,重点分析前3列(三种打标)和第4/5列(正则化)

(五)模型测试(prompt测试)

5.1  唤醒词 测试

仅使用了 唤起 一行

可以看到在开启keep token时,三种打标在一定程度上都完成了唤起;

考察面部还原、胸前蝴蝶结:

易调用性: 仅唤起 > 删特征 > 全标

其中正则化还未完全拟合,(如果仅使用唤起词,其还原程度,在拟合后,理论上应该是弱于全标的)

5.2  唤起+人物 测试

使用 唤起+人物 这两行

可以看到还原程度: 仅唤起(实际上是过拟合了) > 删特征 > 全标

考察对人物的还原,全标 和 删特征 均满足了要求。

但是请注意,我并未输入衣服tag,但是 仅唤起 直接把JK还原了,这意味着 仅唤起 已经过拟合了。

同时,也可以大胆推断,在未过拟合的情况下,全标 和 删特征 是可以完成换衣的,也就是在不使用正则化的情况下具有一定程度的泛化性。(在5.4中被证明)

泛化性(换装能力):全标>删特征>仅唤起

5.3  人物+衣服 测试

仅使用 人物+衣服 两行

可以看到在 人物+衣服 的 prompt 下,无明显差别(除了正则化还未拟合)

5.4  泛化 测试 (仅人物+full body+swimsuit)

仅使用 人物一行 + fullbody + swimsuit(不存在于训练集)

可以看到 仅唤起 已经不可避免的过拟合,换装失败;其余的均很好完成了换装。

这证明了5.2的结论:在未过拟合的情况下,全标 和 删特征 是可以完成换衣的,也就是在不使用正则化的情况下具有一定程度的泛化性。

泛化性(换装能力):全标>删特征>仅唤起

5.5  仅衣服 测试

仅使用衣服一行

注意,这个测试是重点,直接反应了泛化性的差距。

可以看到 仅唤起、删特征、全标,人物均不同程度受到了衣服tag的影响(仅唤起的人物几乎已是日富美;全标受影响最小),只有正则化最好的完成了人物与衣服的剥离。

泛化能力:正则化>>全标>删特征>>仅唤起

不要觉得正则化还原的衣服不像,那是因为8epoch的正则化模型还未拟合,下面是一张14epoch已经拟合的正则化图片(仅衣服tag)

衣服很好的还原,同时人物几乎没受影响

也就是说,如果你有多concept互换衣服的需求,或者训练衣服的需求,是一定要用正则化的

5.6  全标 测试(细节测试)

所有的tag都被打上

这个也是重要指标,这里只考察对非人物细节的学习,如枪和佩洛洛背包的还原

细节能力:正则化≈>全标>删特征>仅唤起

还是那句话,不要觉得图里正则化的背包不像,那是因为还没拟合。

总结

过拟合风险:仅唤起>>删特征>全标>正则化

拟合能力(对人物的学习速度/出成品速度):全标≈=仅唤起≈=删特征>>正则化

(正则化处理不好脸部还原会有难度,这个在大训练集中特别明显)

细节能力(非人物细节,如光环,绣肩,佩洛洛背包,画风等):正则化≈>全标>删特征>仅唤起

还原性(人物+衣服/全标;拟合后):无明显差别

易调用性: 仅唤起 > 删特征 > 全标>>正则化

换装能力(不过拟合情况):正则化>全标≈>删特征>>仅唤起

泛化能力:正则化>>全标>删特征>>仅唤起

训练容易程度(包括训练集准备、tag处理,调参来避免欠/过拟合):全标≈>删特征>仅特征≈=正则化(小训练集)>>>正则化(大训练集)

同时,如果有多concept互换衣服的需求,或者训练衣服的需求,总之如果想把人物和服装分离,是一定要用正则化的

为什么删特征会略比全标难呢?因为删特征最好给点脸部特写,而且特征tag最好删干净了,不然会丢特征。

为什么仅特征更难?因为必须 一定 要保证相关tag删干净了,同时它太容易过拟合了,而且细节的学习要给很多特写。

为什么正则化最难,因为如果参数没调好,训练集和正则化的比重没弄好,拟合是有难度难度(特别是大训练集);这往往需要一定的经验。

小训练集耗时相对少(试错空间大),脸部拟合也不是太难(给特写),同时也面临过拟合的困扰,所以用正则化是不错的选择。这也是我最开始推荐使用正则化的原因,因为当时我的训练集较小,每个concept只有30张左右。

但是最近有人和我反应大训练集用正准化效果不佳,这是因为

大训练集使用正则化一定要谨慎!因为脸部拟合有难度,而且耗时会大幅增加!

如果你非要用,控制比重在5%~10%以下,同时要给脸部特写!

建议:

新手训练自用的 单角色 模型直接全标完事。(还原又好,细节又好,还能换装,泛化好,拟合风险又小,真是有够爽的)

稍微熟练后可尝试删特征。(删特征训练的特写和tag处理具体教程,下下周可能我会讲,看有没有空)

熟练掌握调参和训练集、tag处理后,有发布易调用模型的需求,仅唤起。

有极强的泛化需求,或者有分离服装需求,可以用正则化。(还是那句话,大训练集有难度,推荐小训练集用)

结尾

        最后只放一张图(我的模型没炼好,这个8张训练集的我不满意XD)

        你看完这篇专栏只要5分钟,我训练、测试、得出结论最后编写专栏要好几天。

        所以觉得本专栏对你有用的,或者图片好看的,不妨点个三连、分享吧。

感谢你的阅读

by Happy_WSH



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有