みなさんは、 Satable Diffusionのモデルから何か特定の要素のみ消去したり、強化したりできる『LECO』という新技術をご存知でしょうか?
『LECO』を使うことで、教師画像を用いずに、AIに追加学習をさせることができ、『Lora』として機能させることができます。
今回は、そんな『LECO』のインストール方法から使い方まで、詳しく解説していきますので、ぜひ最後までご覧ください!
Stable DiffusionのLora『LECO』とは?
まずは、Stable Diffusionに登場した新技術である、『LECO』とは一体どういったものなのかについて、詳しく解説していきたいと思います。
『LECO』は2023年6月29日に新しく登場した技術で、『Low-rank adaptation for Erasing COncepts』の略称のことを指します。
これを端的に説明すると、『モデルから指定した特定の概念を消去するためのLora』ということになります。
『LECO』を用いることで、元の画像として用意する教師画像を使わなくても、モデルから特定の概念を消去することができるようになります。
また、『LECO』はモデルから特定の概念を消去するだけでなく、なんと強化することもできます。
以上のことについて、プロンプトの具体例を提示していきながら、説明していきたいと思います。
例えば、ネガティブプロンプトを用いず、単に
1male
というプロンプトを打ち込んで画像を生成したとします。
すると、以下の画像のように、表情や手足などの体の一部が崩れた低品質な画像が生成されてしまうことが多いですよね。
そのため、
worst quality, low quality, bad anatomy
などといったテキストをネガティブプロンプトに入力し、低品質な画像が生成されることを防ぐ必要が出てきます。
しかし、『LECO』という技術を用いることで、『1male』から『worst quality, low quality, bad anatomy』などの画像の品質を落としてしまうような要素を消去することができ、ネガティブプロンプトを入力せず、単に
1male
と入力するだけでも、低品質な画像が生成されるのを防ぐことができます。
また、『LECO』は、『モデルから指定した特定の概念を強化する』こともできるため、上記とは逆に、プロンプトに用いる1つの単語に、特定の概念を付け足すこともできてしまいます。
例えば、
1moman
と単純にプロンプトの欄に入力しただけでは、髪色や年齢、ポーズや服などといったその他の要素はランダムに生成されます。
しかし、
1woman
に
20 years old, red hair, red eyes, t-shirt
という概念を追加することで、プロンプトの欄に
1woman
と入力するだけでも、『年齢が20歳くらいの、赤髪で赤い目をした、Tシャツを着た女性』を生成することができるようになるんです。
このように、概念を強化したり、消去したりできる『LECO』ですが、概念を強化、または消去した要素は『Lora』として機能します。
そして、その『Lora』はスライダーとして用いることも可能です。
スライダーとは、『Lora』の値を上げてプラスに適用するか、値を下げてマイナスに適用するかを指定できる機能です。
そのため、
1woman
というプロンプトに
young
という概念を追加した場合、プラスに適用すれば若い女性が生成され、マイナスに適用すれば、年老いた女性が生成されるようになります。
以上のように、『LECO』とは、効果的に使うことでプロンプトの入力の手間を省いたり、自分がイメージしたとおりの画像を生成しやすくなったりする便利な技術です。
しかし、1点、注意しなければならない点があります。
それは、Stable Diffusionに適用しているモデルが生成できない要素については、『LECO』を用いても追加することができないという点です。
例えば、人物しか生成することができないモデルを適用している場合は、景色の画像を生成するための概念を追加することはできないということです。
『LECO』を用いる際は、この点に注意しなければなりません。
『LECO』に関する資料
『LECO』は先ほども記述したように、2023年6月29日に登場した新しい技術であるため、現在は情報があまり多くありません。
しかし、『LECO』の開発者の方が記事を書いてくださっており、『LECO』に関する詳細な情報を記載してくださっています。
『LECO』の開発者様の記事では、『LECO』の元となっている『Erasing Concepts from Diffusion Models』通称『ESD』の仕組みなどについても解説されています。
『LECO』の開発者様の記事はこちらになります。
また、『Github』の公式サイトでも、『LECO』に関する情報が載っているので、参照してみてください。
『Github』の公式サイトでは、『LECO』を新しく自分で作る際の環境設定の仕方などが解説されています。
『Github』の公式サイトはこちらです。
既存の学習方法との違い
次に、『LECO』が既存の学習方法とどのように異なるのか、解説していきたいと思います。
既存の学習方法と『LECO』の異なる点は、先ほども述べたように、教師画像を必要としない点であるといえます。
『LECO』では、元の画像を用意しなくても、Stable Diffusionのモデルに追加学習をさせることができます。
『LECO』の導入方法
ここからは、具体的な『LECO』の導入方法を解説していきます。
『LECO』の導入に必要なパソコンのスペックや、簡単に『LECO』を導入する方法を詳しく解説していきますので、ぜひご覧ください!
必要なスペック
まずは、『LECO』の導入に必要なパソコンのスペックについて解説します。
『LECO』の開発者の方の記事や、『Github』のサイトを閲覧すると、最低でも8GBほどのVRAMが必要であることがわかります。
8GB未満のパソコンを用いると、新規に『LECO』をつくる場合、環境の構築やファイルの編集はできても、学習の実行に莫大な時間がかかってしまい、厳しいようです。
『LECO』の導入手順
『LECO』をStable Diffusionに導入するには、まず、『LECO』のダウンロードが必要です。
『LECO』のダウンロード方法には、以下の2種類の方法があります。
- 『Hugging Face』から『LECO』をダウンロードする方法
- 『cvitai』から『LECO』をダウンロードする方法
それでは、1つずつ解説していきます。
まず、『Hugging Face』を用いる方法についてです。
『Hugging Face』は、Stable Diffusionに使うことができる『LECO』をはじめとした『Lora』やモデルなどが網羅的に配布されているサイトです。
しかし、『Hugging Face』では、ダウンロードしたい『LECO』をテキストで入力して検索する必要があります。
そのため、1から『LECO』を探したいと思っている方向けであるとはいえません。
『Hugging Face』から『LECO』をダウンロードする手順は以下になります。
- 『LECO』の名前を入力し、『LECO』を検索する
- 『Files and versions』というタブをクリックする
- 『LECO』のファイル名の横にあるダウンロードマークを押す
『Hugging Face』では、以上の手順で『LECO』のダウンロードが可能です。
次に、『civitai』を用いる方法についてです。
『civitai』でも『Hugging Face』と同様に、『LECO』をはじめとした『Lora』やモデルが網羅的に配布されています。
ただ、『Hugging Face』と異なり、各種モデルや『Lora』などを使って画像生成をしたときの例がサムネイルとして提示されているため、理想の『LECO』を探しやすいというメリットがあります。
『civitai』を使って『LECO』をダウンロードする手順は、以下のとおりです。
- 『Explore all models→』をクリックする
- 検索欄に『LECO』と入力し、検索ボタンをクリックする
- フィルターマークをクリックする
- 『Lora』と『Lycoris』の欄にチェックを入れる
- 『Download』と表示された部分をクリックする
以上の手順で、『civitai』を使って『LECO』をダウンロードすることができます。
『LECO』のダウンロードが完了したら、次は『LECO』をStable Diffusionに導入する作業に移っていきます。
今回は、『Google Colab』を使ってStable Diffusionを立ち上げることを前提に導入方法を解説していきます。
『LECO』をStable Diffusionに導入するための手順は以下のとおりです。
- 『Googleドライブ』を開き、『sd』フォルダを開く
- 『stable-diffusion-webui』フォルダを開く
- 『models』フォルダを開く
- 『Lora』フォルダを開く
- 『Lora』フォルダにダウンロードした『LECO』のファイルをドラッグ&ドロップする
以上の手順で、『LECO』をStable Diffusionに導入(インストール)することができます。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
『LECO』の使い方・学習方法
『LECO』をStable Diffusionに導入したら、次は、『LECO』を使って画像を生成してみましょう。
以下では、『LECO』を使ってモデルに学習させる方法を、実際に画像を生成しながら解説していきたいと思います。
『LECO』を使ってモデルに学習させるための手順は以下となります。
- Stable Diffusionを起動し、プロンプトを入力する
- 『Lora』というタブを開く
- 使用したい『LECO』を選択する
以上の手順を踏むことで、使用したい『LECO』のテキストがプロンプトの欄に自動で入力され、『LECO』を使ってモデルに学習させることができます。
今回は、『handwriting-LECO』という『LECO』を使っていきたいと思います。
『handwriting-LECO』は、モデルに『手書き風のイラスト』という概念を強化させることができる『LECO』です。
そのため、『handwriting-LECO』を用いることで、手書き風の画像を生成しやすくなります。
今回は以下のプロンプトを入力しました。
・プロンプト
1woman, 20 years old, black hair, long hair, <lora:handwriting:1>
・ネガティブプロンプト
EasyNegative, worst quality, low quality, bad anatomy, bad hands, poorly eyes
黄色のアンダーラインを引いてある部分が適用した『LECO』のテキストです。
そして、実際に生成した画像が以下です。
漫画やアニメのような手書き風のイラストの画像が生成されているのがおわかりいただけると思います。
まとめ
いかがでしたでしょうか?
今回は、Stable Diffusionに登場した新技術である『LECO』について解説してきました。
今回のポイントをまとめると、以下のようになります。
- 『LECO』はモデルから特定の概念を消去したり、強化したりできる
- 『LECO』に関する資料は、開発者様の記事や『Github』の公式サイトを参照するとよい
- 『LECO』は『Hugging Face』や『civitai』からダウンロードできる
- 『LECO』の導入は、『Googleドライブ』から行うことができる
- 『LECO』を使用する際の手順は、【①プロンプト入力→②『Lora』タブを開く→③『LECO』を選択】である
『LECO』に関する知識が深まったでしょうか?
『LECO』は『Lora』として機能するため、効果的に使うことで理想の画像を生成しやすくなります。
ぜひ活用してみてください!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい