情報処理試験を勉強していると、「GAN(敵対的生成ネットワーク)って何?生成AIと何が違うの?」と混乱しがちです。

対象試験と出題頻度

GAN(敵対的生成ネットワーク)は、基本情報技術者・応用情報技術者の出題範囲に含まれるテーマです。

IPAシラバス(FE ver9.0 / AP ver7.2)で「ディープラーニング」の関連用語として明記されており、生成モデルの代表例として他のAI用語と合わせて問われます。

詳細をクリックして確認
対象試験:
基本情報技術者
応用情報技術者
出題頻度:
★★★☆☆
ランクC(応用)余裕があれば覚える

用語の定義

GAN(Generative Adversarial Network / 敵対的生成ネットワーク)とは、一言で言うと

 「偽データを作る”生成器”と、本物か偽物かを見破る”識別器”を競わせて学習させるディープラーニングの手法

のことです。2014年にIan Goodfellowらが発表しました。

イメージとしては、贋作師と鑑定士の勝負です。

贋作師(生成器)は本物そっくりの絵画を作ろうとし、鑑定士(識別器)はそれが本物か偽物かを見抜こうとします。互いに腕を磨き合ううちに、贋作師の作品は本物と区別がつかないレベルになっていきます。

GANの学習は、まさにこの競争の繰り返しです。

📊 GANの基本情報

項目 内容
正式名称 Generative Adversarial Network(敵対的生成ネットワーク)
分類 ディープラーニング(深層学習)の生成モデル
構成要素 生成器(Generator)と 識別器(Discriminator)
発表 2014年 Ian Goodfellow ら
代表的な用途 画像生成、超解像、スタイル変換 など

解説

従来の機械学習は「入力データからパターンを見つけて分類・予測する」ことが主な目的でした。しかし、「まったく新しいデータを生み出す」ことは難しい課題として残っていました。

この課題に対して「2つのネットワークを敵対させる」という発想で突破したのがGANです。

生成器と識別器の仕組み

GANの中核は、役割の異なる2つのニューラルネットワークです。

要素 英語名 役割
生成器 Generator ランダムなノイズを入力として受け取り、本物に似せたデータ(画像など)を生成する。目標は「識別器を騙せるほどリアルなデータを作ること」
識別器 Discriminator 受け取ったデータが「本物の訓練データ」か「生成器が作った偽物」かを判定する。目標は「本物を真、偽物を偽と正しく見抜くこと」

学習の流れは次の通りです。生成器がランダムノイズから偽データを作り、識別器は本物のデータと偽データの両方を受け取って真偽を判定します。識別器の判定結果をもとに、生成器は「もっと騙せるように」、識別器は「もっと正確に見抜けるように」とパラメータを更新していきます。

この敵対的な学習を繰り返すことで、最終的に生成器は本物と区別がつかないデータを出力できるようになります。

図解:GANの学習フロー

GANの学習フロー

ランダムノイズ(乱数)
🎨 生成器(Generator)
偽データを生成
↓ 偽データ
本物の訓練データ
偽データ(生成器作)
🔍 識別器(Discriminator)
本物? or 偽物?
↓ 判定結果
フィードバック(パラメータ更新)
生成器:「もっとリアルに作れ」
識別器:「もっと正確に見抜け」
↻ この競争を繰り返す

▲ 2つのネットワークが互いに改善し合うことで、生成データの品質が向上する

VAE(変分オートエンコーダ)との違い

GANと並んで試験シラバスに登場する生成モデルに VAE(Variational Autoencoder)があります。両者は「新しいデータを生み出す」という目的は同じですが、アプローチが異なります。

比較項目 GAN VAE
構造 生成器 vs 識別器の敵対構造 エンコーダ+デコーダの再構成構造
学習方法 2つのネットワークの競争 入力データを潜在空間に圧縮→復元
生成の傾向 シャープで高品質な出力 やや平滑化されるがバリエーション豊富
弱点 学習が不安定になりやすい(モード崩壊) 出力がぼやけやすい

では、この用語が試験でどのように出題されるか見ていきましょう。

💡 GANの核心を3行で

・生成器(Generator)と識別器(Discriminator)の2つのネットワークを敵対的に学習させるディープラーニング手法
・生成器は「識別器を騙す偽データ」を作り、識別器は「本物と偽物を見分ける」ことを目指す
・画像生成、超解像、スタイル変換など幅広い分野で応用される


試験ではこう出る!

GANは、IPAシラバスの改訂(FE ver8.0 / AP ver7.0 以降)で出題範囲に追加された比較的新しいキーワードです。GANそのものをピンポイントで問う過去問はまだ多くありませんが、ディープラーニング全般の出題の中で関連知識として登場します。

📊 関連する出題実績

試験回 出題内容 GANとの関連
AP R3秋
午前 問3
ディープラーニングに最も関連が深いものを選ぶ。正解は「神経回路網を模倣した多層モデル」 GANの土台であるニューラルネットワークの理解が前提になる問題
AP R1秋
午後 問3
ニューラルネットワークをテーマにしたプログラミング問題。パーセプトロンの構造を問う GANの構成要素であるニューラルネットワークの詳細が問われた
IP R6
問95
ディープラーニングに用いられる技術として正しいものを選ぶ。正解は「ニューラルネットワーク」 GANが属するディープラーニングの基礎を問う問題

📝 想定される出題パターン

パターン1:「GANの説明として正しいものを選べ」
選択肢にGAN、VAE、RNN(再帰的ニューラルネットワーク)、CNN(畳み込みニューラルネットワーク)の説明が並ぶ形式。「生成器と識別器を競わせる」がGANを見抜くキーワードになる。RNNの「時系列データ」やCNNの「画像の特徴抽出」と混同しないことがポイント。

 

パターン2:「ディープラーニングの手法を選べ」
AP R3秋 午前問3のように、ディープラーニングの特徴を選ばせる問題。ここでGANが選択肢に含まれるか、あるいはGANの前提知識(ニューラルネットワーク・多層構造)が問われる。「エキスパートシステム」「遺伝的アルゴリズム」がひっかけになる。

 

試験ではここまででOKです。DCGANやStyleGANなどの派生モデルまで問われることはないので、深追いは不要です。ここだけは確実に押さえてください:「生成器(Generator)と識別器(Discriminator)の2つで構成」。これが答えの決め手になります。


【確認テスト】理解度チェック

ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。


Q. GAN(敵対的生成ネットワーク)の説明として、最も適切なものはどれでしょうか?

  • A. 生成器と識別器の2つのニューラルネットワークを競わせて学習させることで、本物に近いデータを生成する手法である。
  • B. 入力データをエンコーダで潜在空間に圧縮し、デコーダで復元することで新たなデータを生成する手法である。
  • C. 時系列データを扱うために、過去の出力を次の入力にフィードバックする再帰的な構造を持つニューラルネットワークである。

正解と解説を見る

正解:A

解説:
GANは生成器(Generator)と識別器(Discriminator)の2つのネットワークを敵対的に学習させる手法です。生成器は「識別器が偽物を本物と誤判定する確率」を最大化するように、識別器は「本物を真・偽物を偽と判定する確率」を最大化するように、それぞれパラメータを更新します。

選択肢Bは VAE(変分オートエンコーダ)の説明です。VAEはエンコーダとデコーダの対で構成される生成モデルであり、敵対的な競争構造は持ちません。選択肢CはRNN(再帰的ニューラルネットワーク)の説明です。RNNは自然言語処理や音声認識で使われる手法で、生成器と識別器による敵対学習とは無関係です。


よくある質問(FAQ)

Q. GANと最近話題の生成AI(ChatGPTなど)は同じ技術ですか?

異なります。ChatGPTに代表される大規模言語モデル(LLM)はTransformerアーキテクチャを基盤としており、GANとは構造が根本的に違います。GANは主に画像生成の分野で成果を挙げた手法です。ただし、どちらも「新しいデータを生み出す」生成モデルに分類される点は共通しています。

Q. GANの「モード崩壊」とは何ですか?

モード崩壊(Mode Collapse)とは、生成器が「識別器を騙せる特定のパターン」だけを繰り返し出力してしまい、バリエーション豊かなデータを生成できなくなる現象です。たとえば、人間の顔画像を生成するGANが、似た顔ばかりを出力する状態がこれに該当します。IPA試験の範囲では深掘りされないため、「学習が不安定になることがある」という程度の理解で十分です。

Q. GANと敵対的サンプル(Adversarial Examples)は関係がありますか?

名前に「敵対的」が含まれる点で混同されやすいですが、目的がまったく異なります。GANは「リアルなデータを生成する」ための学習手法です。一方、敵対的サンプルは「AIの判定を意図的に誤らせる」ための攻撃手法で、入力データに人間には知覚できない微小なノイズを加えて誤認識させます。試験では両者を取り違えないよう注意してください。

Q. 実務ではGANはどのような場面で使われていますか?

代表的な活用例としては、存在しない人物の顔写真生成、低解像度画像を高精細にする超解像(Super Resolution)、写真を絵画風に変換するスタイル変換、医療画像の学習データ拡張などがあります。また、データ不足の分野で疑似データを生成して訓練データを補う「データオーグメンテーション」にも利用されています。