【LECO】ついに学習素材すら不要に…概念誘導・消去のLECO学習が革命しゅぎるぅううぅう!!【Stable Diffusion】

Subscribers:
36,400
Published on ● Video Link: https://www.youtube.com/watch?v=NQyBvKlvB5c



Duration: 24:24
39,197 views
0


🐸LECO(リコ)という学習素材を必要としない新しいLoRA学習の手法ついての動画です。学習環境の構築から、設定の組み立て方、他いくつか作例を挙げながら紹介しています。
🐸画像生成AI「Stable Diffusion」のフロントエンドであるAUTOMATIC1111の拡張機能ではありません。sd-scripts同様スタンドアローンで動作するツールです。
🐸本動画は技術研究目的で作成しています。またソフトウェアの使用方法の例を紹介した動画であってその使用を推奨するものではありません。
This video is edited for technical research purposes.
It only explains how to install the software and its features, and is NOT intended as a recommendation to use itself.

🟠AUTOMATIC1111って何?って方は↓
🟠Stable Diffusion webUI AUTOMATIC1111のインストール方法
https://youtu.be/8QIJMGW_-LM
↑この動画のとおりに操作していけばインストールできます。

🐸Timestamp🐸
00:00 LECOについて
00:50 インストール手順の確認
01:23 インストール方法
03:05 起動用バッチを作ろう
04:44 config.yamlの設定
08:56 prompts.yamlの設定
09:52 EnhanceLECOの作製
12:19 【重要】ベクトルで考えよう
15:30 EraseLECOの考え方
17:25 EraseLECOの作製
19:35 unconditionalの設定
20:22 複数LECOの同時記述(Enhance×Erase)
21:47 複数LECOの同時記述(Enhance×Enhance)
22:52 複数LECOの同時記述(Erase×Erase)
23:31 まとめ

🐸動画の補足🐸
原著論文
https://arxiv.org/abs/2303.07345

作者のGithubリポジトリ
p1atdev/LECO
https://github.com/p1atdev/LECO
↑必ず目を通してください。
※LECOはA1111の拡張機能ではありません。sd-scripts同様スタンドアローンで動作する学習実行用ツールです。
※動画で使用しているLECOは23年6月末~7月上旬のハッシュのものです。作者の改良で仕様が変更になる場合があります。

※動画中でベクトルで考えていますが、特にEraseに関しては分子構造とか重力場のような考え方の方が分かりやすいと思います。

🐸Powershellの実行ポリシーの変更について(01:23 ~)
環境構築にpowershellを使用します。事前にpowershellの実行ポリシーを下げておいてください。
powershellを管理者モードで起動→Set-ExecutionPolicy remotesigned

私の過去動画でも触れています(動画で手順を見たい人向け)
https://youtu.be/ko0h9UwEVpM

✅omegaconfについて(02:50 ~)
作者が23年7月11日付でomegaconfを追記してくれたようなので、今後は個別にインストールする必要はないです。

🐸起動用batファイル用例文(03:05 ~)
下記は一例です。実際にBingに聞いてみて下さい。
聞くたびに少し記述例が変わる場合があります。
===============
@echo off
start powershell.exe -NoExit -Command "Set-Location -Path '%cd%'; & '.\venv\scripts\activate'"
===============

✅config.yamlについて(04:44 ~)
※パラメータ設定に関してはsd-scriptsの仕様に準ずるため、下記kohya氏のリポジトリも並行して参照してください。
kohya-ss/sd-scripts
https://github.com/kohya-ss/sd-scripts

↓以下、チャンネル主の実験結果に基づいて独断と偏見で書いています。

RankとAlphaはともに初期値で良いです。
Rankを上げると学習の奥行きが増える(単位LoRA強度あたりの変位量が増える。Guidance Scale上げた時と同じような結果になる)。例えば、Rank4で作ったLECOのLoRA強度1は、Rank64で作ったLECOの概ねLoRA強度0.75に相当(筆者の実験結果による、AdamW, Step300, Guidance Scale1.0, batch2)。破綻しやすくなるのでRankは基本的に4のまま、上げても16程度までかな。alphaは1でいい。というか1がいい。

iterations:
いわゆるstep。初期値500。かなり時間かかるので200~300くらいで良い。本動画中で使用しているLECOは全てstep300で作っています。

max_denoising_steps:
デフォルト50。サンプリングメソッドDDIMの場合、収束が早いのでそこまで要りません。30程度まで下げてしまって良いでしょう。学習時間が短縮できます。

✅fp16, fp32, bf16について
Trainにfp16を指定しないこと(学習自体は出来ますが、webUIで使用できないLoRAになる可能性が高いです。環境依存があるかもしれませんが、少なくとも私の環境ではfp16で作成したものは全て画像生成不可でした。)
RTX2000以前のカードはfp32を使って下さい(ただしちょっと時間がかかるようです)
RTX3000以降のカードはbf16推奨

Save側はfp16, fp32, bf16どれでもwebUI上で使用可能(少なくとも私の環境で)でしたので好きなの設定してください。

✅Prompts.yamlについて(08:56 ~)
初期のままだとクッソ見づらいので、順番を動画のように入れ替えることをお勧めします

action:
EnhanceとEraseの切り替え。これ一番上に置いた方が良い。一目で分かるし。
Enhanceは概念誘導。Eraseは概念抑制。動画中でBlenderという3DCGソフトを使って説明していますが、要するにTargetの概念をPositiveに近づけるか遠ざけるかの違いです。
target:
LECOの始点となる概念を記述
positive:
LECOの終点となる概念を記述。無記載だとターゲットと同じ(つまり原点、プロンプト無しで生成した場合を基準に変位する)。Eraseの場合は記載しなくていい。
unconditional:
変位させたくない概念を記述(オプション)
neutral:
ターゲットの変位支点を指定するもの?いまいち使いどころがわがんない。
無記載だとunconditionalと同じとして扱われる。
guidance_scale:
初期値1。単位LoRA強度あたりの変動幅を意味するので、この値を上げるとLoRAの調整がシビアになるのと、上げると破綻しやすくなる。特に理由がない限り1で良い。
resolution: 512
初期値512。SD1.5準拠モデルは512で良い。
batch_size: 2
初期値2。上げると学習時間が膨大に増加する。初期値2か1で良い。

作例:
===============
貧乳をギガパイLECO
- action: "enhance"
target: "1girl, flat chest"
positive "1girl, gigantic breasts"
guidance_scale: 1.0
resolution: 512
batch_size: 2

===============
ロリコンスライダーLECO
LoRA強度プラスで大人に、マイナスでロリ化
- action: "erase"
target: "loli"
guidance_scale: 1.0
resolution: 512
batch_size: 2

- action: "erase"
target: "petite"
guidance_scale: 1.0
resolution: 512
batch_size: 2

- action: "erase"
target: "toddler"
guidance_scale: 1.0
resolution: 512
batch_size: 2

- action: "erase"
target: "child"
guidance_scale: 1.0
resolution: 512
batch_size: 2
===============

参考文献(あわせて読めばより理解が深まるかと思います。)
https://zenn.dev/aics/articles/lora_for_erasing_concepts_from_diffusion_models
https://note.com/emanon_14/n/n6d37d7806200
https://note.com/gcem156/n/n9f74d7d1417c

🐸🐸以下管理用🐸🐸
BGM
Unleash, Crystallize, Sugar Pop, OPENNESS, Girlish, ILLUMINATE, Hooray written by SHUNTA

#LECO #StableDiffusion #画像生成ai #AIイラスト #StableDiffusiontutorial #generativeai #Aiart




Other Videos By Teruru and Robin YasuLab


2023-07-26【ver1.5】AUTOMATIC1111がさらに便利になったぞー!!機能紹介【Stable Diffusion】
2023-07-11【LECO】ついに学習素材すら不要に…概念誘導・消去のLECO学習が革命しゅぎるぅううぅう!!【Stable Diffusion】
2023-06-30AUTOMATIC1111のおすすめ拡張機能9選んんんほおお!【Stable Diffusion】
2023-06-20今さら聞けないStable Diffusion webUI AUTOMATIC1111の更新方法【Stable Diffusion】
2023-06-11意外と知られていないStable Diffusion WebUI AUTOMATIC1111の機能【Stable Diffusion】
2023-06-09【技術デモ】非公式版Drag-GANをローカルに構築して遊んでみたら未来を感じた話【DragGAN-Unofficial】
2023-06-04切り抜きや背景透過・学習素材集めのお供に最適!Transparent-Backgroundが超高性能なので使ってみよう!ほか拡張機能の紹介【Stable Diffusion】
2023-05-26EBsynthを使ってAIでV2Vロトスコープ動画を作ってみりゅうう!EBsynth-Utilityが初心者からベテランまでマジ便利【Stable Diffusion】
2023-05-15「AIは同じキャラが出せない」はおしまい!新機能Reference-onlyなら学習なしでも画像だけで差分作成からアイコラも出来ちゃうぞ!!【Stable Diffusion】
2023-05-11あのEasyNegativeに新版V2キタ—(゚∀゚)—!!ので旧作と比較してみりゅううう!!【Stable Diffusion】
2023-04-26Control-Netバージョン1.1きちゃああああ!Shuffle機能がしゅごおおおおいぞ!【Stable Diffusion】
2023-04-20音声認識AI『Whisper』をローカルに構築してYoutube字幕を作ってみよう!【OpenAI/whisper】
2023-04-12日本一わかりやすいLoRA学習!sd-scripts導入から学習実行まで解説!東北ずん子LoRAを作ってみよう!【Stable Diffusion】
2023-03-31自動レイヤー分割ツール『レイヤーディバイダー』をローカル環境に構築して使ってみよう!導入方法解説【LayerDivider】
2023-03-26AIは手が苦手過ぎる~!のでControlNetとデプスライブラリで修正してみよう!使用方法解説!【Stable Diffusion】
2023-03-20LoRAを使って遊んでみよう!学習ファイルのインストール方法と使用方法解説!【Stable Diffusion】
2023-03-13ネガティブエンベッドの導入と使用方法解説!もう長いプロンプトはおしまい!【Stable Diffusion】
2023-03-09Control-Netの導入と基本的な使い方解説!自由自在にポージングしたり塗りだけAIでやってみよう!【Stable Diffusion】
2023-03-03【Stable Diffusion】複数のプロンプトを同時実行できちゃうPrompts from File or Textboxスクリプトがめちゃくちゃ便利なので使い方を解説する動画【1111】
2023-02-27日本一わかりやすいStableDiffusion WebUI AUTOMATIC1111(ローカル版)のインストール方法と基本的な使い方
2023-02-15【Sunbreak】ver.14アップデートで傀異錬成に追加されたスキルとコストまとめ



Tags:
stable diffusion
automatic1111
AIart
オートマチック1111
LECO
LORA
LECO学習
概念消去
LECO enhance
LECO erase