結論
GANは、データを作る生成器と、本物か偽物かを見分ける識別器を競わせる敵対的な学習で、本物に近いデータを作れるようにする生成モデルです。VAEは、入力を潜在変数の確率分布に変換し、そこから元のデータを復元するように学習するオートエンコーダの一種で、識別器は使いません。
比較表
| 観点 | GAN | VAE |
|---|---|---|
| 正式名 | 敵対的生成ネットワーク(generative adversarial network) | 変分オートエンコーダ(variational autoencoder) |
| 提案 | 2014年(グッドフェローら) | 2013年(KingmaとWelling) |
| 構成 | 生成器と識別器 | エンコーダとデコーダ |
| 学習の仕組み | 生成器と識別器が競い合う(ミニマックスゲーム) | 再構成誤差とKL情報量の和を小さくする |
| 新しいデータを作るとき | ノイズを生成器に入力する | 標準正規分布から取り出した潜在変数をデコーダに入力する |
| 手元のデータを潜在変数に変換する仕組み | 基本の構成では持たない | エンコーダが潜在変数の平均と分散を出力する |
| 生成結果と学習の傾向 | 鮮明な画像を作りやすいが、学習が不安定になりやすく、モード崩壊が起こりうる | 学習は比較的安定しているが、生成画像はぼやけやすい |
| 代表的な派生モデル | DCGAN、Pix2Pix、CycleGAN | β-VAE、VQ-VAE、InfoVAE |
| シラバス項目 | 技術分野 項目30 データ生成 | 技術分野 項目24 オートエンコーダ |
それぞれの説明
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で作成し、別のAIが一次資料と照合。手順は編集方針)
公開日: 最終更新日: 最終確認日:
対応シラバス:シラバス第1.4版 技術30・技術24
出典
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目30 データ生成)2026年10月30日閲覧
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目24 オートエンコーダ)2026年10月30日閲覧
- Ian J. Goodfellow et al., Generative Adversarial Networks (2014)2026年10月30日閲覧
- Diederik P. Kingma, Max Welling, Auto-Encoding Variational Bayes (2013)2026年10月30日閲覧
ほかの違い比較51件
- アジャイルとウォーターフォールの違い
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い
- バギングとブースティングの違い
- バッチ正規化とレイヤー正規化の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い
- BERTとGPTの違い
- CBOWとスキップグラムの違い
- 分類問題と回帰問題の違い
- CNN・RNNとTransformerの違い
- 協調フィルタリングとコンテンツベースフィルタリングの違い
- 共分散と相関係数の違い
- データ汚染とAdversarial Attackの違い
- 決定木とランダムフォレストの違い
- 深さ優先探索と幅優先探索の違い
- 営業秘密と限定提供データの違い
- Faster R-CNNとYOLOの違い
- GANと拡散モデル(Diffusion Model)の違い
- GDPRと個人情報保護法の違い
- 勾配降下法と誤差逆伝播法の違い
- グリッドサーチとランダムサーチの違い
- ホールドアウト検証と交差検証の違い
- 画像分類(物体識別)と物体検出の違い
- 委託・第三者提供と共同利用の違い
- k-means法と階層的クラスタリングの違い
- 個人情報・個人データと保有個人データの違い
- 個人情報と個人識別符号の違い
- L1正則化とL2正則化の違い
- 最小二乗法と最尤法の違い
- LIMEとSHAPの違い
- LSTMとGRUの違い
- 機械学習とディープラーニングの違い
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い
- 正規化と正則化の違い
- 主成分分析(PCA)と特異値分解(SVD)の違い
- 主成分分析(PCA)とt-SNEの違い
- 適合率と再現率の違い
- プルーニング・量子化と蒸留の違い
- Q学習とSARSAの違い
- RNNとLSTMの違い
- Self-AttentionとSource-Target Attentionの違い
- セマンティック・インスタンスとパノプティックの違い
- 新規性と進歩性の違い
- シグモイド関数とソフトマックス関数の違い
- ソフトローとハードローの違い
- 強いAIと弱いAIの違い
- 教師あり学習・教師なし学習と強化学習の違い
- 特許権と著作権の違い
- 匿名加工情報と仮名加工情報の違い
- 転移学習とファインチューニングの違い
- 請負契約と準委任契約の違い
- Zero-shotとFew-shotの違い