🔰 初心者
AIが画像を「生成」するって、具体的にどういう仕組みなんですか?
🎓 上級者
画像生成AIは、大量の画像データからパターンを学習し、潜在空間(Latent Space)というコンパクトな表現を経由して新しい画像を作り出すんだ。主なアプローチはVAE、GAN、拡散モデルの3つだよ。
潜在空間(Latent Space)とは
画像の本質的な特徴を低次元のベクトルに圧縮した空間。
例えば「顔画像」なら、潜在空間の各次元が「髪の長さ」「肌の色」「笑顔の度合い」などに対応するイメージ。
この潜在空間の点を操作することで、新しい画像を生成したり、画像の特徴を変えたりできる。
ランダムサンプリング:潜在空間からランダムに点を選んでデコーダーに通すことで、新しい画像を生成する。確率分布(正規分布など)に従ってサンプリングする。
🔄 VAE(変分オートエンコーダ)
🔰 初心者
オートエンコーダは「入力を圧縮→復元」するモデルですよね。それで画像を生成できるんですか?
🎓 上級者
普通のオートエンコーダは入力の再構成が目的で、新しい画像は作れない。でもVAEは潜在表現を確率分布(正規分布)にするから、そこからランダムサンプリングして新しい画像を生成できるんだ。
⚔️ GAN(敵対的生成ネットワーク)
🔰 初心者
GANって「敵対的」っていう名前がついてますけど、何と何が戦っているんですか?
🎓 上級者
Generator(生成器)とDiscriminator(識別器)の2つのネットワークが戦うんだ。Generatorは「本物そっくりの偽画像」を作ろうとし、Discriminatorは「本物か偽物か」を見破ろうとする。この競争で両方が上達していく仕組みだよ。
GAN(Generative Adversarial Network / Goodfellow, 2014年)
GeneratorとDiscriminatorの敵対的学習で高品質な画像を生成するモデル
Generator(生成器):ランダムノイズ z を入力して偽画像を生成。「贋作師」の役割。
Discriminator(識別器):画像が本物か偽物かを判定。「鑑定士」の役割。
学習:Generatorは「Discriminatorを騙す」、Discriminatorは「偽物を見破る」ように同時に学習。ゲーム理論のミニマックスゲーム。
弱点:学習が不安定(モード崩壊:同じ画像ばかり生成する問題がある)。
🎨 GANの発展モデル
🎓 上級者
たくさんあるよ。DCGANがCNNで高品質化、Pix2PixとCycleGANが画像変換、StyleGANが超リアルな顔生成を実現したんだ。
| モデル | 年 | 特徴 | 用途 |
| DCGAN | 2015 | Generator・DiscriminatorにCNNを導入。安定した学習と高品質な画像生成 | 画像生成全般 |
| Pix2Pix | 2017 | ペアの画像(入力A→出力B)が必要。条件付きGAN | 線画→カラー、地図→航空写真 |
| CycleGAN | 2017 | ペアなしで2つのドメイン間の変換。サイクル整合性損失を使用 | 馬→シマウマ、写真→絵画 |
| StackGAN | 2017 | テキスト→画像を2段階で生成。Stage-I(低解像度)→ Stage-II(高解像度) | テキスト説明から鳥・花の画像を生成 |
| StyleGAN | 2018 | 「スタイル」(粗い特徴〜細かい特徴)を段階的に制御して生成 | 超リアルな顔画像生成 |
| StyleGAN2 | 2019 | StyleGANのアーティファクト(水滴状のノイズ)を除去。さらに高品質に | 高解像度の顔・アート生成 |
Pix2Pix
ペア画像が必要なImage-to-Image変換
- 入力A→出力Bの対応するペアが学習データに必要
- 例:線画と完成画のペアで学習
- 条件付きGAN(Conditional GAN)の一種
- 制約:ペアデータの収集が大変
CycleGAN
ペアなしでドメイン変換
- ペアデータが不要。2つのドメインの画像群だけでOK
- A→B→Aのサイクルで元に戻る「サイクル整合性」で学習
- 例:馬の画像群+シマウマの画像群だけで変換可能
- Pix2Pixより応用範囲が広い
🌊 拡散モデル(Diffusion Model)
🔰 初心者
最近話題のDALL·EやStable Diffusionは何を使っているんですか?
🎓 上級者
これらは拡散モデルをベースにしているよ。仕組みは意外とシンプルで、「画像にノイズを加える過程」と「ノイズを除去して画像を復元する過程」の2ステップだ。
拡散モデル(Diffusion Model)
画像にノイズを段階的に加え、逆にノイズを除去する過程を学習して画像を生成するモデル
拡散過程(Forward):元画像にガウスノイズを少しずつ加えて完全なノイズにする。
逆拡散過程(Reverse):NNが各ステップで「ノイズをどのくらい除去するか」を学習。ランダムノイズから段階的に画像を復元する。
GANとの違い:
- GANの「Generator vs Discriminator」の不安定な学習が不要
- 学習が安定で、モード崩壊が起きにくい
- 画像の多様性が高い
- 弱点:生成に多数のステップが必要で遅い
🎨 Stable Diffusion / 潜在拡散モデル
🔰 初心者
Stable Diffusionってよく聞きますが、普通の拡散モデルと何が違うんですか?
🎓 上級者
通常の拡散モデルはピクセル空間で直接ノイズ除去するから計算コストが膨大だった。Stable Diffusionは潜在拡散モデル(Latent Diffusion Model / LDM)を使い、VAEで圧縮した潜在空間上で拡散プロセスを行うことで、計算効率を大幅に改善したんだ。
Stable Diffusion / 潜在拡散モデル(Stability AI / CompVis, 2022年)
VAEで圧縮した潜在空間上で拡散プロセスを実行し、高品質な画像を効率的に生成するモデル
潜在拡散モデル(Latent Diffusion Model / LDM):ピクセル空間ではなく、VAEのエンコーダーで圧縮した潜在空間上でノイズの付加・除去を行う。画像サイズを大幅に圧縮した状態で処理するため、計算効率が飛躍的に向上。
構成要素:
- VAE:画像を潜在空間に圧縮(エンコーダー)し、潜在表現から画像に復元(デコーダー)する
- U-Net:潜在空間上でノイズを段階的に除去するニューラルネットワーク
- CLIP(Text Encoder):テキストプロンプトをベクトルに変換し、U-Netに条件として与える(テキスト条件付け)
オープンソース公開:Stability AI が学習済みモデルをオープンソースとして公開。誰でも無料で利用・改良できるようになり、AIの民主化に大きく貢献した。
意義:従来の拡散モデルは高品質だが計算コストが課題だった。LDMにより一般的なGPUでも高品質な画像生成が可能になった。
🔗 CLIP — テキストと画像をつなぐ
🔰 初心者
DALL·E 2は「テキストから画像を生成」しますよね。テキストと画像はどうやって結びつけているんですか?
🎓 上級者
そこで重要なのがCLIP(Contrastive Language–Image Pre-training)だよ。テキストと画像を同じベクトル空間にマッピングして、テキストと画像の対応関係を学習するんだ。
CLIP(Contrastive Language–Image Pre-training / OpenAI, 2021年)
テキストと画像を同じベクトル空間にマッピングし、対応関係を学習するモデル
構成:Text Encoder(Transformer)とImage Encoder(ViT/CNN)の2つのエンコーダー。
学習:対応するテキスト-画像ペアのコサイン類似度を最大化、非対応ペアの類似度を最小化する対照学習(Contrastive Learning)。
コサイン類似度:2つのベクトルの方向の近さを-1〜1で表す指標。1に近いほど類似。
Zero-shot分類:「猫の画像」「犬の画像」等のテキストと入力画像の類似度を比較するだけで、学習していないカテゴリでも分類可能。
🖼️ DALL·E 2 と GLIDE
🔰 初心者
DALL·E 2はどうやってテキストから画像を作っているんですか?
🎓 上級者
DALL·E 2はCLIP+拡散モデルの組み合わせだよ。テキストからCLIPの画像埋め込みを生成し、それをガイドにして拡散モデルで画像を作るんだ。
誘導拡散(Guided Diffusion)
拡散モデルの逆拡散過程を、テキストやラベルなどの条件で誘導して望んだ画像を生成する技術。
Classifier Guidance:分類器の勾配を使って誘導
Classifier-Free Guidance:分類器を使わず、条件付き/条件なしの出力の差で誘導(GLIDEで採用)
条件の強さを調整するパラメータで、テキストへの忠実度と画像の多様性のバランスを制御できる。
📊 画像生成手法の比較
| 手法 | 仕組み | 長所 | 短所 | 代表モデル |
| VAE | 確率分布に圧縮→サンプリング | 学習が安定。潜在空間が滑らか | 画像がぼやけやすい | VAE, VQ-VAE |
| GAN | Generator vs Discriminatorの競争 | 鮮明で高品質な画像 | 学習不安定。モード崩壊 | DCGAN, StyleGAN2 |
| 拡散モデル | ノイズ除去の逆過程を学習 | 高品質+安定+多様性 | 生成が遅い(多ステップ) | DALL·E 2, GLIDE |
| 潜在拡散モデル(LDM) | VAEの潜在空間上で拡散 | 拡散モデルの計算効率を大幅改善 | VAEの品質に依存 | Stable Diffusion |
| CLIP | テキスト-画像の対応を学習 | Zero-shot分類。生成のガイド | 単体では生成できない | CLIP |
📝 まとめ
G検定で押さえるべきポイント
- 潜在空間:画像の特徴を低次元ベクトルに圧縮した空間。ここからサンプリングして新画像を生成
- VAE:潜在表現を確率分布にしてランダムサンプリングで生成。安定だが画像がぼやけがち
- VQ-VAE:潜在表現を離散コードに量子化。DALL·E(初代)で使用
- GAN:Generator(生成器)vs Discriminator(識別器)の敵対的学習。高品質だが不安定
- DCGAN:GANにCNNを導入。Pix2Pix:ペア画像で変換。CycleGAN:ペアなしで変換(Image-to-Image型)
- StyleGAN / StyleGAN2:スタイルを段階的に制御し超リアルな顔を生成
- 拡散モデル:ノイズを段階的に加え→逆にノイズを除去して生成。高品質+安定で現在の主流
- Stable Diffusion / 潜在拡散モデル(LDM):VAEで圧縮した潜在空間上で拡散プロセスを実行→計算効率を大幅改善。U-Netでノイズ除去、CLIPでテキスト条件付け。オープンソースで公開されAIの民主化に貢献
- CLIP:Text EncoderとImage Encoderでテキスト-画像を同じ空間にマッピング。コサイン類似度で比較。Zero-shot画像分類が可能
- DALL·E 2:CLIP+拡散モデル。テキストからCLIPの画像埋め込みを予測→拡散モデルで画像化
- GLIDE:テキスト条件付き拡散モデル。誘導拡散でテキストに忠実な画像を生成
- 誘導拡散:拡散過程をテキスト等の条件で誘導する技術。Classifier-Free Guidanceが主流