LoRAとは?Stable Diffusionのクォリティを上げるのに必須の「追加武装」

Stable Diffusionを操作していく中で、クォリティの高い作例を見ていると必ずいつか行き当たる「LoRA」とか言う謎。
本記事ではその概要と使い方について備忘録的に記録していく。

LoRAとはなにか

LoRA=既存のモデルに学習させる「追加結果」

LoRAとはLow-Rank Adaptationのことで、低めの程度でアダプションするよ〜というもののこと。
モデルそのものよりは一個下のレベルで、出したい方向にちょっとよせたるよ〜と私は理解している。

LoRAは出したい傾向を追加的に注入するために使うもの

Stable Diffusionではまず学習結果の大本となるモデルを「Acertain Things」とか「ChilloutMix」だとかで選択して画像を出力することになる。これらのモデルは「2次元のイラストに強い」とか「まるで3次元のコスプレイヤーのようだ」とか、学習元の画像・モデルの性格によって傾向があり、目的によって選ぶ。

その上で、たとえば「初音ミク風のイラストにしたい」とか、「魔法少女のようなコスプレを出力したい」と思ったときに、たしかにイラストや三次元コスプレに強かったとしても、ツインテールが長くてネギをもってるだとか、フリフリのスカートにステッキがあるだとか、そういった特有の要素までたくさん学習しているとは限らない。

そうしたモデルに対しての具体的な特徴、出したい傾向などを追加的に注入するために、LoRAが活用される。

LoRAとはつまり1つのオリジナルプロンプトワードである

最終的にLoRAは「インスタンスプロンプト」という、世に存在しないオリジナルの適当なプロンプト(cncとか)をもって呼び出す形で使用するっぽい。

つまりこれは、「思い通りのイメージを適用するためのオリジナルプロンプト」を追加する作業に違いない。

学習済みのLoRAの使い方

使用したい学習済みLoRAをダウンロードしフォルダに配置する

自分で学習させたLoRAを使う方法ももちろんあります。
あとは「特定のコスプレ」「韓国のインフルエンサー顔」など学習したものが色々あるようなので、使いたいものをDLしてきてLoRAフォルダに格納します。(Stable Diffusion WEB UIの場合)

トリガーワードとオフセット値で適用する

それぞれのLoRAには「トリガーワード」が設定されている。
それは前述したインスタンスプロンプト、つまりオリジナルのプロンプトワードであり、プロンプトにこのワードをいれることでLoRAを適用するというわけだ。

またオフセット値も設定することができ、反映度の強さをこの値で調整することもできるようだ。

他の学習方法との違い

出典:https://www.reddit.com/r/StableDiffusion/comments/10cgxrx/wellresearched_comparison_of_training_techniques/

こんな感じでDreamboothとかとはちょっと考え方が違うようですよ。
少しずつ重み付けする感じかな?

参考サイト

としあきさんのwiki。質問とかも活発になされています。
https://wikiwiki.jp/sd_toshiaki/LoRA

自分でLoRAを使って学習させたい人はこちらも参考
https://kurokumasoft.com/2023/02/24/stable-diffusion-lora/

全般的な使い方を丁寧に紹介されています

関連記事

コメント

  1. この記事へのコメントはありません。