ステーブルディフュージョンとコントロールネットについて
こんにちは、mossanです。今回は、たまにやっているおすすめの本を短く紹介するやつをやっていきたいと思います。
ここ最近はRVCの話ばかりしてましたが、今回は同じ生成AIでも、
音声ではなく画像の方のステーブルディフュージョンとコントロールネットに関する最新の本を紹介したいと思います。
今回紹介する本ですが、AIアートの新時代、クリプトステーブルディフュージョンを活用した画像生成技術とその応用という本でして、
こしあんさん、他にもしこあんだとか、ジューシースクリプトだとか、いろんな名前で活躍されている方が、
先月、2023年5月に実施された技術書店14という技術同人誌の見本1で公開した同人誌になります。
技術書店は終わっているんですが、今でも電子書籍版は買えますし、
あとブースの方、こちらリンクは書いてありますが、こちらの方では電子書籍に加えて紙の方も買うことができます。
同人誌と言いましたが、内容としてはかなりボリュームがあり、トータルで130ページを超えます。
しかも1ページが、いわゆる左と右に2段組の構成なので、1ページのボリュームも結構あります。
こちらの同人誌ですが、先ほども言ったように画像生成AIのステーブルディフュージョンについて解説した本です。
一般にステーブルディフュージョンについて、よくあるのがウェブUIを使って、
とりあえず画像を作ってみましょうだとか、ローラを訓練しましょうみたいなのが多いかと思います。
そういうツールの使い方的な本ではなく、この本ではステーブルディフュージョン、
また関連する技術であるコントロールネットなどについて、こちらの仕組みを技術として学べるという同人誌になっています。
ですので、単純に使えればいいというだけでなく、しっかりと理解したいという人や、
ある程度使えることは使えるけれども、ちゃんと理解してもっと技術を深めたいというような中級者の方にもお勧めの本となっています。
本書をお勧めにあたって知っておいたほうがいい知識としては、
以下に書いてありますように、Pythonや機械学習や画像処理などがあります。
Pythonを入れているのは、この本の説明が一般にステーブルディフュージョンで記録使われているウェブUIではなくて、
いろいろこねくり回すために、Diffusersというライブラリを使っています。
そのため、Pythonコードをいじるので、Pythonは押さえておいたほうがいいかなと思います。
また、当然、生成AIは機械学習の最先端のものですので、
一般的な機械学習に対する知識があると、本を読み進めやすいかと思います。
また、ステーブルディフュージョンで扱うのは画像ですので、
コンピューターにおいて画像をいじる、古典的な画像処理について知っておいても、読み進めやすいかと思います。
特にコントロールネットなどでは、古典的な画像処理のアルゴリズムであるCANIなどを用いるので、ここら辺も理解しておくといいかと思います。
では本章の内容について、定義を移すわけにもいかないので、各章のタイトルと、その章でどういう技術を扱っているかというところを見ていきたいと思います。
全部で何章あります。まず前半の4章を見ていきたいと思います。
最初の第1章は、この手の本によくありがちな機械学習ってどういうものかというのを説明している章になります。
今回前提実識としては、今ではかなりちょっと古いかなという印象もありますが、いわゆる畳込みのCNNによる画像関連のAIであったりだとか、
あと、ステーブルディフュージョンなどの拡散モデルにも深く関わってくるトランスフォーマーモデル、特にアテンションについての解説であったりだとか、
ステーブルディフュージョンについて先ほどWebUIは使わないという話をしましたが、まずお試しで使ってどういう雰囲気かを触れてみようというところで、
WebUIを動かしてみるというところは説明がされています。
続いて第2章が、ステーブルディフュージョンなどのマルジモーダルモデルで重要な技術となってくるクリップについて説明されています。
クリップはテキストエンコーダーとイメージエンコーダーの相関を求めるような処理なのですけれども、
そういったクリップのイメージについての説明であったりだとか、あとはクリップをカスタマイズするというところで、クリップアダプターについての説明などもあったりしています。
続く第3章で、ステーブルディフュージョンについて解説が行われます。
先ほど言ったように、今回の本ではWebUIではなくてディフューザーズというPythonライブラリを使いますので、
そちらの方の導入手順であったりだとか、それを実際に動かしてみるといったところが説明されています。
また、ステーブルディフュージョンの構造についての説明もあります。
具体的には、UNETがあって、VAEがあってなど、そういったところが説明されています。
そして、ステーブルディフュージョンでテキストというイメージであったりだとか、AIイメージというイメージといった基本的な処理の説明も行われています。
続いて第4章、エンベディング分析、クリプト画像生成の章ですけれども、個人的にお気に入りの章です。
エンベディング分析とクリプト画像生成
こちら、実際のクロンプトの例を通して、テキストエンコーダーの中身でどういったトークンがあり、
それらがクロンプトの入力によってどのように値が変化していくのかといった内部の動きを分かりやすくステップワイステップで説明してくれています。
ここを読むと、テキストエンコーダーがどういったものなのかという理解がだいぶ深まると思います。
続いて、ステーブルディフュージョンにおけるテクニックとして知られているクリップスキップについて、
どういった原理なのか、また値を変えてどういう風に画像が変わっていくのかというところを見ながら、理解を深めることができます。
こちらの考察もかなり面白かったです。
続いて後半に入りまして、第5章、ステーブルディフュージョンの応用というところで、
今回の場合だとディフューザーズを使いますので、ディフューザーズを使うにあたって一般的に公開されているモデルの多くがWebUI向けのセーフテンソル形式だったりするので、
そちらの方を変換してディフューザーズで使う方法がまず紹介されています。
続いてこちらもテクニックの一つとしてあります、ネガティブグロープと楽に入れるためのツールと言っていいのかな、
Easy Negativeというものがありますけれども、こちらについての解説もあります。
また、ステーブルディフュージョンはグロープとテキストですね。
こちらを入力して画像を作るものだけれど、テキストを作るのはChatGPTが得意でしょうというところで、
ChatGPTにグロープを作ってもらうという手法も紹介されています。
さらにこのChatGPTにグロープを作ってもらうときに、ステーブルディフュージョンだとグロープが77トークンまでしか受け入れられないというところの制約があるので、
ステーブルディフュージョンの応用とツール
そこのリミッターを外す方法なども紹介されています。
続いてが一番人気というか、いろいろ騒動を巻き起こしてはいますけれども、
ローラについて実際どういう仕組みのものなのかというところと実際の使い方が紹介されています。
この書の最後では結構紙面を押さえて、コントロールネット、それも最新の1.1のバージョンについて、仕組みとそれぞれの機能について紹介がされています。
続きます6章と7章ですが、ここら辺になってくるとだいぶマニアックかなという内容になってきますので、
読んでいてわからないなと思っても、そこまで悩まずに読み進めていただければというところですかね。
6章ですが、主にセンサー表現、ラテント周りのいわゆるハッキングといいますか、いろいろいじることをやっております。
この章も最初にまず紹介されているのは、ステーブルリフュージョンを使っていると見たことがある設定項目かと思いますが、
CFGスケール、クラス3フリーガイダンスでしたっけ、こちらのほうについて紹介がされています。
このCFGスケール、クロンプトの反映の度合いをアルファブレンドみたいな形で調整するものなんですけれども、
似たようなものでノイズスケールという設定項目もあります。この違いなかなか説明できる方少ないと思うんですが、
ノイズスケールについてもCFGスケールと同様に仕組みの説明から始まり、具体的な例を通してどういうふうな聞き方をするのかというのが紹介されています。
あとはこの章では、センサー表現周り、モデルが学習した画像の特徴領といってもいいかなと思いますけれども、
ここら辺をいろいろいじりくり回す他の手法が紹介されています。
最後の章は、センサー表現ではなくて、アテンションのハッキング周りの話、
あとはそれ以外のステーブリーウィフジョインや素手に限らず、いろんな応用が紹介されています。
最初に紹介されているアテンションカップルですが、これがだいぶマニアックでして、
ユーネットを直接ゴリゴリいじるというようなものになってきますので、
サンプルコード流す分にはいいのかもしれませんが、なかなか自分で同じようにいじってみようという人は少ないのかなと思います。
ただ面白い取り組みなので、読んでみてもいいかもしれません。
あとは最新の技術として、キャラを覚えさせるものではなくて、
最新の生成AI技術
スタイルを覚えさせるものとして使うスタイルローラというものが紹介されています。
また、こちらも結構最近出てきたものだと認識していますが、
ニューグループ画像1枚で、その画像に即したような新しい画像を作るという、
コントロールネットリファレンスオンリーという手法について紹介されています。
ここら辺結構気になるところですね。
それ以外にも、例えば360度画像を表現してみたというものが紹介されています。
他には画像ではなく、動画での生成AI系のトレンドなどが紹介されて本が終わりとなります。
こちらの本、順に説明してきましたが、
良い点とちょっと悩ましい点、それぞれについて紹介したいと思います。
この2点の良い点としては、やっぱり最新のステーブルディフュージョン。
この動画を撮っている時点で、本当に1か月前ぐらいに発表されたものまで含めた最新の情報。
そのステーブルディフュージョン及びコントロールネットについて、
仕組みを学べるというのは、このボリュームで公開されているコンテンツは他にはないのではないかなというふうに思いますので、非常にお勧めです。
また、内容としても、確実的な内容によりすぎず、
よくあるような実用に特化した内容にもよりすぎずといった感じで、
Stable Diffusion / ControlNet1.1 おすすめ本紹介
ちょうどいい感じのバランスの本になっています。
さらには、サンプルコードのほうがかなり充実しまして、
肉子書類のほうまだアップデートされているみたいですけれども、
私が確認したところ、トータルで70個弱ぐらいのサンプルコードがありました。
ですので、実際にコードを見ながら、細かい挙動も確認することができます。
あと、本書のちょっと悩ましいなという点なんですけれども、
今回いろいろハッキングみたいな感じで、設定とか書類の流れを変えたりするっていう都合上、
Web UIだといろいろやりづらいところもあって、
Web UIではなくDiffusersを使っています。
なので、Pythonのコードで書いているという形になります。
それもあって、コードで処理は理解しやすいしやすいんですが、
逆にWeb UIほどはメジャーじゃないDiffusersにちょっと縛られてしまうというところが、
ちょっと悩ましいなというところですね。
あとは、こちらは最後の方にあるぐらいではありますが、
結構マニアックなネタがあって、
どちらかというと、この内容は必須だよねっていうよりは、
ちょっと拡散モデルに対して仮説を立てて、それを検証してみたみたいな、
いわゆるやってみた的なものもいくつか含まれていますので、
必ずしもStable Diffusionにおける標準的な項目のみではないというところも、
少しは注意が必要かなというふうに思います。
あと最後に、こちら後書きの方にも書かれてはいましたが、
ローラに関しては、今回使い方に関しては紹介されていましたが、
訓練方法に関しては書かれていませんでしたので、
そうでもご注意が必要かと思います。
ただ、ローラの訓練に関しましては、
こちらの著者の方、コシアンさんのブログの方では、
こちらの方のブログの記事の中で、
ローラの訓練に関する記事などもありますので、
そちらの方に興味がある方は、ぜひブログの方も見ていただければと思います。
以上、Stable Diffusionとコントールネットについて、
おすすめ本の紹介でした。
生成AIに関する倫理
生成AIに関しては、まだ出たての技術というところもあり、
経営面、倫理面で気をつけないと、いろいろグレーなところがあります。
ですので、経営面、倫理面両面において、
透明性を担保して楽しく使いましょうというところですね。
生成AI系の倫理については、こちら右下の方にありますように、
1個、私の方で同人誌を出しています。
こちら、RVCについて書かれたものですけれども、
考え方は他の生成AIにも使えるんじゃないかなというふうに思いますので、
倫理マンについて興味のある方は見ていただければと思います。
以上、おすすめ書籍の紹介でした。