超网络模型(Hypernetwork)在 Stable Diffusion 中主要是针对画风进行训练的一种模型。它通常是一个带有 dropout 和 activation 的完全连接的线性神经网络,用于调整模型的神经网络权重,从而实现对风格的微调。
Hypernetwork 可以像 Lora 一样被加载进来,比如用于生成卡通 Q 版头像、蒸汽波风格、油画风格等。其文件后缀通常为.pt 或者.safetensors,体积一般在 20M - 200M 之间,模型目录为 WebUI 下的 models/hypernetworks。在使用时,可以在 Hypernetworks 菜单中点击使用,也可以通过 Prompt 调用。
此外,Hypernetwork 对 text embedding 进行预处理,在推理阶段,它也是模型权重调整的一部分。
总结一下,LORA的强大,无论是画风,还是人物、物品,或者是动作姿态,都是可以固定下来,它所做的就是提炼图片特征。LORA和Embedding的区别一是在于体量上,Embedding的文件只有几十kb,而LORA的文件通常有几十上百兆,所以LORA的文件所承载的信息量是要远大于Embedding,尤其是在还原真人物品时,LORA的细节精度是Embedding无法比拟的。下载的LORA放在根目录的这个文件夹下【……\models\Lora】,使用的时候点击这个红色的小书,找到LORA的选项卡,任意点击一个想要的LORA就可以加载进去了。使用LORA的时候要注意看作者使用的大模型,一般情况下只有配套使用才能达到LORA最好的效果,当然也不排除有一些LORA和其他的大模型会产生一些奇妙的碰撞。除了加载lora以外,还需要加入一些特定的触发词,才能保证lora的正常使用。比如这个盲盒的lora,作者提示需要加入full body,chibi这些提示词才行。Hypernetworks主要是针对画风训练的一种模型,可以像lora一样加载进来。比如这种卡通Q版头像蒸汽波风格油画风格
这张图形象画出Unet。CrossAttnDownBlock2D模块就是这里SD encoder block;CrossAttnDownBlock2D模块就是这里SD decoder block。其中CrossAttnDownBlock2D模块的主要结构如下图所示。text condition(也就是ControlNet那张结构图中的text encoder输出部分text embeddings)将通过CrossAttention模块嵌入进来,key和value是text embeddings。此时Attention的query是UNet的中间特征.。也就是说在text2img情况下利用cross attention完成text和image信息注意力集合。以上公式中序列S1为text embedding;S2为图像信息,增噪的图像。Lora则是将公式中的权重Wq Wk Wv以添加支路计算反向传播变量进行重新设置。推理阶段:正常使用W = W0+BA来更新模型权重。lora模型中每层的权重包含3个部分,分别为lora_down.weight、lora_up.weight和alpha。其中down和up分别为lora模型的上下层权重分别对应了B和A权重,alpha也是一个可学习的参数。lora模型每层的权重可表示为:w = alpha ∗ down ∗ uphypernetwork通常是一个简单的神经网络:一个带有dropout和activation的完全连接的线性网络。也就是上面说的S1 text embedding进行预处理。总结一张图checkpoint就是某个训练时刻的全部参数,是Stable Diffusion模型训练过程中定期保存的状态快照。好啦,应该解释完全了,不知道对不对,请大家多多指教!
Hypernetworks模型用于调整模型神经网络权重,进行风格的微调。Hypernetworks的后缀为.pt或者.safetensors,体积一般在20M - 200M之间。模型的目录为WebUI下的models/hypernetworks。在使用时同样可以在Hypernetworks菜单中点击使用,也可以使用Prompt调用。