こんにちは!
データサイエンティストのウマたん(@statistics1012)です!
昨今は本当にAIの進化が凄まじいですが、その中でもテキストから画像を生み出す技術が多く登場しています。
この記事では、そのtext to imageの領域の中でも非常に話題のStable Diffusionの使い方や仕組み・特徴について解説していきたいと思います。
以下のYoutube動画でも解説しているので参考にしてみてください!
目次
Stable Diffusionの使い方
Stable Diffusionを使う方法はいくつかありますが、一番簡単なのはHagging faceのサービスページで使う方法です。
ログイン不要で、以下の画面にテキスト生成のためのプロンプトを入れてあげれば誰でも簡単に生成できます。
この画像では、「The distopia that AI threats the human」とテキストをインプットしてその結果が返ってきています。
他にも「DreamStudio」というサービスを使う方法や、Pythonで動かす方法などがありますが、とりあえずStable Diffusionを触って画像を作ってみたい!という方はHagging Faceを利用するのがよいでしょう!
その他、画像生成AIについて以下の記事で詳しく解説しているので、参考にしてみてください。
Stable Diffusionの仕組み・特徴
それでは続いて、Stable Diffusionの仕組みと特徴について簡単に解説していきたいと思います。
Stable Diffusion自体の論文は公開されていませんが、詳しい解説が公式のGithub上に記載されています。
Stable Diffusionはオープンソースで世界中の誰でもプログラムを確認できるようになっているんです!
リポジトリの最初に書いてある文章を見てみましょう!
Stable Diffusion is a latent text-to-image diffusion model. Thanks to a generous compute donation from Stability AI and support from LAION, we were able to train a Latent Diffusion Model on 512×512 images from a subset of the LAION-5B database. Similar to Google’s Imagen, this model uses a frozen CLIP ViT-L/14 text encoder to condition the model on text prompts.
(出典:Stable Diffusionの公式Githubリポジトリ)
さてここで、Stable Diffusionを理解する上でまずはCLIPと拡散モデルの2つを理解する必要があります。
実は昨今の画像生成系AIはこの2つをベースにしていることが多く、OpenAIが開発したDALL・E2もご多分に漏れずこの2つをベースにしたモデルになっています。
CLIP
CLIPとは2021年にOpenAIが発表した技術で、「Contrastive Language-Image Pretraining」の略です。
論文は以下。
CLIPとは、簡単に言うと、「大量の画像とテキストの組み合わせを学習し、画像とテキストの類似度を算出した上で、特定の画像に対して適切なテキストを選択してくれるようにするアプローチ」です。
以下の画像が論文に記載されている処理イメージです。
まず、左の工程でテキストと画像をぞれぞれベクトル化しそれらの情報から類似度を算出しています。
ちなみにテキストをベクトル化する際にはTransformerを利用しています。TransformerはGPTシリーズにベースにもなっている技術で非常にAI分野の発展に貢献した技術です。
画像のベクトル化にはCNNを利用しています。
簡略化して書くとこんなイメージ
犬の画像と犬というテキストの類似度を算出しています。
続いて右の工程で犬の画像をインプットしてテキストの中から最も類似度が高いと考えられるdogが選択されています。
拡散モデル
そして拡散モデル(diffusion model)。
こちらは2020年に発表された技術です。
論文は以下。
拡散モデルは、画像生成発展のベースになっている技術です。
簡単に言うと、「ある画像に対してランダムノイズを徐々に当てていき完全にノイズになったものを逆工程でノイズを除いていき、元の画像とノイズを除いた後の画像が近くなるように学習する技術」です。
イメージはこのような図です。
図のように犬の画像に対してノイズを乗せて、そのノイズを逆に取り除く際にノイズを取り除く部分は複数のパラメータを用いて定式化することが可能です。
ちなみに一般的にノイズには正規分布(ガウス分布)に従うノイズが当てられます。
この「ノイズを取り除く過程を定式化した部分のパラメータを調整して元の画像との差分を小さくする試み」が拡散モデルなのです!
拡散モデルに関しては以下の記事でまとめています!
そして実は前述のStable DiffusionのGithubリポジトリの文章に登場した「潜在拡散モデル」はこの拡散モデルを改良したものであり、Stable Diffusionの肝になってくるのです。
潜在拡散モデル
それでは潜在拡散モデル(Latent Diffusion Models)とはどんなモデルでしょう?
Stable Diffusionの元となっている潜在拡散モデル(Latent Diffusion Models)の論文は以下です。
拡散過程では画像の各ピクセルに対してノイズの付与と除去をしていたのですが、そうするとかなりの計算量になってしまいます。
そこで画像の特徴をおおまかに捉えた低次元の潜在空間に変換してあげて拡散過程を適用させて計算量を減らしているのがStable Diffusionで使われている潜在拡散モデルのアプローチになります。
(出典:High-Resolution Image Synthesis with Latent Diffusion Models)
学習に用いているLAIONというデータセット
Stable DiffusionではLAIONという非営利組織が提供するLAION-5BというデータセットのサブセットLAION-AESTHETICSを利用して学習しています。
LAION-5Bは、前述のCLIPでフィルタリングされた58億5千万組の画像・テキストデータセットです。
そのLAION-5Bから美しい画像のみをピックアップして構成されているLAION-AESTHETICSを元に学習することで高画質の美しい画像をアウトプットできるようにしているのも特徴の1つです。
Stable Diffusion まとめ
今回はStable Diffusionについて簡単にまとめてきました!
ここまでは、Stable Diffusionがどんな仕組みなのか見てきましたが、ザックリ理解した後は実際に手を動かしながらガシガシ使ってみることが大事です。
Stable Diffusionの使い方やプロンプトエンジニアリングの方法を詳しく解説したコース「画像生成系AI「Stable Diffusion」の使い方や画像生成のテクニックをPythonやAPIを使って学ぼう!」をUdemyで公開しておりますので興味のある方はチェックしてみてください!
画像生成系AIのStableDiffusionの基礎を理解したいのであればこれ!今なら購入時に「VGRBCQDF」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください!
Stable Diffusionをはじめとした生成系AIを利用する方法を知りたい方は当メディアが運営するスタアカの以下のコースを是非チェックしてみてください!
スタアカは業界最安級のAIデータサイエンススクールです。
【価格】 | ライトプラン:1280円/月 プレミアムプラン:149,800円 |
---|---|
【オススメ度】 | |
【サポート体制】 | |
【受講形式】 | オンライン形式 |
【学習範囲】 | データサイエンスを網羅的に学ぶ 実践的なビジネスフレームワークを学ぶ SQLとPythonを組みあわせて実データを使った様々なワークを行う マーケティングの実行プラン策定 マーケティングとデータ分析の掛け合わせで集客マネタイズ |
・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
・生成系AIの基礎や使い方を学ぶ
AIデータサイエンスを学んで市場価値の高い人材になりましょう!
データサイエンスやAIの勉強方法は以下の記事でまとめています。
ここまで読んでいただきありがとうございます!
他にも既に様々なところでStable Diffusionについてかなり濃く解説されていますので是非そちらも参考にしてみてください。
・【しばらく全文公開】画像生成のしくみから応用まるわかり!
・Stable Diffusion with Diffusers
・Stable Diffusion を基礎から理解したい人向け論文攻略ガイド【無料記事】
・世界に衝撃を与えた画像生成AI「Stable Diffusion」を徹底解説!