使用Stable Diffusion的生成图像,配置的参数有很多,今天我试了一下更改Seed,和LoRA对生成结果有什么影响。
Seed
Seed是一个随机数,相同的Seed每次都会产生相同的图像集,这对于再现性和一致性很有用。如果将Seed保留为 -1 ,则每次运行文本-图像特性时将生成一个随机Seed。一个最重要的特性是,具有相同参数、prompt 和 seed 将产生完全相同的图像。多亏了这一点,我们可以生成图片的多个相似变体(固定seed,调整prompt来生成不同表情的照片)。
LoRA
LoRA,英文全称Low-Rank Adaptation of Large Language Models,直译为大语言模型的低阶适应,这是微软的研究人员为了解决大语言模型微调而开发的一项技术。
比如,GPT-3有1750亿参数,为了让它能干特定领域的活儿,需要做微调,但是如果直接对GPT-3做微调,成本太高太麻烦了。
LoRA的做法是,冻结预训练好的模型权重参数,然后在每个Transformer(Transforme就是GPT的那个T)块里注入可训练的层,由于不需要对模型的权重参数重新计算梯度,所以,大大减少了需要训练的计算量。
研究发现,LoRA的微调质量与全模型微调相当,我愿称之为神器。要做个比喻的话,就好比是大模型的一个小模型,或者说是一个插件。LoRA本来是给大语言模型准备的,但把它用在cross-attention layers(交叉关注层)也能影响用文字生成图片的效果。
最早的Stable Diffusion模型其实不支持LoRa的,后来才加入了对LoRa的支持,据说,Simo Ryu是第一个让Stable Diffusion支持LoRa的人,感兴趣的话,去大佬的GitHub上看看这个项目。
GitHub – cloneofsimo/lora: Using Low-rank adaptation to quickly fine-tune diffusion models.
生成图片
图1和图2,一个使用了LoRA,另外一个没有使用,可以看出人物轮廓一样,但是可以看出一个是东方面孔,另一个是西方面孔。图3到图5生成使用了不同的Seed和LoRA,图片人物风格是类似的,背景和人物细节不同,不过生成的效果都挺好。
图1
图2
图3
图4
图5
暂无评论内容