dskjal
deeplearning カテゴリの記事一覧を表示しています。
広告
広告

Waifu Diffusion で効率的に画像を生成する

カテゴリ:deeplearning

目次

続きを読む

AUTOMATIC1111 の便利な機能

カテゴリ:deeplearning

目次

  • 操作
    • Generate ボタンを右クリック > Generate forever で止めるまで生成。止めるときは右クリック > cancel
    • Ctrl + Enter で Generate
    • Ctrl + Z プロンプトを元に戻す
    • スライダーをクリックした後十字キーで1ずつ増減できる
    • Alt + ← or → カンマ区切りの文字を選択して左右移動(1.5.0 以降)

続きを読む

LLM を使ったストーリー作成

カテゴリ:deeplearning

LLM を使ったストーリー作成が一発でうまくいく事はない。なので、ストーリー作成の各工程ごとにアイデア出しの補助をさせることでストーリーを作成する。

AI のべりすとは日本語が使えるが性能は高くない。無料で公開されているローカル実行できる LLM を英語で使ったり、Chat GPT を使う方が効率がいい。品質があまり問題ではないなら無料かつ高速な Google の Bard も使える。AI のべりすとの強みはアダルト文章を日本語で出力できることだ。

目次

続きを読む

oobabooga の tips

カテゴリ:deeplearning

AIのべりすとのようにプロンプトを編集しながらテキストを生成する

Default タブでできる。

テキスト生成のショートカットは Shift + Enter。

CPU のスレッド数を制限する

CPU で処理する場合4スレッドあたりで性能の限界が来る。E コアや Hyperthreading がスレッドをつかむと遅くなるので、Model タブで実行スレッドを制限する。

一部の処理を GPU にオフロードする

続きを読む

Danbooru タグ検索

カテゴリ:deeplearning

続きを読む

LoRA の学習方法

カテゴリ:deeplearning

続きを読む

Stable Diffusion の古い情報

カテゴリ:deeplearning

モデルリンク

stable-diffusion-xl-base-0.9

Stable-Diffusion 2.1

Stable-Diffusion 2.0

Stable Diffusion 2.0

512-base-ema.ckpt

768-v-ema.ckpt

stable-diffusion-v1-5

vae

waifu-diffusion-xl

Waifu Diffusion v1.5

WD 1.5 は5つのモデルがリリースされている。WD 1.5 Base はファインチューン用で、それ以外(Radiance, Ink, Mofu, Illusion)はデフォルト画風が違う。画風の違いは WD 1.5 Beta 3 - Release Notes で確認できる。

wd-1-5-beta3

Waifu Diffusion v1.4(プレビュー版)

使うには v2-inference.yaml ファイルを wd14-booru-step-14000-unofficial.yaml にリネームして、safetensors ファイルと同じフォルダに入れる必要がある。

Waifu Diffusion v1.3

wd-v1-3-float16.ckpt か wd-v1-3-float32.ckpt をダウンロードする。float16 と float32 で出力される結果は変わらない。ただし full と float とでは少し結果が変わる。opt にはトレーニング用データが入っている。

what is the difference between 16 32 and full?

Waifu Diffusion v1.2

Waifu Diffusion v1.2(オリジナル)

Waifu Diffusion v1.2(ミラー)

推論に不要な情報を削除したバージョン(pruned-waifu-diffusion)

trinart2_step115000.ckpt と Waifu Diffusionを5:5の比率でマージしたモデル

openvino バージョン(waifu-diffusion.openvino)

Easter

NSFW。Waifu 1.3 に比べて頭が切られにくく安定している。ネガティブプロンプトに Letterbox を入れることが推奨されている。

trinart V2 モデル

Stable Diffusion TrinArt Derrida model (Characters v2)

trinart_stable_diffusion_v2

Stable Diffusion TrinArt Characters model v1

trinart_characters_19.2m_stable_diffusion_v1

AUTOMATIC1111 を使う場合は、autoencoder_kl-f8-trinart_characters.ckpt を trinart_characters_it4_v1.vae.pt にリネームして同じフォルダに入れる。成功するとLoading VAE weights from:~trinart_charatcters_it4_v1.vae.pt が表示される。

TrinArt はカンマ区切りは非推奨

Hentai Diffusion

新しいバージョン

Hentai Diffuison ウイルスが検出されるが作者は混入を否定している。実行は自己責任で。

Waifu Diffusion v1.2 に Rule34 と Gelbooru とから収集した画像 15 万枚を追加学習させたモデル。Waifu で出すのが難しいポーズや手の改善を目的として作成された。Rule34 と Gelbooru とは Danbooru 同様、無断転載画像が多く含まれる。

NSFW

実写向き

LD-70k-1e-pruned.ckpt

LD-70k-2e-pruned.ckpt

gg1342_testrun1_pruned.ckpt

Zeipher Female Nude (better anatomy)

Zeipher BB (Blowjob images)

ケモエロ

Stable Diffusion Furry Finetune Models:Furry (ケモナー) と yiffy (エロ特化)

yiffy はペニスを描くのが上手い。

Zack3D_Kinky-v1.ckpt (ケモ)

R34

r34_e1.ckpt [f9000e4e]

r34_e2.ckpt [778b68b1]

そのほか

LD と Waifu Diffusion を3:7の比率でマージしたモデル

キャラ特化モデル

ダーリン・イン・ザ・フランキスのゼロツー

ようこそ実力至上主義の教室への綾小路 清隆

コードギアスの CC

コードギアスのルルーシュ・ランペルージ

狼と香辛料のホロ

アークナイツのブレイズ

リコリス・リコイルの錦木 千束

リコリス・リコイルの井ノ上たきな

Re:ゼロから始める異世界生活のヴィルヘルム・ヴァン・アストレア

Re:ゼロから始める異世界生活のエミリア

Re:ゼロから始める異世界生活のレムのモデル

ブラッククローバーのノエル・シルヴァ

斉木楠雄のΨ難の斉木 楠雄

ソードアートオンラインのキリト

東方の十六夜 咲夜

Fate のアルトリア・ペンドラゴン

FGO の沖田 総司

nanachi dreambooth model (42 images on top of yiffy-e15)
keyword: nanachiDB cute_furry_girl
[nanachiDB-42imgs-5000steps.ckpt](https://mega.nz/file/xE9gFQYK#f61_2_OvDSOd4VRW3W9EoLpImwCBf1hauUFhW-iNtRw)

ryza dreambooth model (54 images on top of WD 1.3 beta)

keyword: rizaDB anime_girl (yes I misspelled the name)

rizaDB-54imgs-4500steps.ckpt

SD_PixelArt_SpriteSheet_Generator

がうるぐら(VTuber)モデル

gura_no_hood_2k.ckpt

Gura_200img_3k.ckp

Gawr_Gura_450img.ckpt

リンク集

AIで描いてもらった二次画像置き場

Stable Diffusion が実行できるツールリスト

Stable Diffusion Models2

Stable Diffusion Models1

diffusersで使える Stable Diffusionモデル一覧

画像生成AI「Stable Diffusion」でいろいろ特化した使えるモデルデータいろいろまとめ

Danbooru タグ列挙法

Danbooru タグ列挙法(Waifu Diffusion v1.2 限定)

文章を入力するのではなく、Danbooru タグを列挙することで出力を安定させる方法。以下の語順でプロンプトを並べると出力が安定する。

[作品タグ] [キャラクタータグ] [コンテンツタグ] [アーティストタグ]

参考作品がない場合は、プロンプトの頭に original を指定する。

参考キャラクターがない場合はキャラクタータグは省略可能。

コンテンツタグは作品・キャラクター・アーティスト以外のすべてのタグ。ただし "highres" のような学習に時に使ってないメタタグは入れない。

この時、各カテゴリごとにアルファベット順に並べ替える。

Danbooru タグの半角スペースはアンダーバーで置き換える。

タグは半角スペースを使って並べる。コンマやピリオドを使ってはならない。以下はプロンプト例。

kono_subarashii_sekai_ni_shukufuku_wo! megumin 1girl ^_^ backlighting blush brown_hair cape closed_eyes collar facing_viewer fingerless_gloves flat_chest gloves hat lens_flare short_hair short_hair_with_long_locks smile solo staff sunset witch_hat dacchi

Danbooru タグ以外の語は入力しない方が安定する。しかしタグではない句を使う場合は半角スペースをアンダーバーにする。たとえば cleavage_of_huge_breasts 有効なプロンプト数が減るデメリットの方が多いと感じたので訂正。

アンダーバーは1トークン消費するため、有効なプロンプト数が短くなるのがこの方法の欠点だ。

Danbooru タグ列挙法(Waifu Diffusion v1.3 限定)

  • Danbooru タグの空白はそのまま入力する(空白をアンダーバーにする必要はない)
  • Danbooru タグの () は削除する(たとえば pokemon (anime) は pokemon anime)
  • Danbooru タグはコンマで区切る
  • タグを並べ替える必要はない

以下のような文章のプロンプトではなく

a girl wearing a hoodie in the rain

以下のように Danbooru タグをコンマ区切りで入力する。

original, 1girl, solo, portrait, hoodie, wearing hoodie

Stable Diffusion に関するニュース

SD RESOURCE GOLDMINE

SD RESOURCE GOLDMINE 2

SD Updates (3)

DeepFloyd IF

Stable Diffusion は潜在空間で描いた絵を VAE でピクセル空間に戻していた。このとき VAE にプロンプトの情報を入力していないので、細部の再現性に問題があった。

DeepFloyd IF はピクセル空間で 64x64 の絵を描き、アップスケーラーを2回実行して 1024x1024 の画像を作成する。アップスケーラーにはプロンプトの情報が入力されるので、通常のアップスケーラーより高性能である。

DeepFloyd IF の描画フロー

DeepFloyd IF は3ステージで絵を描く。

ステージ1ではプロンプトから生成した Text Embedding を利用して、64x64 の画像をピクセル空間で描く。

ステージ2では 64x64 の画像と Text Embedding とを利用して、256x256 の画像へアップスケーリングする。

ステージ3では 256x256 の画像と Text Embedding とを利用して、1024x1024 の画像へアップスケーリングする。

ステージ2とステージ3とのアップスケーラーは個別に専用のモデルが使用される。

外部リンク

IF by DeepFloyd Lab at StabilityAI

Stability AIが大規模言語モデルを取り入れた高性能なテキストから画像への変換モデル「DeepFloyd IF」を発表

eDiffi: Text-to-Image Diffusion Models with Ensemble of Expert Denoisers

eDiffi はテストエンコーダーに CLIP と T5XXL を使い、64x64 の画像をつくる。そして 4x アップスケーラーを2回適用し 1k x 1k の画像にする。

従来の拡散モデルはデノイザ1つでデノイズしていたが、eDiffi はデノイズのステップごとにデノイザを分けて個別に学習させることで合成能力を向上させている。

論文など

Transformer/Attention

論文解説 Attention Is All You Need (Transformer)

作って理解する Transformer / Attention

Scaled Dot-Product Attentionの本当の凄さを考える

30分で完全理解するTransformerの世界

BERTのAttentionは何を見ているのか?

Cross-Attention in Transformer Architecture

VAE

VAEは画像を生成する生成モデル。

教師なし機械学習「VAE」による連続的な手書き文字の生成

変分オートエンコーダー

【Tensorflowによる実装付き】Variational Auto-Encoder(VAE)を理解する

【PyTorch】VAE(Variational Auto-Encoder)を実装する

【徹底解説】VAEをはじめからていねいに

深層学習/VAE (Variational Autoencoder) を実装する

Variational Autoencoder徹底解説

【論文解説+Tensorflowで実装】VQ-VAEを理解する

CLIP

話題のOpenAIの新たな画像分類モデルCLIPを論文から徹底解説!

U-Net

DiffusionモデルをPyTorchで実装する② ~ U-Net編

拡散モデル

The Illustrated Stable Diffusion

Stable Diffusion の仕組みを理解する

Huggingface のイントロダクション

図解Stable Diffusion

Stable Diffusion を基礎から理解したい人向け論文攻略ガイド【無料記事】

画像生成 AI の最前線!拡散モデル・画像生成モデルの最新研究を解説

Text-to-Image 入門

StableDiffusionのサンプリング法

Diffusion Models | Paper Explanation | Math Explained

What are Diffusion Models?

Stable Diffusion with Diffusers

Diffusers.ipynb

The Annotated Diffusion Model

Generative Modeling by Estimating Gradients of the Data Distribution

Training custom Ai generative models

NovelAI

NovelAI Improvements on Stable Diffusion

NovelAI Aspect Ratio Bucketing

NovelAI Aspect Ratio Bucketing の翻訳

正方形以外の解像度での学習

FreeU

FreeU はファインチューニングも追加学習もせずに画像の品質を向上させる。

解説

U-Net のバックボーン(後半)はデノイズを行っている(前半は情報抽出)。U-Net はスキップ接続によって U-Net のデコーダーが高周波数の情報(絵のディティール・エッジ・テクスチャなど)を復元できるようになっている。しかしスキップ接続で渡された情報の低周波数の部分(全体の構図など)が、バックボーンのデノイズ能力を低下させている。

FreeU は2つの情報の制御を行う。ひとつはスキップ接続でバックボーンに提供する情報で、もうひとつはバックボーンネットワークの影響力の強さだ。バックボーンに提供する情報の影響力は s で、バックボーンネットワークの影響力の強さを b で制御する。公式の GitHub では b を少し強くして、s を小さくするように指示している。

バックボーンに提供する情報は高速フーリエ変換した後に、s で調整し、逆高速フーリエ変換している。全体を s で調整すると出力がスムースになりすぎるので、s で調整するのは低周波数の部分だけに限定している。

出口に近いバックボーンの b を強くすると出力がスムースになりすぎるので、出口に近いバックボーンの影響力は強化しない。

論文

FreeU: Free Lunch in Diffusion U-Net(arXiv)GitHubProject Page

論文

Zero-shot Learning網羅的サーベイ:CLIPが切り開いたVision & Languageの新しい世界

DiffusionによるText2Imageの系譜と生成画像が動き出すまで

世界に衝撃を与えた画像生成AI「Stable Diffusion」を徹底解説!

【AI論文解説】DALL-E 2へ至るまでの道のり:文章に沿った画像を高品質かつ多様に生成 -詳細編-

Neural Discrete Representation Learning (Vector Quantized – VAE)

U-Net: Convolutional Networks for Biomedical Image Segmentation

High-Resolution Image Synthesis with Latent Diffusion Models

Diffusion Models Beat GANs on Image Synthesis

Denoising Diffusion Implicit Models (DDIM スケジューラー)

Denoising Diffusion Probabilistic Models (DDPM スケジューラー)

Pseudo Numerical Methods for Diffusion Models on Manifolds (PNDM スケジューラー)

An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion

High-Resolution Image Synthesis with Latent Diffusion Models (LDSR)

TRAINING-FREE STRUCTURED DIFFUSION GUIDANCE FOR COMPOSITIONAL TEXT-TO-IMAGE SYNTHESIS (色移りやプロンプト無視を減らす方法)

新時代の pix2pix? ControlNet 解説

HyperNetwork

HyperNetworks

Contextual HyperNetworks for Novel Feature Adaptation

Hypernetwork functional image representation

そのほかのリンク

Tools and Resources for AI Art

Video Diffusion Models Cascaded Diffusion Models × 3D U-Net

paint-with-words-sd (テキストでオブジェクト位置を指定できる)

Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold

InstaFlow(1ステップで画像生成)

DAAM

プロンプトの各単語が画像のどの部分に効いているかを可視化する。

Poisson Flow Generative Models

拡散モデルより 10 倍~ 20 倍高速に動作するらしい。

Phenaki - Pytorch

テキストから動画を作成する。

Make-A-Video

テキストや画像から動画を作成するサービス。

DreamFusion: Text-to-3D using 2D Diffusion

テキストから 3D を生成する AI の調整に画像を生成する AI を使うことで、学習用 3D データなしでテキストから 3D データが出力できるようになるという論文。

Point·E

テキストから 3D の point clouds を生成する。

Mubert-Text-to-Music

テキストから音楽を作成する。

Text2LIVE

プロンプトで指示して、画像や動画を編集する。

EbSynth

動画を絵画調にする。

Anime2Sketch

イラストを線画にする。

Sketch-Guided Text-to-Image Diffusion Models

絵心がない線画を“いい感じの作品”に変える画像生成AI「Sketch-to-Image」 Googleなどが開発

[ RIFFUSION ]

Stable Diffusion を使って音楽を生成する。

動画

AI フレーム補間

#### AI 動画で高解像度の動画を変換する Tips

低解像度(512x512 前後)かつ低 Denoising Strength で変換したものを SD Upscale する。

AUTOMATIC1111 Web UI の Clip skip とは何か

カテゴリ:deeplearning

Stable Diffusion 1.x で使われている CLIP

続きを読む

ControlNet のネットワーク構造

カテゴリ:deeplearning

ControlNet は LoRA や Hypernetwork のように追加のネットワークを挿入するタイプのファインチューン技法だ。ControlNet のネットワークは U-Net の IN と MID のコピーで、学習開始前の状態ではウェイトも丸々コピーする。

通常は U-Net にノイズ画像を入力してデノイズするように学習させる。しかし ControlNet の入力には目的タスクに応じて線画画像や棒人間などを入力して、コピーした U-Net の IN と MID を学習させる。

続きを読む

Stable Diffusion のファインチューンの Tips

カテゴリ:deeplearning

LoRA はLoRA の学習方法へ移動した。

目次

U-Net の学習

わかりやすい解説として「U-Net は画像のデノイズを行う」という説明がされるが、これは正確には間違いだ。U-Net は除去すべきノイズを出力する

学習のプロセスは以下のようになる。

  1. ランダムにタイムステップ t ∈ [0, 1000]を選ぶ
  2. 教師画像にタイムステップ t に対応するノイズを付与する
  3. U-Net にノイズを付与した教師画像とタイムステップ t とコンテクスト(embedding 化したキャプション)を入力
  4. U-Net が除去すべきノイズを出力する
  5. 付与したノイズと U-Net が出力したノイズとの差分から平均二乗誤差(MSE)を計算する
  6. 差分を逆伝播して学習する

タイムステップはノイズの量をきめる。0 が教師画像そのもので、1000 が純粋なノイズ画像だ。

概要

2023 年8月現在 LoRA 一強の状況で、Textual Inversion・Hypernetwork・Dreambooth はほとんど使われていない。ただしモデルの作成者は kohya 版の fine tune 方式や Dreambooth を使う。

Textual Inversion や Hypernetwork、LoRA の学習は、学習画像のサイズが 512x512 なら VARM 8GB の RTX 3050 でもできる。ただし VRAM を解放するために実行前に webui の再起動が必要になる。モニターを複数枚使っている場合、VRAM が不足することがある。そのため快適に学習させたければ、VRAM 12GB 以上の GPU を使うか、Google Colab を使う。

Dreambooth を使って学習させるには最低でも 12 GB の VRAM が必要になる。

Textual Inversion はテキストエンコーダーを調整する。Hypernetwork はテキストエンコーダーと U-Net との間に追加のネットワークを挿入して、その追加ネットワークを調整する。LoRA は U-Net の Attention ブロックのみを調整する。LoCon は Attention ブロックと畳み込みレイヤーを調整する。Dreambooth は U-Net 全体を調整する。

ControlNet は学習に VRAM 24 GB が必要で、公式でも訓練方法を詳細に解説していないので知識が必要だが、任意の情報(輪郭情報や棒人間でポーズ指定など)を入力できるようになる。

LoRA と Dreambooth は何が違うか

LoRA は U-Net の Attention ブロックのみを調整する。Dreambooth は U-Net 全体を調整する。

LoRA と Hypernetwork は何が違うか

LoRA はネットワークを追加し、Transformer の Attention ブロックすべてを修正する。

Hypernetwork はネットワークを追加し、Attention ブロックに入力する k, v を修正する。

LoRA と Hypernetwork のネットワーク図

LoRA と Hypernetwork のネットワーク図

まとめ

LoRA

品質がよく・ファイルサイズは大きすぎず・難易度も高くないので人気。Web 上に情報も多い。デフォルトの状態で呼び出せない人や物を学習させられる。Dreambooth に比べてファイルサイズが小さく、学習に必要な VRAM も小さい。

Hypernetwork

画風の調整に向いてる。学習時間が短く準備の手間も少ない。

Textual Inversion

デフォルトの状態で呼び出せる人や物を語に覚えさせたり、トークンを節約したりするのに使う。描く能力はあるが呼び出し方がわからない人や物を呼び出せることがある。

Dreambooth

デフォルトの状態で呼び出せない人や物を学習させられる。U-Net 全体を調整するので最も高品質。ただしファイルサイズも大きく、学習に必要な VRAM も多い。

VRAM8GB でできるファインチューニング

  • Textual Inversion
  • Hypernetwork
  • LoRA
  • DreamArtist

VRAM 12 GB でできるファインチューニング

  • Dreambooth

VRAM 16 GB でできるファインシューニング

  • 追加学習

続きを読む


広告
広告