前言
上一节课程中讨论模型训练的素材图片要求,
本节我们讨论模型训练的图片Tag处理。
标签在训练 LoRA 模型时可以起到指导、监督、评估等多种作用,帮助模型更好地学习局部风格调整任务并提高其性能和泛化能力。标签的具体作用和原理取决于具体的训练任务和数据集,需要根据实际情况进行设计和应用。
本文知识点
- Tag标签
基础知识
在训练 LoRA 模型时,”Tag” 可能指的是训练数据中附加的标签信息,其作用和原理有以下几个方面:
- 指导局部风格调整:
- 标签可以用于指导模型学习局部风格调整任务。例如,标签可以指示每个图像区域的风格类别或特征,帮助模型更好地理解和学习局部风格的变化规律。
- 辅助损失函数:
- 标签可以作为辅助信息用于损失函数的设计。例如,可以将标签与模型生成的图像进行比较,计算标签和生成图像之间的差异,作为额外的损失项来引导模型学习。
- 数据筛选和增强:
- 标签可以用于数据的筛选和增强。例如,可以根据标签信息选择特定风格或主题的图像样本用于训练,或者根据标签信息进行数据增强,生成更多样化的训练样本。
- 监督训练:
- 标签可以用于监督训练过程,指导模型学习特定的任务。例如,可以使用带有标签的图像样本对模型进行监督训练,以学习局部风格调整的相关特征和规律。
- 模型评估:
- 标签可以用于模型的评估和性能衡量。例如,可以使用标签信息对模型生成的图像进行评价,以评估模型在局部风格调整任务上的表现。
重点知识
关于Tag标签文本,需要注意的重点知识:
Tag标签文本是对应到每张素材图中的英文内容描述。
即Tag标签中的文本内容就是将素材图中展示的主体内容和部分元素特征用英文字词或短句的形式描述出来。
通过RA/SD软件中的训练-图像预处理功能,我们可以实现自动对数据集中的每张素材图进行Tag标签的标注。
目前常用的有三种自动标注方式(后续为大家再补充2个):
- 使用BLIP进行标签处理(自然语言),内容形式如:A woman is running in a black dress。它的内容形式结果是一种整体句式处理,可以看到它能够更为具体的描述某个正在进行的动作姿态或需要详细描述的某个特征,但是可能会忽略一些其他元素的描述。
另外,可以在SD软件中设置句式长度,描述更多细节,但是错误率可能也会增加,即自动描述细节的内容可能会和图片某些特征不相符,一般默认即可。 - 使用Deepbooru进行标签处理,内容形式如:A woman,running,black dress。它的内容形式是一种词组处理,可以看到它生成了描述内容和细节的简短字词,而不能自动生成描述某个详细特征的句式
另外,可以在SD软件中设置词组数量,描述更多细节,但是错误率也同样可能会增加,一般默认即可。 - 使用WD1.4-tagger标签器进行标签处理,是一个安装插件,生成内容形式也是同Deepbooru类似的一种词组处理形式,但是生成的标签词组会给出可信符合度排名,自动获取权重排名比较靠前的标签。
就像以上所述,自动打标处理的Tag标签提示词文本,可能会有错误或者不符合图片内容的标签出现,如果不进行处理,那么机器模型会直接将这些错误标签学习到最终的LoRA模型中,最后调用模型进行创作时,可能会出现错误或者无法达到我们预期的图片结果。
所以,我们需要对自动打标处理的结果进行检查,然后根据需求和实际情况增加、删除、修改处理标签内容。
至于到底使用哪种标注方式更好,并没有一个定性,不能说BLIP打标后训练出的LoRA模型一定就比用Deepbooru打标后的好。
我们训练过很多LoRA模型,三种方式都用过很多次,但是目前更倾向于结合使用,即同一个数据集中包含了BLIP和Deepbooru(或者WD1.4-tagger)两种打标方式的Tag标签文本,或者同一个Tag标签文本中包含了其中两种打标方式,都可以达到自己预期的训练效果。
所以关于这点,不必纠结。
Tag标签只是对你所使用的素材图进行内容描述,只要偏差不是太过,机器都可以理解你的意思,当然是灵活运用,准确描述出所需求的内容即可。
Tag标签的运用
A. 特征词的处理
对于人物LoRA模型训练,如果需要训练出的模型人物保留原素材人物的某部分特征,可以将Tag标签中关于此特征的描述统一删除,比如删除描述头发、衣服、额头、眼睛等特征的字词或者语句,这样,模型机器就会将这部分特征作为人物的整体进行学习。同理,画风的Tag标签处理方式也是如此。
举例说明,就像头顶带着紧箍的孙悟空,紧箍是孙悟空的其中一个标志性特征,将Tag标签文本中关于紧箍的字词删除后,那么紧箍就会和孙悟空这个人物形象作为一个整体被模型机器所学习,最后出来的效果就是一个头顶戴着紧箍的孙悟空。
相反,如果我们需要创作可以自由控制是否戴着紧箍的孙悟空人物绘图,首先原数据集中的素材图需要有戴着紧箍和没有戴着紧箍孙悟空的不同形象,同时,在Tag标签文本中要将“戴着紧箍”的英文字词标注保留下来,这样,模型机器学习过程中就会知道这是一种头饰类型的物品,是人物整体外的一种物品。那么在最终的LoRA成品模型调用时,就可以通过添加或删除正向提示词中关于紧箍的字词(即触发词),实现自由控制人物是否佩戴紧箍了。
再比如,如果我们训练美少女战士的LoRA模型,素材图中都是金黄色头发的美少女战士,那么金黄色的长发是她最明显的特征之一,如果想要固定这个特征到模型中,那就删除一切和头发描述相关的Tag标签词,这样金黄色的长发就会作为人物整体形象被机器学习。如果想要模型自由控制头发的颜色、长短呢?这里不用多说了吧,参考以上紧箍方式即可。
总体来看,掌握2个规则:
- 想要机器自动学习的特征词,删除
- 想要自由控制的特征词,保留
B.标签数量、训练次数和素材数量的建议
训练时间 | 素材数量 | 训练次数 | 标签数量 |
---|---|---|---|
时间充裕 | 少 | 多 | 多 |
时间充裕 | 多 | 多 | 修改优化 |
时间紧迫 | 少 | 少 | 少 |
时间紧迫 | 多 | 少 | 少 |
总结:
- 想要机器自动学习的特征词,删除。
- 想要自由控制的特征词,保留。
关于Tag标签的使用,要学会举一反三,灵活运用。
RA/SD 衍生者AI训练营。发布者:chris,转载请注明出处:https://www.shxcj.com/archives/6488