前言
在上一篇文章中,我们剖析了diffusion model的原理,而在这一篇文章中,我们探讨与扩散模型有关的其他话题,包括扩散模型的unet是如何在推理噪声的过程中,融入文本信息的考量?其原理为交叉注意力机制,到底是什么机制?
扩散模型的LORA训练原理是什么?
交叉注意力机制
首先,参考Understanding Stable Diffusion from "Scratch"可知,扩散模型的主要技术点有unet、word embedding、cross attention、auto encoder。其中,文本能够影响图像生成的原因是交叉注意力机制
"Let text influence image through cross attention "
交叉注意力机制 中提到,在朴素的多头注意力机制之上改进,将QKV向量变成文本向量,就是交叉注意力机制了。
“如果 d_input 存在, 变成交叉注意力. 否则是自我注意力.查询,键,值设置被构造为输入 d_model的线性变换.”
LORA训练
AI绘画入门:扩散模型,Stable Diffusion,LoRA,ControlNet相关技术原理
LORA的原理是训练附加的网络参数,用于影响原有的网络行为。具体而言,就是在网络层一个大的转置矩阵旁,添加两个小矩阵的乘积,从而得到风格受影响的图片。
主要思路是在固定大网络的参数,并训练某些层(一般是某些层的线性部分,比如Transformer中的QKV的线性投影部分,以及FFN的线性部分)参数的增量,且这些参数增量可通过矩阵分解变成更少的可训练参数,大大降低finetune所需要训练的参数量。