結論
GANは、生成器と識別器を競わせて学習し、ノイズを生成器に1回通すだけで本物らしいデータを作る生成モデルです。拡散モデルは、データにノイズを少しずつ加える過程を逆にたどり、ノイズを段階的に取り除く処理を学習する生成モデルで、学習が安定しやすく多様なデータを作りやすい一方、生成には多くのステップがかかります。
比較表
| 観点 | GAN | 拡散モデル(Diffusion Model) |
|---|---|---|
| 英語 | Generative Adversarial Network | Diffusion Model |
| 提案 | 2014年(Ian Goodfellowら) | 2015年に基本の考え方(Sohl-Dicksteinら)、2020年のDDPM(Hoら)で高画質の生成を実現 |
| 構成 | 生成器と識別器の2つのネットワーク | ノイズを推定する1つのネットワーク(U-Netがよく使われる) |
| 学習の仕組み | 識別器は本物と偽物を見分けるように、生成器は識別器をだますように、競い合って学習する | 訓練データにノイズを加えたものから、加えたノイズを当てるように学習する(DDPMでは、推定したノイズと実際のノイズの二乗誤差を小さくする) |
| 新しいデータの作り方 | ランダムなノイズを生成器に1回通す | 純粋なノイズから出発し、ノイズ除去を何度も繰り返す(DDPMでは1,000ステップ) |
| 生成の速さ | 速い | 遅い(ステップ数を減らす工夫が研究されている) |
| 学習の安定性と多様性 | 学習が不安定になりやすく、モード崩壊で多様性が失われることがある | 学習が安定しやすく、データの分布を広くカバーしやすい |
| 代表的なモデル・応用 | DCGAN、Pix2Pix、CycleGAN | DDPM、潜在拡散モデル(Stable Diffusionのもと)、DALL-E 2(画像を作る部分に拡散モデルを使う) |
| シラバス項目 | 技術分野 項目30 データ生成 | 技術分野 項目30 データ生成 |
| G検定での問われ方 | 生成器と識別器の役割、モード崩壊などの課題、派生モデルの違い | ノイズを加える過程と取り除く過程のどちらを学習するか、生成に時間がかかる点、画像生成AIでの使われ方 |
最終確認日:2026年11月1日
それぞれの説明
GANと拡散モデルは、どちらも訓練データに似た新しいデータを作る生成モデルです。違いは、学習の仕組みと、生成にかかる手間にあります。
GAN
GAN(敵対的生成ネットワーク)は、2014年にIan Goodfellowらが提案しました。生成器はノイズを受け取ってデータを作り、識別器は入力が訓練データ(本物)か生成器の出力(偽物)かを見分けます。識別器は見分ける力を、生成器はだます力を高めるように学習し、この競い合いを通じて本物らしいデータを作れるようになります。
学習後は、ノイズを生成器に1回通すだけで画像が得られるので、生成は速く進みます。一方、2つのネットワークの力のバランスが崩れると学習が不安定になり、似たデータばかり作るモード崩壊も起こりえます。
拡散モデル
拡散モデルは、2015年にSohl-Dicksteinらが基本の考え方を提案し、2020年にHoらのDDPMが高画質の画像生成を実現して注目を集めました。訓練データに少しずつノイズを加えて、ほぼ完全なノイズにする過程を考え、その逆向きに、ノイズを1段ずつ取り除く処理をネットワークに学習させます。DDPMはネットワークにU-Netを使い、加えられたノイズを推定させて、実際のノイズとの二乗誤差を小さくします。
生成するときは、純粋なノイズから出発してノイズ除去を繰り返します。DDPMでは1,000ステップでした。識別器と競わせる必要がなく、損失も単純な二乗誤差なので、学習は安定しやすくなります。作るデータの多様性も保ちやすいとされます。その代わり、ネットワークを何度も計算するので、生成には時間がかかります。
画像生成での位置づけ
2021年、DhariwalとNicholは、ImageNetの画像生成で、拡散モデルが当時の最高水準の生成モデルを上回る画質を示したと報告しました。その後、Stable Diffusionのもとになった潜在拡散モデルやDALL-E 2など、文章から画像を作る生成AIで拡散モデルが広く使われるようになりました。1回の計算で済む速さが求められる場面では、GANも選択肢に残ります。
見分けるコツ
- 「識別器」「敵対的」「本物か偽物か」とあればGAN、「ノイズを段階的に取り除く」「逆拡散」とあれば拡散モデルです。
- 速さと安定性を逆の組で覚えます。1回の計算で作れて速いのがGAN、学習が安定しやすく多様なデータを作りやすい代わりに生成に時間がかかるのが拡散モデルです。
- DDPMなどの基本的な拡散モデルで学習するのは、ノイズを取り除く向きだけです。ノイズを加える向きは、あらかじめ決めた手順で計算します。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
2021年に発表されたDhariwalとNicholの論文は、ImageNetの画像生成で、拡散モデルが当時の最高水準のGANを上回る画質を得たと報告した。
答えを見る
答え ◯ 正しい
論文の題名も「Diffusion Models Beat GANs on Image Synthesis」です。比較の相手は当時最高水準のBigGAN-deepで、拡散モデルのほうがデータの分布もよくカバーしたと報告しています。
-
生成されるデータの種類が一部に偏るモード崩壊は、GANよりも拡散モデルで起こりやすい課題として知られている。
答えを見る
答え × 誤り
モード崩壊は、生成器と識別器を競わせるGANの代表的な課題です。拡散モデルは、データの分布を広くカバーしやすいとされます。
-
元の論文で提案されたPix2PixとCycleGANは、ノイズを段階的に取り除く拡散モデルの仕組みを使って、画像を別の種類の画像に変換する。
答えを見る
答え × 誤り
どちらもGANの派生モデルです。Pix2Pixは条件付きのGANで、CycleGANは敵対的な損失に循環一貫性損失を加えたGANで、画像を変換します。
関連問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目30 データ生成)
- Ian J. Goodfellow et al., Generative Adversarial Nets (2014) (Abstract)
- Jascha Sohl-Dickstein, Eric A. Weiss, Niru Maheswaranathan, Surya Ganguli, Deep Unsupervised Learning using Nonequilibrium Thermodynamics (2015) (Abstract)
- Jonathan Ho, Ajay Jain, Pieter Abbeel, Denoising Diffusion Probabilistic Models (2020) (3.4 Simplified training objective、4 Experiments(T = 1000、U-Net))
- Prafulla Dhariwal, Alex Nichol, Diffusion Models Beat GANs on Image Synthesis (2021) (Abstract)
- Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, Björn Ommer, High-Resolution Image Synthesis with Latent Diffusion Models (2021) (Abstract)
- Aditya Ramesh, Prafulla Dhariwal, Alex Nichol, Casey Chu, Mark Chen, Hierarchical Text-Conditional Image Generation with CLIP Latents (2022) (Abstract(DALL-E 2のデコーダに拡散モデルを使用))
- Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros, Image-to-Image Translation with Conditional Adversarial Networks (2016) (Abstract)
- Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (2017) (Abstract)
ほかの違い比較
- アジャイルとウォーターフォールの違い 進め方とAI開発での使い分け
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い 罰則の重さ
- バギングとブースティングの違い 並列か逐次か、減らす誤差の違い
- バッチ正規化とレイヤー正規化の違い 平均と分散を計算する範囲の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い 更新回数とぶれ
- BERTとGPTの違い エンコーダとデコーダ、学習課題の違い
- CBOWとスキップグラムの違い 予測の向きと学習の速さ
- 分類問題と回帰問題の違い 出力の形で見分けるコツと評価指標
- CNN・RNNとTransformerの違い 得意なデータと計算の並列性
- 協調フィルタリングとコンテンツベースフィルタリングの違い 仕組み
- 共分散と相関係数の違い 式の関係と単位・値の範囲
- データ汚染とAdversarial Attackの違い 学習時か推論時かと対策
- 決定木とランダムフォレストの違い 解釈のしやすさと精度・安定性
- 深さ優先探索と幅優先探索の違い 調べる順番・最短解・メモリ
- 営業秘密と限定提供データの違い 3つの要件と刑事罰の有無
- Faster R-CNNとYOLOの違い 2段階型と1段階型、速度と精度
- GANとVAEの違い 識別器の有無と学習の仕組み
- GDPRと個人情報保護法の違い 法的根拠・本人の権利・制裁金
- 勾配降下法と誤差逆伝播法の違い 勾配を使う側と求める側
- グリッドサーチとランダムサーチの違い 試行回数の決まり方と効率
- ホールドアウト検証と交差検証の違い 分割回数・計算量・使い分け
- 画像分類(物体識別)と物体検出の違い 出力の形と使い分け
- 委託・第三者提供と共同利用の違い 同意の要否と受け手が使える範囲
- k-means法と階層的クラスタリングの違い クラスタ数を決める時期と計算量
- 個人情報・個人データと保有個人データの違い 範囲の入れ子とかかる義務
- 個人情報と個人識別符号の違い 包含関係と当たる例・当たらない例
- L1正則化とL2正則化の違い 罰則の形と重みが0になるか
- 最小二乗法と最尤法の違い 推定の基準と結果が一致する条件
- LIMEとSHAPの違い 局所近似とシャープレイ値の使い分け
- LSTMとGRUの違い ゲートの数と記憶セルの有無
- 機械学習とディープラーニングの違い 包含関係と特徴量の決め方
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い 外れ値への強さ
- 正規化と正則化の違い 目的と代表的な手法を表で整理
- 主成分分析(PCA)と特異値分解(SVD)の違い 目的と計算の関係
- 主成分分析(PCA)とt-SNEの違い 線形か非線形か、保つ構造の違い
- 適合率と再現率の違い 分母の違いと重視する場面
- プルーニング・量子化と蒸留の違い 何を減らすかと元モデルの扱い
- Q学習とSARSAの違い 更新式の1か所と方策オン・オフ
- RNNとLSTMの違い 記憶セルと勾配消失の起きにくさ
- Self-AttentionとSource-Target Attentionの違い Q・K・Vの出どころ
- セマンティック・インスタンスとパノプティックの違い 背景と個体の扱い
- 新規性と進歩性の違い 比べ方とAI発明での論点
- シグモイド関数とソフトマックス関数の違い 出力の合計と使い分け
- ソフトローとハードローの違い 法的拘束力の有無と日本・EUの例
- 強いAIと弱いAIの違い 心をもつと考えるかの違い
- 教師あり学習・教師なし学習と強化学習の違い 学習の手がかりと代表例
- 特許権と著作権の違い 発生・保護対象・期間とAIでの使い分け
- 匿名加工情報と仮名加工情報の違い 加工の程度と第三者提供の可否
- 転移学習とファインチューニングの違い 重みを固定するか更新するか
- 請負契約と準委任契約の違い 完成義務とAI開発での使い分け
- Zero-shotとFew-shotの違い 与える例の数と重みを更新しない点