機械学習

Stable Diffusionの使い方や仕組み・特徴について分かりやすく解説!

Stable Diffusionサムネ
記事内に商品プロモーションを含む場合があります
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、画像生成系AIとして話題のStable Diffusionの使い方や仕組み・特徴について解説していきたいと思います。画像生成系AIのStable Diffusionを理解して画像生成系AIの流れに乗り遅れないようにしましょう!

こんにちは!

データサイエンティストのウマたん(@statistics1012)です!

昨今は本当にAIの進化が凄まじいですが、その中でもテキストから画像を生み出す技術が多く登場しています。

この記事では、そのtext to imageの領域の中でも非常に話題のStable Diffusionの使い方や仕組み・特徴について解説していきたいと思います。

以下のYoutube動画でも解説しているので参考にしてみてください!

Stable Diffusionの使い方

Stable Diffusionを使う方法はいくつかありますが、一番簡単なのはHagging faceのサービスページで使う方法です。

ログイン不要で、以下の画面にテキスト生成のためのプロンプトを入れてあげれば誰でも簡単に生成できます。

Stable Diffusion

この画像では、「The distopia that AI threats the human」とテキストをインプットしてその結果が返ってきています。

他にも「DreamStudio」というサービスを使う方法や、Pythonで動かす方法などがありますが、とりあえずStable Diffusionを触って画像を作ってみたい!という方はHagging Faceを利用するのがよいでしょう!

その他、画像生成AIについて以下の記事で詳しく解説しているので、参考にしてみてください。

image_generation_ai
画像生成AIの仕組み・手法とおすすめサービス10選を紹介!当サイト【スタビジ】の本記事では、画像生成AIについて紹介します。画像生成AIの仕組みからその手法、おすすめのサービスまで徹底的に解説していきます!本記事を読んで画像生成AIに触れていきましょう!...

Stable Diffusionの仕組み・特徴

AI

それでは続いて、Stable Diffusionの仕組みと特徴について簡単に解説していきたいと思います。

Stable Diffusion自体の論文は公開されていませんが、詳しい解説が公式のGithub上に記載されています。

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リポジトリ

ウマたん
ウマたん
ざっくり要約すると「CLIPによるテキスト条件付けをして潜在拡散モデルで画像を生成したよ。学習にはLAION提供のデータを使ったよ」ということを言っているね!

さてここで、Stable Diffusionを理解する上でまずはCLIPと拡散モデルの2つを理解する必要があります。

実は昨今の画像生成系AIはこの2つをベースにしていることが多く、OpenAIが開発したDALL・E2もご多分に漏れずこの2つをベースにしたモデルになっています。

CLIP

CLIPとは2021年にOpenAIが発表した技術で、「Contrastive Language-Image Pretraining」の略です。

論文は以下。

CLIPとは、簡単に言うと、「大量の画像とテキストの組み合わせを学習し、画像とテキストの類似度を算出した上で、特定の画像に対して適切なテキストを選択してくれるようにするアプローチ」です。

以下の画像が論文に記載されている処理イメージです。CLIP

まず、左の工程でテキストと画像をぞれぞれベクトル化しそれらの情報から類似度を算出しています。

ちなみにテキストをベクトル化する際にはTransformerを利用しています。TransformerはGPTシリーズにベースにもなっている技術で非常にAI分野の発展に貢献した技術です。

画像のベクトル化にはCNNを利用しています。

簡略化して書くとこんなイメージ

DALLE2

犬の画像と犬というテキストの類似度を算出しています。

clip

続いて右の工程で犬の画像をインプットしてテキストの中から最も類似度が高いと考えられるdogが選択されています。

拡散モデル

そして拡散モデル(diffusion model)。

こちらは2020年に発表された技術です。

論文は以下。

拡散モデルは、画像生成発展のベースになっている技術です。

簡単に言うと、「ある画像に対してランダムノイズを徐々に当てていき完全にノイズになったものを逆工程でノイズを除いていき、元の画像とノイズを除いた後の画像が近くなるように学習する技術」です。

イメージはこのような図です。

 

拡散モデル

図のように犬の画像に対してノイズを乗せて、そのノイズを逆に取り除く際にノイズを取り除く部分は複数のパラメータを用いて定式化することが可能です。

ちなみに一般的にノイズには正規分布(ガウス分布)に従うノイズが当てられます。

この「ノイズを取り除く過程を定式化した部分のパラメータを調整して元の画像との差分を小さくする試み」が拡散モデルなのです!

拡散モデルに関しては以下の記事でまとめています!

拡散モデル
画像生成AIで頻出の拡散モデルについて分かりやすく解説! こんにちは! データサイエンティストのウマたん(@statistics1012)です! この記事では、「拡散...

そして実は前述のStable DiffusionのGithubリポジトリの文章に登場した「潜在拡散モデル」はこの拡散モデルを改良したものであり、Stable Diffusionの肝になってくるのです。

潜在拡散モデル

それでは潜在拡散モデル(Latent Diffusion Models)とはどんなモデルでしょう?

Stable Diffusionの元となっている潜在拡散モデル(Latent Diffusion Models)の論文は以下です。

ウマたん
ウマたん
ざっくり言うと、潜在拡散モデルとは「高次元の画像を低次元の空間に変換してそれに対して拡散過程を適用させて最終的に高次元の画像に復元するアプローチ」

拡散過程では画像の各ピクセルに対してノイズの付与と除去をしていたのですが、そうするとかなりの計算量になってしまいます。

そこで画像の特徴をおおまかに捉えた低次元の潜在空間に変換してあげて拡散過程を適用させて計算量を減らしているのがStable Diffusionで使われている潜在拡散モデルのアプローチになります。

Stable Diffusion(出典:High-Resolution Image Synthesis with Latent Diffusion Models

学習に用いているLAIONというデータセット

Stable DiffusionではLAIONという非営利組織が提供するLAION-5BというデータセットのサブセットLAION-AESTHETICSを利用して学習しています。

Stable Diffusion

LAION-5Bは、前述のCLIPでフィルタリングされた58億5千万組の画像・テキストデータセットです。

そのLAION-5Bから美しい画像のみをピックアップして構成されているLAION-AESTHETICSを元に学習することで高画質の美しい画像をアウトプットできるようにしているのも特徴の1つです。

Stable Diffusion まとめ

今回はStable Diffusionについて簡単にまとめてきました!

ここまでは、Stable Diffusionがどんな仕組みなのか見てきましたが、ザックリ理解した後は実際に手を動かしながらガシガシ使ってみることが大事です。

ウマたん
ウマたん
頭の良い人たちが研究開発した知識をガンガン社会実装していこう!

Stable Diffusionの使い方やプロンプトエンジニアリングの方法を詳しく解説したコース「画像生成系AI「Stable Diffusion」の使い方や画像生成のテクニックをPythonやAPIを使って学ぼう!」をUdemyで公開しておりますので興味のある方はチェックしてみてください!

StableDiffusion

Stable Diffusionをはじめとした生成系AIを利用する方法を知りたい方は当メディアが運営するスタアカの以下のコースを是非チェックしてみてください!

スタアカは業界最安級のAIデータサイエンススクールです。

スタアカトップ
【価格】ライトプラン:980円/月
プレミアムプラン:98,000円
【オススメ度】
【サポート体制】
【受講形式】オンライン形式
【学習範囲】データサイエンスを網羅的に学ぶ
実践的なビジネスフレームワークを学ぶ
SQLとPythonを組みあわせて実データを使った様々なワークを行う
マーケティングの実行プラン策定
マーケティングとデータ分析の掛け合わせで集客マネタイズ

・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析
・世界最大手小売企業のウォルマートの実データを用いた需要予測
・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定
・Webサイト構築してデータ基盤構築してWebマーケ×データ分析実践して稼ぐ
・生成系AIの基礎や使い方を学ぶ

AIデータサイエンスを学んで市場価値の高い人材になりましょう!

データサイエンスやAIの勉強方法は以下の記事でまとめています。

【5分で分かる】データサイエンティストに必要なスキルと独学勉強ロードマップ!当サイト【スタビジ】の本記事では、データサイエンティストに求められるスキルとそれを身に付けるための勉強法について徹底的にまとめていきます!入門者でも、しっかりデータサイエンティストについて理解しある程度独学で駆け出しの状態までいけることを目指します。...
AIのロードマップ
【これだけ!】AI(人工知能)の勉強ロードマップを徹底的に解説!当サイト【スタビジ】の本記事では、AIを勉強するロードマップについて徹底的に解説していきます。まずは、AIの概要について理解して統計学の基本知識・機械学習の基本知識・Pythonでの実装・インフラ周りの知識などを包括的に理解していきましょう!...

ここまで読んでいただきありがとうございます!

他にも既に様々なところでStable Diffusionについてかなり濃く解説されていますので是非そちらも参考にしてみてください。

スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら