この記事の要点
- GAN(Generative Adversarial Network、敵対的生成ネットワーク)は、本物そっくりのデータを作る「生成器」と、本物か偽物かを見分ける「識別器」の2つのネットワークを競わせて学習する 生成モデルです。
- 2014年に Ian Goodfellow らが論文で提案しました。生成器は識別器をだませるように、識別器はだまされないように、交互に学習します。
- 学習が進むと、生成器は学習データに似た新しいデータ(画像など)を作れるようになります。一方で、学習が不安定になりやすく、似たものばかり作る モード崩壊 が起きることがあります。
- IoTでは、集めにくい異常データを補う データの水増し や、正常データとの差で見つける 異常検知 への応用が研究されています。
GANとは何か?
GAN は、深層学習を使った 生成モデル(学習データに似た新しいデータを作るモデル)の一つです。2014年に Ian Goodfellow らが発表した論文「Generative Adversarial Nets」で提案されました。
特徴は、2つのニューラルネットワークを 敵対させる(競わせる)ことです。原論文では、偽札を作る者と、それを見抜こうとする警察のたとえで説明されています。偽札作りが上手になるほど警察も見抜く力を上げ、警察が鋭くなるほど偽札作りも精巧になる――この競争を繰り返すうちに、作られるものが本物と見分けにくくなる、という考え方です。
深層学習の全体像は ディープラーニングとは、生成AI全般は 生成AIとLLM で整理しています。
生成器と識別器は、それぞれ何をする?
| 項目 | 生成器(Generator) | 識別器(Discriminator) |
|---|---|---|
| 入力 | 乱数(ノイズ) | 本物のデータ、または生成器が作ったデータ |
| 出力 | 本物らしく見えるデータ(例:画像) | 入力が本物である確からしさ |
| 学習の目標 | 識別器に「本物」と判定させる | 本物と生成されたものを正しく見分ける |
| たとえ | 偽札を作る者 | 偽札を見抜く警察 |
| 学習後の使い道 | 新しいデータを作るのに使う | 学習のための相手役(生成に直接は使わないことが多い) |
← 表は横にスクロールできます →
学習は、識別器の更新と生成器の更新を交互に繰り返して進みます。理想的には、識別器が本物と偽物を半々の確率でしか見分けられない状態、つまり生成されたデータが本物の分布に十分近づいた状態を目指します(原論文の理論的な結論)。
ほかの生成モデルと、何が違う?
生成AIにはいくつかの方式があります。代表的なものと比べました(一般的な傾向。当サイトの整理)。
| 方式 | 仕組みの要点 | よく使われる対象 | 注意点 |
|---|---|---|---|
| GAN | 生成器と識別器を競わせる | 画像の生成・変換 | 学習が不安定、モード崩壊 |
| VAE(変分オートエンコーダ) | データを圧縮した表現から、元のデータを復元するように学ぶ | 画像、異常検知 | 生成した画像がぼやけやすい傾向 |
| 拡散モデル | ノイズを少しずつ加えた過程を逆にたどり、ノイズから復元する | 高品質な画像生成 | 生成に多くの計算手順がかかる |
| Transformer系の言語モデル | 注意機構で、前の文脈から次の語を予測する | 文章の生成(LLM) | 事実と違う内容を作ること(ハルシネーション) |
← 表は横にスクロールできます →
近年の画像生成では拡散モデル、文章生成では Transformer 系のモデルが中心になっていますが、GAN は 生成AIの考え方を広めた代表的な手法 として、用語の問題で問われやすい位置にあります(推定)。Transformer の仕組みは Transformerとは で解説しています。
IoTでは、どう使われる?
- データの水増し: 故障や異常のデータは、正常なデータに比べて集めにくいものです。GAN で似たデータを作り、学習用のデータを補う使い方が研究されています。
- 異常検知: 正常なデータだけで GAN を学習させ、うまく再現できないデータを「いつもと違う」と判断する手法があります。
- 画像の補正・変換: 暗い画像を明るくする、解像度を上げるなど、カメラ画像の前処理に使われることがあります。
一方で、本物そっくりの偽の画像や映像(いわゆるディープフェイク)に悪用される懸念もあります。生成したデータを学習に使うときは、本物のデータとの区別や、偏りが増幅されていないかの確認が欠かせません。力試しには IoT基礎の無料お試し も使えます。
どこで取り違えやすい?
- 「敵対的」を攻撃のことと思う: GAN の「敵対」は、2つのネットワークが競う学習の仕組みのことです。AIをだます入力を作る「敵対的サンプル(敵対的攻撃)」とは別の話です。
- 生成器と識別器の役割を逆にする: 作るのが生成器、見分けるのが識別器です。
- 教師あり学習の分類器と同じと考える: 識別器は見分ける役ですが、GAN 全体の目的は分類ではなく、新しいデータの生成です。
- GAN=生成AIのすべて: 生成AIには拡散モデルや Transformer 系など、ほかの方式もあります。
確認問題1:GANの仕組み
(当サイトの独自問題)GAN(敵対的生成ネットワーク)の説明として、最も適切なものはどれか。
- 1つのネットワークが、正解ラベル付きのデータだけを使って分類の精度を上げる手法
- ノイズを加えた過程を逆にたどることだけで、画像を少しずつ復元する手法
- データを作るネットワークと、それを見分けるネットワークを競わせて学ぶ手法
- 報酬が最大になる行動を、試行錯誤を通じて学ぶ手法
正解:3。生成器と識別器を競わせるのが GAN の仕組みです。
1:教師あり学習による分類の説明です。2:拡散モデルの説明です。4:強化学習の説明です。
確認問題2:識別器の役割
(当サイトの独自問題)GAN における識別器の役割として、最も適切なものはどれか。
- 乱数を入力として受け取り、新しい画像を作り出す
- 生成された画像を、利用者の端末に配信する
- 学習データを暗号化して、外部に漏れないようにする
- 入力されたデータが、本物のデータか生成されたデータかを判定する
正解:4。識別器は本物と生成物を見分ける役割を担います。
1:生成器の役割です。2:配信は GAN の構成要素の役割ではありません。3:暗号化はセキュリティの技術で、識別器の役割ではありません。
確認問題3:GANの課題
(当サイトの独自問題)GAN の学習で起こりうる、生成器が多様なデータを作れず、似たデータばかりを出力するようになる現象として、最も適切なものはどれか。
- 過学習
- モード崩壊
- 勾配ブースティング
- 次元削減
正解:2。モード崩壊(mode collapse)は、生成器が識別器をだましやすい一部のパターンばかりを作るようになる現象です。
1:過学習は学習データに合わせすぎて未知のデータで性能が落ちる現象で、GAN に限らない一般的な課題です。3:決定木を組み合わせる機械学習の手法の名前です。4:データの特徴の数を減らす処理です。
よくある質問
GANは教師あり学習ですか、教師なし学習ですか?
正解ラベルを人が付けなくても、データの分布そのものを学ぶため、一般には教師なし学習(生成モデル)に分類されます。学習の途中で識別器が「本物か生成物か」を見分ける部分は、自動で付く区別を使っています。
GANで作ったデータを学習に使っても問題ありませんか?
データが足りない場面で役立つことがありますが、元のデータの偏りを引き継いだり強めたりするおそれがあります。本物のデータでの評価を必ず行ってください。
IoT基礎で、GANの数式まで問われますか?
出題の詳細は公表されていません。基礎の難度では、生成器と識別器の役割、ほかの学習方法との違いを押さえるのが優先だと当サイトは考えます(推定)。
出典・参考
本番と同じペースで腕試し
記事の次は、本番形式の問題で。
公式の出題カテゴリの比率どおりに組んだ無料お試しを、登録不要・カード不要で解けます。続きの模試と章別ドリルは買い切りで、月額はかかりません。
あわせて読みたい
当サイトは、モバイルコンピューティング推進コンソーシアム(MCPC)とは関係のない個人が運営する非公式の学習教材です。掲載している問題はすべて当サイトのオリジナルで、実際の試験問題・過去問題・再現問題ではありません。試験の日程・受検料・出題範囲は公式サイト(https://www.mcpc-jp.org/license/ )で必ず確認してください。合格を保証するものではありません。合格の目安は当サイトの推定です。技術・制度の記述は「最終確認日」時点のものです。