【Stable Diffusion】LoRAとは何か?CheckpointとLoRAの違いと使い方|ローラ,ロラとチェックポイント,モデルとの違い

Stable diffusion stability ai |Photoone(フォトーン) stable diffusion

Stable Diffusionを使っていると必ずと言っていいほど「LoRA」という言葉に遭遇します。

ここではこのLoRAとは何かについて、チェックポイント(checkpoint)やモデル(model)の違いも合わせて解説しています。


LoRAとは何か?

初めに結論から言うと、LoRAとは画像生成AIのモデル(チェックポイント)を簡単に調整するためのプログラムです。

イメージ的にはアドオンやプラグインといった感じで、後から適用したり除外したりできる追加機能です。


例えば、光沢の強い2次元アニメのキャラクターを生成するモデル(チェックポイント)があった場合に「生成した画像の光沢を落としてもう少し油絵っぽくしたい」という、細かなニーズがあるとします。

このとき、プロンプトをいじって画像に微調整を加えていくことも可能ですが、この方法では欲しい画像にたどりつくまでに時間がかかることがあります。下手するとそのモデル(チェックポイント)ではそういった画像生成は苦手で一生生成されないかもしれません。

そんなときに、そのモデル(チェックポイント)に油絵に適した専用のLoRAを適用することで、生成する画像を自動で油絵よりにすることができます

このように、モデル(チェックポイント)に対してアドオンで微調整を加えることができる便利なプログラムがLoRAです。

このため、LoRAを使うためにはベースとなるモデル(チェックポイント)が必要になります。


以下で、LoRAの意味やモデルとチェックポイントについてより詳しく解説していきます。


LoRAの意味

LoRAとはLow-Rank Adaptationの略で、ローラやロラと呼びます。

Low-Rank Adaptationとは低いランクでの適用という意味で、モデルやチェックポイントなどのコアとなるプログラムに変更を加えるのではなく、より表層の部分で表面的に変更を加えるということを示しています。


モデル(model)とは何か?

Stable Diffusionにおけるモデルとは画像生成する際に使用する機械学習済みのファイルのことを言います。

そもそも、画像生成AIのモデルによって生成される画像が大きく異なります。

それぞれのモデルには得意分野があり、例えば、実写に近い画像、2Dアニメのような画像、3Dアニメのような画像、3Dで美男・美女のような場合などそれぞれで使うべきモデルは異なります。もちろん、各分野におけるモデルの秀逸さも異なります。

この画像生成のコアとなるアルゴリズムがモデルです。



チェックポイント(Checkpoint)|モデルとチェックポイントの違い

Stable Diffusionでモデルと同じぐらいかそれ以上に頻出する単語に「Checkpoint(チェックポイント)」があります。

とても簡単に言うと「モデル(model)」=「チェックポイント(checkpoint)」という認識で問題ありません。

モデルとは機械学習における大本となるアルゴリズムのことです。モデルにたくさん画像を読み込ませたりすることで学習していきます。

チェックポイントはモデルが学習しているある時点のことです。

例えば、ABCというモデルが画像10枚を学習した状態と、画像1000枚を学習した状態では同じモデルですが、習熟度は異なります。このように各モデルにおける学習の習熟度のようなものがチェックポイントです。

Stable Diffusionでは画像生成のモデルとしてチェックポイントをインストールします。



LoRAの実例

Stable Diffusionのモデルを無料でダウンロードできる超優良サイトにCivitaiがあります。このサイトに行くと、たくさんのモデルがありますが、その一覧を見ると、サンプル画像の左上に「LoRA」や「Checkpoint」という文字が表示されています。


LoRAと表示されている画像を選択すると、その中でベースとなっているCheckpointと適用されているLoRAを確認およびダウンロードすることができます。



LoRAをオンライン上で試す

対象のLoRAを使ってどんな画像が生成されるのかオンライン上で試すこともできます。

RoLAと表示された画像をクリックすると右上に「Create」というボタンが表示されます。


これをクリックすると、画像生成のためのprompt入力画面が表示されます。promptを入力して下部の「Generate」ボタンをクリックすると画像を生成することができます。


生成した画像は上部のメニューを切り替えることで確認することができます。

(超適当なプロンプトの割にまともな画像ができました)



Stable DiffusionにRoLAをインストールする方法(korianDollLikeness)

もちろんRoLAをローカル環境のStable Diffusionにインストールすることもできます。

その際は対象となるモデルもインストールしておく必要があります


ここでは例としてChilloutMixで使用できる「korianDollLikeness」というLoRAをインストールする方法を解説します。これは韓国人風の美人女性画像を生成するためのLoRAです。


ファイルのダウンロード

CivitiのkorianDollLikenessのダウンロードページに移動します。右上にダウンロードボタンがあるので、これをクリックします。

※右下のライセンスの確認をしてからダウンロードしてください。


LoRAは追加のアドオンみたいなものなので、チェックポイントと違い数百MB程度と軽いです。


LoRAフォルダに配置する

次にダウンロードしたファイルを「stable-diffusion > stable-diffusion-webui > models >Lora」のフォルダの中に移動します。


Stable Diffusionを起動する(またはリロード)

Stable Diffusionを起動します。既に起動してある場合など追加したLoRAが読み込まれないときがあります。

そんなときは、LoRAタブの右端にあるリロードアイコンをクリックします。

  ↓ リロード

すると、LoRAフォルダに配置した「korianDollLikeness」のLoRAが表示されます。



次に表示されたLoRAをクリックします。するとpromptの入力欄ににローラを使用するプロンプトが追加されます。


 <lora:koreanDollLikeness:1>


この状態で通常通りpromptとnegative promptを入力して画像を生成すれば、韓国人風の画像が生成されます。

プロンプトはこんな感じです。

prompt

, best quality, ultra high res, (photorealistic:1.4), 1girl, white shirt, skirt, neat, (black gray hair:1), looking at viewer, small breasts, slender

negative prompt

paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, glans, big breasts, huge breasts


なんとなく顔が韓国人っぽいですね。



プロンプトの意味 <lora:koreanDollLikeness:1>

Stable DiffusionにLoRAをインストールすれば、いつでもそのLoRAが使われるわけではありません。

プロンプトの中に次のような記述を必ず入れる必要があります。

<lora:①使いたいLoRA名:②数値>

<>の中でloraを指定します。次に使いたいLoRAの名前と数値を記載します。

この数値が何気にポイントです。この数値はもともとのチェックポイントで生成する画像に指定したLoRAをどのぐらいの割合で適用するかを示しています。

数値は0~1で指定します。0が0%、1が100%です。


0%の場合

例えば、数値を0にして、koreanDollLikenessが全く適用されない状態で画像を生成してみます。

 <lora:koreanDollLikeness:0> 


すると、韓国人っぽさが完全に消えました。



50%の場合

次に数値を0.5にしてみます。

少し化粧が濃くなり、大人びた感じになりました。



このように、チェックポイントにどのLoRAを適用するかだけでなく、指定したLoRAをどのぐらいの割合適用するかまで細かく調整することができます。





コメント

タイトルとURLをコピーしました