結論
GANは、データを作る生成器と、本物か偽物かを見分ける識別器を競わせる敵対的な学習で、本物に近いデータを作れるようにする生成モデルです。VAEは、入力を潜在変数の確率分布に変換し、そこから元のデータを復元するように学習するオートエンコーダの一種で、識別器は使いません。
比較表
| 観点 | GAN | VAE |
|---|---|---|
| 正式名 | 敵対的生成ネットワーク(generative adversarial network) | 変分オートエンコーダ(variational autoencoder) |
| 提案 | 2014年(グッドフェローら) | 2013年(KingmaとWelling) |
| 構成 | 生成器と識別器 | エンコーダとデコーダ |
| 学習の仕組み | 生成器と識別器が競い合う(ミニマックスゲーム) | 再構成誤差とKL情報量の和を小さくする |
| 新しいデータを作るとき | ノイズを生成器に入力する | 標準正規分布から取り出した潜在変数をデコーダに入力する |
| 手元のデータを潜在変数に変換する仕組み | 基本の構成では持たない | エンコーダが潜在変数の平均と分散を出力する |
| 生成結果と学習の傾向 | 鮮明な画像を作りやすいが、学習が不安定になりやすく、モード崩壊が起こりうる | 学習は比較的安定しているが、生成画像はぼやけやすい |
| 代表的な派生モデル | DCGAN、Pix2Pix、CycleGAN | β-VAE、VQ-VAE、InfoVAE |
| シラバス項目 | 技術分野 項目30 データ生成 | 技術分野 項目24 オートエンコーダ |
最終確認日:2026年10月30日
それぞれの説明
GAN
GAN(敵対的生成ネットワーク)は、2014年にグッドフェローらが提案しました。生成器はノイズを受け取ってデータを作り、識別器は入力が訓練データ(本物)か生成器の出力(偽物)かを見分けます。識別器は見分ける力を高めるように、生成器は識別器をだませるように学習します。この競い合いを繰り返すと、生成器は本物と区別しにくいデータを作れるようになります。
鮮明な画像を作りやすい一方、2つのネットワークの力のバランスが崩れると学習が不安定になります。生成器が識別器をだましやすい一部の種類のデータばかり作るモード崩壊も、代表的な課題です。
VAE
VAE(変分オートエンコーダ)は、2013年にKingmaとWellingが発表しました。エンコーダは入力ごとに正規分布の平均と分散を出力し、潜在変数を点ではなく分布で表します。その分布から取り出した値をデコーダに通し、入力を復元するように学習します。
損失は、入力をどれだけ再現できたかを表す再構成誤差と、エンコーダの分布と標準正規分布とのずれを表すKL情報量の和です。分布から値を取り出す操作は再パラメータ化トリックで書き直し、誤差逆伝播法で学習できるようにします。1つの損失を小さくするだけなので学習は比較的安定していますが、生成画像はぼやけやすいとされます。
共通点と違い
どちらも、学習後はランダムな値を入力するだけで新しいデータを作れる生成モデルです。違いは学習の仕組みにあります。GANは識別器との競い合いで学び、VAEは識別器を持たず、復元の誤差と分布のずれを小さくして学びます。VAEはエンコーダで手元のデータを潜在変数に変換できるので、データの特徴を潜在空間で扱いたい場面にも使われます。
見分けるコツ
- 「識別器」「敵対的」「本物か偽物か」という言葉があればGANです。「エンコーダが平均と分散を出力する」「再パラメータ化」「KL情報量」とあればVAEです。GANの生成器も潜在変数(ノイズ)を受け取るので、「潜在変数」という言葉だけでは決められません。
- シラバスでの置き場所も違います。GANは項目30「データ生成」、VAEは項目24「オートエンコーダ」のキーワードです。
- 拡散モデルを加えた3択にも注意します。ノイズを段階的に取り除く過程を学習するのは拡散モデルで、GANでもVAEでもありません。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
VAEの損失に含まれるKL情報量の項は、エンコーダが出力する分布を標準正規分布に近づけ、潜在空間を整える働きをする。
答えを見る
答え ◯ 正しい
もう1つの項である再構成誤差が、入力の再現を担います。KL情報量の項があるため、標準正規分布から取り出した値をデコーダに通したときに、意味のあるデータになりやすくなります。
-
2014年に提案された元のGANでは、生成器は訓練データの画像を入力として受け取り、それを少し変形して偽物を作る。
答えを見る
答え × 誤り
生成器が受け取るのはランダムなノイズです。訓練データを直接見るのは識別器で、生成器は識別器から返る誤差を通して、間接的に本物らしさを学びます。
-
基本的な構成のVAEとGANは、学習を終えた後に新しいデータを作るとき、ランダムに取り出した値をネットワークに入力して生成する。
答えを見る
答え ◯ 正しい
VAEは標準正規分布から取り出した潜在変数をデコーダに、GANはノイズを生成器に入力します。どちらも、生成のときに訓練データは必要ありません。
関連問題
出典
ほかの違い比較
- アジャイルとウォーターフォールの違い 進め方とAI開発での使い分け
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い 罰則の重さ
- バギングとブースティングの違い 並列か逐次か、減らす誤差の違い
- バッチ正規化とレイヤー正規化の違い 平均と分散を計算する範囲の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い 更新回数とぶれ
- BERTとGPTの違い エンコーダとデコーダ、学習課題の違い
- CBOWとスキップグラムの違い 予測の向きと学習の速さ
- 分類問題と回帰問題の違い 出力の形で見分けるコツと評価指標
- CNN・RNNとTransformerの違い 得意なデータと計算の並列性
- 協調フィルタリングとコンテンツベースフィルタリングの違い 仕組み
- 共分散と相関係数の違い 式の関係と単位・値の範囲
- データ汚染とAdversarial Attackの違い 学習時か推論時かと対策
- 決定木とランダムフォレストの違い 解釈のしやすさと精度・安定性
- 深さ優先探索と幅優先探索の違い 調べる順番・最短解・メモリ
- 営業秘密と限定提供データの違い 3つの要件と刑事罰の有無
- Faster R-CNNとYOLOの違い 2段階型と1段階型、速度と精度
- GANと拡散モデル(Diffusion Model)の違い 学習と生成の仕組み
- 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の違い 与える例の数と重みを更新しない点