🖼️

Stable Diffusion / ControlNet1.1 おすすめ本

2023/06/12に公開

書籍概要

本記事は、画像生成AI「Stable Diffusion」と「ControlNet1.1」についてのおすすめの最新書籍をします。

本書「AIアートの新時代クリプトStable Diffusionを活用した画像生成技術とその応用」は、"こしあん"さんによって2023年5月に"技術書典14"という技術同人誌の即売会で公開されたものです。技術書典14は終了していますが、電子書籍版は現在でも購入可能で、BOOTHのサイトでは紙版も購入できます。

この本は、同人誌という形態にも関わらず、内容のボリュームは非常に大きいです。全体で130ページを超え、1ページが左右2段組の構成となっているため、1ページの情報量も大いにあります。

本書は、画像生成AIのStable Diffusionについて解説しています。一般的に、Stable Diffusionについての書籍や資料はWebUIを使って画像を生成したり、LoRAを訓練するなどのツールの使い方に重点を置くことが多いですが、この本ではStable Diffusionや関連する技術、例えばControlNetなどについて、その仕組みを詳しく学べる内容になっています。

だからこそ、この本は単にツールを使うだけでなく、技術をしっかりと理解したい人や、既にある程度使えるが、その理解を深めてさらにスキルを磨きたいという中級者にも非常におすすめです。

本書を理解するために必要な知識としてはPython、機械学習、画像処理などがあります。Pythonが必要なのは、本書で使用しているライブラリがDiffusersであり、Pythonコードを直接操作するからです。また、生成AIは機械学習の最先端分野であるため、機械学習に対する一般的な知識があると理解しやすいでしょう。さらに、Stable Diffusionは画像を扱う技術なので、コンピューターによる古典的な画像処理についての知識もあると理解に役立つでしょう(ControlNetで扱うCannyなども古典的な画像処理の一種です)

内容

本書の内容に入っていきたいと思います

第1章「機械学習入門」

本書は、機械学習の基本的な説明から始まります。この章では、畳み込みニューラルネットワーク(CNN)やTransformerモデルのAttentionなど、画像関連AIの基本的な技術からStable Diffusionの説明までが行われています。また、WebUIを用いて、この技術を手軽に試す方法も紹介されています。

第2章「CLIP」

CLIPは、テキストと画像の相関を見つけ出すための技術で、Stable Diffusionのようなマルチモーダルモデルで重要な役割を果たします。CLIPのイメージについてや、CLIPのカスタマイズに関する解説などが含まれています。

第3章「Stable Diffusion入門」

第3章では、Stable Diffusionについて詳細に解説されます。本書ではPythonライブラリのDiffusersを使用するため、その導入手順や使用方法が詳しく説明されています。さらに、Stable Diffusionの構造や、Text to Image (t2i)、Image to Image (i2i)といった基本的な処理についても解説されています。

第4章「Embedding分析:CLIPと画像生成」

個人的にお気に入りの章で、Text Encoderの詳細とその動きを理解するための章です。具体的なプロンプトの例を通じて、どのようなトークンが存在し、それらがどのように値を変えていくかがステップバイステップで説明されています。これにより、Text Encoderがどのようなものであるかの理解が深まります。また、Stable Diffusionにおけるテクニックとして知られているCLIP skipの原理や、値の変化による画像の変化を観察することで理解を深めることができます。

第5章「Stable Diffusion応用」

本書ではDiffusersというPythonライブラリを使用しますが、公開されている多くのモデルはWebUI向けのsafetensor形式になっています。そのため、まずはこれらのモデルをDiffusersで利用可能な形式に変換する方法が紹介されています。

また、Negative Promptをいい感じに入力する手法のEasy Negativeについての解説もあります。さらに、Stable Diffusionはプロンプト(テキスト)を入力して画像を生成するものなのですが、ChatGPTを使用してプロンプトを作成する方法も紹介されています。その際にStable Diffusionではプロンプトが最大77トークンまでしか受け入れられないという制約がネックになることがり、この制約を解除する方法も説明されています。

ここから先は、一部のユーザーが大きな注目を浴びているLoRAについて、その仕組みや具体的な使用方法が紹介されています。また、本書の最終部分では、ControlNetの最新バージョン1.1について詳しく解説されています。

第6章「潜在表現と画像生成の深い関係」

6章と7章は内容がややマニアックになります。6章では、Stable Diffusionの設定項目であるCFG ScaleNoise Scaleについて詳しく解説されており、これらの機能の違いや、それぞれがどのように動作するのかが具体的な例を通じて紹介されています。また、**潜在表現(latent)**のハッキングについても触れられています。

第7章「Attentionハッキングと応用」

7章では、Attentionのハッキングについて解説されています。この内容は結構マニアックなトピックで、UNetを直接操作したりしています。他にはその他のStable Diffusionの応用例についても説明されています。さらに、スタイルを学習させるスタイルLoRAや、1つの参照画像から新しい画像を生成するControlNet Reference Onlyといった新しい技術も紹介されています。

さらには、360度画像の生成や、画像ではなく動画の生成AIなど、様々な応用例が提示されています。また、最新のAI技術トレンドについても触れられて本書は終わりとなります。

本書のいい点

内容の照会が終わったので、改めてこの本のいい所、悩ましい所を紹介したいと思います。

一つ目の大きなメリットは、新しい技術「Stable Diffusion」や「ControlNet1.1」について、最新の内容を学べる点です。現時点でこれらについて、一冊の本としてしっかりとまとめられたものは他にないと思います。そのため、この技術の最新情報を得るためには非常に有益な資料と言えるでしょう。

また、この本は学術的な内容に偏ることなく、実用に特化した内容に偏ることもなく、両者のバランスが絶妙に取れています。理論と実践、両方の視点からStable DiffusionやControlNetの仕組みを理解できるようになっています。

さらに、この本の特筆すべき点は、充実したサンプルコードの提供です。私が確認した時点では、合計70個近くのサンプルコードが提供されており、この本の内容を実際の動作を見ながら詳しく学べます。これらのサンプルコードは、読者が理論から実践まで、Stable DiffusionとControlNetの動作原理を理解する手助けとなるでしょう。

本書の悩ましい点

この本が提供する情報の量と質は確かに非常に素晴らしいものですが、一方でいくつかの問題点に触れておかなければならないと思います。

まず、前述の通り本書で説明されているプロセスの一部はWebUIではなく、Diffusersを用いて実装されています。これは、一部の設定や商品の流れを変更するなど、ハッキング的な操作を必要とするためです。Pythonでコードが書かれているため、処理は理解しやすい反面、DiffusersはWebUIほどメジャーなツールではないため、使い慣れていない人には少々難しく感じるかもしれません。

また、本書はマニアックな内容やデータも含んでいます。これらは必須の内容というよりは、理解を深めるための仮説検証てきないわゆる"やってみた"的な要素が強いです。これらはStable Diffusionに関する標準的な項目ではないので、難しいと感じたら無理に読み進める必要はないかと思います(内容自体は面白いです)。

さらに、本書ではLoRAの使用方法については触れていますが、その訓練方法については詳しく説明されていません。しかし、その点については著者のブログにて詳しく解説されているので、興味がある方はそちらを参照してみてください。

https://blog.shikoan.com/

さいごに(注意事項!)

以上、Stable DiffusionとControlNetについてのおすすめの本を紹介しました。生成AIはまだ新しい領域であり、権利や倫理的な問題で警戒が必要な部分も存在します。そのため、AIの透明性を担保し、楽しみつつも慎重に使うことが求められます。

参考までに以前私が書いたZennののBook「知らないと危険!RVCと倫理」があります。この本はRVCに焦点を当てていますが、考え方自体は他の生成AIにも応用可能だと思います。AI倫理について興味のある方は、一読してみてください。

https://zenn.dev/mossan_hoshi/books/20230601_rvc-ethics

この記事の元となった動画

https://youtu.be/83cWjHgcZW0

Discussion