【初心者でもかなり簡単!】Stable Diffusionで始める機械学習の世界 - AIを活用した創造的表現の新時代かも
Stable Diffusionに取組んだのは、2024年1月くらいでして、本記事執筆時の今は他のことに取組んでますので、後だしじゃんけんですが(;^_^A
機械学習技術の進化が止まらない今、Stable Diffusionなどの画像生成AIは創造性を広げる強力なツールだと思いますので紹介してみます。
一見難しそうに思えますが、実は初心者でも割に手軽に体験できるのが魅力です。
本記事は、Stable Diffusionを使った画像・アニメーション生成で私の方で実際に作成した実例を交えてますから、こういうのを入り口にして機械学習に取組むきっかけになれたらと思います。
と言うことで、前置きは、これくらいにして記事を進めますが、、
前置きで紹介したStable Diffusionなどの機械学習コ−ディングの延長スキルとかも、
人によっては、無駄技術という批判を浴びそうですけども(;^_^A
感受性を司るとこレベルで人を変革する方法論である潜在意識領のクリ-ニングの重要性を、
インパクトを強くして伝えてやりたいというので、例えば
STEP1の冒頭のイラスト画像
さらには、これのアニメ-ションgif化
これも機械学習のコ-ディングの延長でStable Diffusion等を使って私自身のWEBでの表現力が少しだけ増したことで作ることが出来たものです。
「む、無駄」。という声が聞こえてきそうで苦笑いでして、他にもほんとはやらないといけないこといっぱいあるんですけど、、、
作成手順は、npakaさんのStable Diffusion web UI (AUTOMATIC1111) の使い方のペ−ジを参考に
これをベ-スにDOCKERで環境構築しStable Diffusionのプロンプトや設定を弄りまわすことでStable Diffusionで画像生成の基本スキルを身に着けました。
npakaさんのペ-ジは、シンプルで初心者にも、わかりやすくお薦めです。
その後、その基本スキルを少しずつ高め発展させて鷹の目週末プログラマ−さんの画像から動画を作る新技術Stable-Video-Diffusion(SVD)環境構築 徹底解説のペ−ジを参考に静止画像を動画化し作ったものです。
ライフワ-ク的なサイトのデザイン図柄の自前製作に、ほんの少しは貢献している(はず)と言い聞かせています。
ちなみに、このスキルの方向性を少し変えれば、例えば特定のスタイルや特徴を画像生成に反映できるLoraを使用することで
以下のような、ずんだもんや葬送のフリ−レン( 久々にハマったアニメ作品 )の準ヒロインによせたもの等を含めて、こういうのも研究( 学び )の一環で、カスタマイズして自前で作ることが出来ます。
( 著作権などが、どこまで許容できるかグレ-なので、一定の制約のもとで、
著作権フリ-のずんだもんはともかく、
フェルンによせたものは、作品に敬意を込めて作ったんですが著作権者から指摘されたら削除しないといけなくなるかもしれませんけども )
百聞は一見に如かずなので、試しに作った事例を挙げれば
SEED値固定しモデル変更し編集することで以下のずんだもんを
高度なイラスト製作スキルを要せず容易にデフォルメしたり実写化して生成することが出来ます。
ちなみに、ずんだもんにしたのは(このペ-ジの延長ですね。無料のGPT2日本語モデルで学習セットを自前で作りファインチュ-ニングし、そこから音声チャットボットを作った流れ<名残>と申しますか、、)
あるいは、Stable Diffusion Web UIで使用できる拡張機能で、
生成画像の顔や手を自動検出して修正するADetailerを使うことでface部分の高精度化も可能です。
以下はAdetailerを適用中の画面。
さらに以下のようにComfyUIを導入し設定。
以下はSTEP1の冒頭アニメ−ションgifを前述したSVD環境構築のペ-ジを参考に作った時の設定ですが
静止画からアニメ動画(あるいは実写版)も比較的容易かつ自在に出来たりします。以下は、ずんだもんを思いっきりデフォルメしてComfyUIでgif化したもの
上記アニメgifは、個人研究でstable diffusionのADetailerを使い、かつLORAで作製後、さらにモデル変更し実写よりにデフォルメしたものです。
※今回デフォルメする際にフェルンの達観的で冷めた目を残存させる表現にするのが案外と難しかったです。
この葬送のフリ-レンというアニメの準ヒロイン、フェルンというキャラクタ-は、危機的状況になるほど腹が据わって冷静、達観的になるギャップが魅力です。
幼少期の過酷な境遇由来の死んだ目を微かに引き摺っているところに、なぜか意味不明に感情移入せざるをえなくなる。
特に、このキャラを演じた声優さんのフェルン幼少期の、かすれたような高音部の声質にも私は、謎に癒されました。
ここで簡単にStable Diffusionについて述べるなら、
これだって先に動画で紹介した音声応答チャットボットと同じく機械学習の技術の結晶と言えるものです。
これは、Latent Diffusion Model(LDM)に基づく最先端の画像生成モデルです。
手を動かし試行錯誤しながら、この分野について技術論文なども読み学んでいくうちに少しだけ詳しくなったので、やや専門的な話をすると、
Stable Diffusionは、画像生成に高次元ベクトル空間である「潜在空間」を活用する画期的な技術です。
潜在空間では、画像の特徴を表すベクトルが点として分布しており、それぞれのベクトルは画像の特定の属性(色、形、質感など)に対応します。
この潜在空間にランダムなベクトルを注入することで、ノイズを加え、多様な画像生成を可能にするんです。
拡散モデルという数学的手法を用いて、このノイズから徐々に目指す画像へと導きます。
このプロセスをStable DiffusionのWEB UIで体験すると、プロンプトに応じた画像が、
もやもやとした雲様のノイズから徐々に明瞭な画像へと変化する様子を実感できると思います。
このモデルの基盤となった拡散モデルは、ドイツの非営利団体LAION ( Large-scale Artificial Intelligence Open Network)で開発されました。
公式には訓練に使用された画像の正確な数は公開されていませんが、様々な情報源から約8億枚の画像が使われたと推測されています。
膨大なテキストと画像のデータセットで訓練された結果、これらのモデルは多様なスタイルやシナリオに対応する柔軟な画像生成を可能にし
非常に優れた性能を発揮していますが、これだけ高性能で無料で使えるのに未だ進化途上というのが驚きです。
この技術を使いこなせば、教育、エンターテインメント、デザインなど、さまざまな分野で創造的な表現の幅を広げることができます。
テキスト系にしろ画像系にしろ生成系AIは、社会を大きく変革する技術の一つでしょう。
時代の大きな変化の中で、pytonの機械学習のコ-ディングに取り組んだ経緯を述べた、このペ-ジで言及したkaggleに関心を持てない方でも、Stable Diffusion WEB UIは、直感的に操作が出来て高度なコ-ディングを使わなくても比較的簡単に実装出来ます。
尤もロ-カルで自在に運用しようと思ったら幾ばくか高性能のGPUが必要になりますし、
webui-user.batファイルの設定、編集の部分でPCのGPUに応じて少しだけコ-ディングの知識が必要です。
PyTorchのバージョンがCUDAのバージョンと合ってない場合は、互換性も確認しながらクリアしないといけません。
ですが、それさえ巧く設定できれば、私が先に自前で作製したようなアニメdiff生成なら、スキル習得及び運用は、( 難しそうに見えて )実は、さほど難しくありません。
なぜなら解説動画がYOU TUBEなどに沢山アップされているからです。
GPUがないPCでもwebui-user.batファイルの設定でCPUの設定にすれば、制限はありますが動かすことは可能です。
こういう分野に興味のある方は、とにかく悩みながらでも手さえ動かして試行錯誤してたら、自然に慣れて出来るようになりますから。
時代が大きく動く事が予想される中で、こういうのを学ぶ入り口にして社会人の一般スキルとして生成系AIを動かすベ-スの機械学習のpythonコ−ディングに興味を持って取り組むのも
ありではないでしょうか?
こういうのをきっかけ<入口>に学んで機械学習のコ-ドなどを読めて理解できるようになって、
応用、実装ができるようになると普通に尊敬されるようにもなると思いますから。
PS
おまけ
以下は、プロンプト研究の一環で実験的に作製したもの。Haiperで作りました。
AIアシスタント(Gemini 、chatGPT)とDALL_Eを組み合わせて4コマ漫画作成を依頼し、
さらにプロンプトを作って画像ベ-スでHaiperにプロンプトを入力。
昨今のAIは、組み合わせれば、プロンプトだけで、こんなことが出来るのだと少し感動しました。