Stable Diffusion
#AI #機械学習
#AI生成が変える世界
概要
Diffusion」とは「拡散」という意味
itmedia:誰もが知っておくべき画像生成AI「Stable Diffusion」の仕組みと使い方
インフラ一筋のおじさんが画像生成AI“Stable-Diffusion”を読み込んでみる件
https://sdtools.org/
hiroki.iconモデル、サンプラー、アップスケーラー...SD関連の全ての知識が簡潔にまとまってる
動作原理
https://twitter.com/ai__pub/status/1561362542487695360
Gigazine:画像生成AI「Stable Diffusion」を使いこなすために知っておくと理解が進む「どうやって絵を描いているのか」をわかりやすく図解
画像にランダムで小さなノイズを繰り返し追加するプロセスのことで、以下の画像だと左から右に進める処理です。Stable Diffusionでは、さらにこの逆となる右から左、つまりノイズを画像に変換する処理も行います。
ニューラルネットワークが学習する関数f
ニュートラルネットワークが学習するのは関数f(x,t)で、これはxのノイズをわずかに除去し、t-1回目でどのように見えるかを生成するものです。
純粋なノイズをキレイな画像に変化させるには、この関数を何度も適用すればいいというわけです。Stable Diffusionの処理はいわばf(f(f(f(....f(N, T), T-1), T-2)..., 2, 1)というように、関数の入れ子状態になっています。このNは純粋なノイズ、Tはステップ数になります。
プロンプトによる関数fの制御
Stable Diffusionは、さらに関数の変数として文字列(プロンプト)を入力できます。プロンプトを入力することで、ノイズ除去の方向がある程度定まることになります。
関数fはコンテキストとしてプロンプト以外にも画像も扱えるから、img2imgみたいなことができる
ファインチューン
Textual Inversion
新しい概念を理解するための特別な単語を作成する
人や物を覚えさせるのに向いてる
学習時間がかかる
背景を塗りつぶしたりタグを修正したりなど学習データの準備の手間が多い
/icons/point.iconモデルそのものに概念を取り込むのではなく、学習した結果をモデルとは別ファイルに保存する形に進化した
着脱可能なので柔軟に変化させられる
embenddingsと言われている
Textual Inversionで学習した結果がembeddingsとして保存されている
hiroki.icon従来の機械学習でのembeddingsとは違った意味合いになっているから注意が必要
Stable Diffusionをカスタマイズする手法の1つであるTextual Inversionの最近の進化
Hypernetwork
二次的なネットワークを使って、元のネットワークの新しい重みを予測する
画風を学習させるのに向いてる
学習時間短い
学習データの準備の手間も少ない
/work4ai/web UIでHypernetworkを使う
Dreambooth
新しいコンセプトを理解できるまで、拡散モデル自体を微調整する
LoRA
モデルの微調整を行う仕組み
拡散モデルにわずかな重みを追加し、変更されたモデルが概念を理解するまでそれらを訓練する
過学習になりがち
Low-rank Adaptation
LoRAを使用した画像生成にはAUTOMATIC1111を使用する
https://wikiwiki.jp/sd_toshiaki/LoRA
LoRAを使ってみよう
/work4ai/LoRA
Stable Diffusion のファインチューンの Tips
WebUI
https://github.com/sd-webui/stable-diffusion-webui
AUTOMATIC1111 WebUI
画像生成AI「Stable Diffusion」で崩れがちな顔をきれいにできる「GFPGAN」を簡単に使える「Stable Diffusion web UI(AUTOMATIC1111版)」の基本的な使い方
画像生成AI「Stable Diffusion」でプロンプト・呪文やパラメーターを変えるとどういう差が出るか一目でわかる「Prompt matrix」と「X/Y plot」を「Stable Diffusion web UI(AUTOMATIC1111版)」で使う方法まとめ
画像生成AI「Stable Diffusion」を4GBのGPUでも動作OK&自分の絵柄を学習させるなどいろいろな機能を簡単にGoogle ColaboやWindowsで動かせる決定版「Stable Diffusion web UI(AUTOMATIC1111版)」インストール方法まとめ
/icons/point.iconUI操作&超多機能な「Stable Diffusion web UI」をローカルで使う方法
画像生成AI「Stable Diffusion」で画像の部分修正を行うマスクを文字列から自動で作成してくれる「txt2mask for Stable Diffusion」の導入&使い方まとめ
InvokeAI
https://github.com/invoke-ai/InvokeAI
https://twitter.com/yamkaz/status/1598813388645101568
notebook
https://twitter.com/karaage0703/status/1596437700311412736
flat
https://twitter.com/ddpn08/status/1615709556499451907
Stable Diffusion WebUI Docker
https://github.com/AbdBarho/stable-diffusion-webui-docker
float16,full,full-optの違い
float16
float32
画像生成するだけならこのどちらかを使えば良い
16でもそこまで差は出ないと思われる
full
full版はEMAが残ってるからDreamboothとかする
ema
exponential moving average
full-opt
追加学習向き
オプティマイザってのが残ってるから追加学習させるのに役立つ
https://six-loganberry-ba7.notion.site/22-10-6-WD1-3-4-float32-float16-full-full-opt-b9dc8aeb5f474dcaa2b033a321b762f9
参照
DiffusionによるText2Imageの系譜と生成画像が動き出すまで/icons/good.icon
github:sd-multi
stablediffusion関係のwebuiとかのdockerファイルまとめ。AUTOMATIC1111 WebUIのdockerファイルもある
https://www.stable-diffusion.click/
サンドボックスお試し
サ終
https://lexica.art/
呪文まとめサイト
https://proximacentaurib.notion.site/proximacentaurib/parrot-zone-74a5c04d4feb4f12b52a41fc8750b205
StableDiffusionで使用できるアーティスト、修飾みたいな知見がまとまっているnotion
https://promptomania.com
https://rentry.co/sdmodels
stable diffusion関連のモデルまとめ→Stable Diffusion系派生モデル
promptbase
質の良いプロンプトが売れる時代
Gigazine:「Stable Diffusionであの構図や雰囲気を再現するには何と書けば良いのか?」が目で見て一発でわかる「The Ai Art」
https://youtu.be/aNdb_RUxtOM