打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
重发:AI绘画训练入门教程(1):如何训练你想要的的AI现实形象模型之嵌入训练篇
userphoto

2023.03.21 河南

关注
AI艺术家
Ask AI for ART



警告!本文内训练生成图片仅为交流技术前沿和探讨教学使用,不得作为商业用途。使用深度合成技术存在一定侵权风险,本文仅为分享技术进展,并不鼓励基于真人建立形象设计,风险后果请自行承担。

(此前,本篇教程广受欢迎,但我们意识到其中对上述关键问题没有强调!于是我们宁愿删除它,本次重发,我们着重强调了以上使用规则,希望大家都能自律,互联网不是法外之地,深度学习同样如此)~

固定的人物形象,是你开始体系化创作的第一个门槛——几乎所有故事性的创作,都会需要你有相对固定的人物形象。可以自己训练固定形象,是本地开源的stable diffusion最实用和强大的功能之一。

是的,只要玩AIGC,训练形象模型是从浅尝辄止到生产力应用的第一步,它很重要,同时它也是一个标准的简单的深度学习过程,对于很多没有接触过它的人来说,深度学习这个高大上名词可能就把大家吓住了。

但是,它真的真的没有那么难!

请各位注意,我们这篇教程不是一篇深度学习的入门课,而是一篇learn by doing,顺带着让你首度直面深度学习的训练课程。

目前,中文网络还比较少这类文档,我们这篇文档结合了自己的经验,也更新了最新的Lora模型和custom-diffusion方法的一些经验。但总体来说,我们对新技术还在摸索阶段,本教程可能会存在一定的纰漏。

概念说明



首先,我们先介绍下在stable diffusion体系目前常用的形象训练模式。它们分别是:

  1. 嵌入embedding
  2. Dreambooth模型
  3. 超网络hypernetwork
  4. Dreambooth LoRA模型。
每个模式都有自己优点和缺点:
  • 嵌入的主要优点是它们的灵活性和小尺寸。嵌入是一个 只有几KB+ 的文件(是的,它非常小),训练用时也不算多,可以应用于使用相同基础模型(通常是基础SD1.4\1.5模型)的任何模型。但它的缺点是,它实际上并不是“真正训练”了一个形象,而是通过深度学习找到了和你想要的形象一致的角色形象特征参数,通过这个小模型保存下来。这意味着,如果原模型里面这方面的训练缺失的,其实你很难通过嵌入让它“学会”
  • DB模型是一个 2GB 以上的文件,它的本质是先复制了源模型,在源模型的基础上做了微调(fine tunning)并独立形成了一个新模型,在它的基本上可以做任何事情。缺点是,训练它需要大量 VRAM,也可能花费大量的时间,虽然目前10-12G显存的消费级显卡也能跑,但耗时很久且文件大小很大。如果你只是需要一个或数个人物的形象,其实它并不是最优的训练方案选择。
  • 超网络hypernetwork是一个 80MB 以上的文件,位于模型之上,可以学习基本模型中不存在的新事物。它相对容易训练,使用上也和嵌入但一般来说更适合作为微调风格的附加模型来使用。在其他模型中使用时通常不如嵌入灵活。
  • LoRA(低阶适应)是一个 36MB 以上的文件,在训练方法和DB基本一致,但由于体积小,对显存的需求降低了,使得很多8G显存甚至6G显存的显卡也能参与训练,大幅降低了入门门槛。在功能上LoRA与超网络非常相似。但是,它对人物形象的训练非常灵活,很多形象可以脱离原模型嵌入其他模型使用。


上面这个图,是国外网站解释以上四种训练差别的示意图,大家可以详细看看,理解其中的差异。

在春节期间,Adobe这个全球图像软件巨头也和清华大学一起发布了基于嵌入的新改良办法custom-diffusion,看起来像是嵌入模型+Lora的模式,这个本艺术家今天开始测试,效果我们后面聊。

现在我们先从最基本的嵌入模型开始讲,为什么先从嵌入讲呢?因为它最简单又最基础,有很多新朋友上来就和我讲要DB(dreambooth),dreambooth效果当然好,但它并不是最高效率的,我还是建议大家循序渐进掌握四种不同的训练技能。

嵌入模型训练(Embedding Training)

第一步:整理数据集

数据集是你要训练的人物的素材,也就是照片、图片等。作为原始数据,数据集是最重要的!如果数据集很糟糕,AI的学习也不会有好的结果。

因此,你必须确保图像质量高(不模糊、没有颗粒感、没有失帧等),同时最好有一定的数量。你的照片应该有很多变化——地点、灯光、衣服、表情、活动等。使用数量多的化图像意味着以更长的训练时间为代价获得更高的准确性——如果你不想你的角色形象只有一两种生硬表情的话。

一般来说,我们建议初学者使用 10 张人像为起步,以减少训练时间,但如果你是老手,可以把人像增加到30-50张。那样你可以训练出一个几乎百分百还原真实角色的嵌入模型。

作为示例,我们给大家展示上面这一组刘天王的数据集,这一组是不是好的数据集呢?其实不完全是,因为14照片里面大部分是半身像,对面部的特写够。

从理论上讲,人类非常擅长识别人脸,而 AI 则不然。我们需要给 AI 尽可能学习准确面部的最佳机会,所以,一半以上的数据集应该是高质量的脸部特写,其余的是上半身和全身照片,以捕捉他们的服装风格、姿势和体型等信息。

幸好,目前训练嵌入对照片的分辨率要求并不很高,大部分嵌入的训练数据标准是512*512,因此,我们可以很容易的使用各种改图工具调整图片,对面部进行特写。我们一般建议60%头像+30%半身像+10%全身像。当然,这并不是硬性要求。

Birme这个在线剪裁工具是目前最好用的一个在线工具,而且它实际上并没有上传照片到网上,不用怕素材泄露,所有剪裁都是基于浏览器脚本实现的,十分推荐大家使用。

裁剪好了图片,然后就是开始创建嵌入概念。

这个Name,就是你要给角色命名,比如我们可以输入andylau,但注意,目前不支持中文。

初始化文本,其实也就是分类,比如andylau是一个男人,那么你可以输入man,也可以输入male。

每个token的向量数:这个一般初学者很难理解,但实际上就是你要给andylau这个概念注入的概念层数,比如andylau,他可以包括 man, chinese,singer,actor。占用了4个单词位,这就是4个vectors。这样一般你可以把这个数值调为比4大的数值容纳更多的概念。

接下来,就是图像预处理,基于webui,这都是自动化操作。

处理完这些,就可以进入真正的训练环节了。

训练环节之中,设置好学习率,批量大小和梯度积累步数,设置好模板,就可以开始训练。

到了这个环节,这里基本上就是深度学习的范畴了。

也正是在这里,怎么训练最有效率?怎么训练才能训练好?这些问题,开始变得玄学起来。

上周谷歌团队公开的调优手册里面写到:在所有类型的机器学习问题中,没有优化器是“最好的”,也就是说,不存在固定的完美的训练参数。

大家有兴趣可以去自行阅读:https://github.com/google-research/tuning_playbook

简要来说,训练批量大小,学习率(超参数)之间有复杂的函数相关性关系,而训练批量对大多数人来说,受限于硬件特别是显存大小。

一般教程里面也会告诉你,素材样本规模应该>=批量大小*梯度积累步数    

所以,一个确定性的流程大致如下(参考谷歌调优手册):

上面这段大家可能看懵了,下面举个例子:

比如说我们使用30张刘天王的照片进行训练,按照10G显存规模显卡的训练,批量大小可以有10和6两个选择,对应的梯度积累步数则是3和5。

一般而言,在6*5这个组合下,我们可以设置0.005的默认学习率,跑个600-1000步看看效果。也可以设置递减的学习率,比如 0.2:50,0.1:100,0.05:200,0.005:500。这意思是用0.2学习率先跑50步,然后用0.1学习率跑到100步,以此类推。

但如果批量大小设为1,则每批只训练1张图,那么步数可能需要跑到6000步以上,显然这是比较低效率的。

但不同的批次大小分别对应的最优学习率是未知的。甚至,有可能因为上面提到的数据质量的差异,导致类似规模的训练,也并不能应用同样的参数去学习。

这背后,就完全需要经验积累和有效总结了。

embedding的效果参考:

但是,我们也要指出,embedding的效果有一定的限制,比如上述效果是基于SD1.5模型生成的。

换成PHOTOREAL2.0模型,很明显,人物五官的细微处发生了变化。这是由于主模型切换带来的变化。也就是说,embedding在不同模型之间,并不能100%完美通用,这是由embedding的技术特征决定的。

关于嵌入模型的基础训练教程就写到这里,本文长达3000字,欢迎大家转发点赞,在下一篇我们会讲一讲学习率的选择和实例测试的情况。后面我们会更新其他训练模式的教程和心得。

注:本文内训练生成图片仅为交流技术前沿和探讨教学使用,不作为商业用途。使用深度合成技术存在一定侵权风险,风险后果请自行承担。

AI绘画教程系列




本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
从FFM到DeepFFM,推荐排序模型到底哪家强?
推荐系统架构与算法流程详解
暴击专家模型!Meta最新多模态大模型ImageBind已开源
AI绘画教程:Stable Diffusion中如何安装使用不同的模型?
Wide & Deep Learning for Recommender Systems
推荐系统遇上深度学习(三十四)--YouTube深度学习推荐系统
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服