LoginSignup
0
3

More than 3 years have passed since last update.

GANについての整理①

Last updated at Posted at 2021-04-21

概要

敵対的生成ネットワーク(GAN:Generatice Adversarial Networks) 名前だけでも不思議とかっこよさを感じてしまうのは僕だけでしょうか。
このGANは一体どういったものなのか、僕はすぐさまGANについて調べはじめました。

今回はこのGANについて調べたり、勉強してきたのでそれをまとめる記事になります。
別の記事でGANを用いてmnistデータセットから手書き文字を生成するコードを書いているのでぜひ読んでください。

GANについて

GANでできることといえば、とてつもなくリアルな画像を生成することがあげられます。
これは本当にリアルで、本物と見分けがつきません、、、
そしてもう1つ優れた能力として、画像から新たな画像を生成できることです。
有名なのが馬の画像からしまうまの画像を生成する例です。(以下に画像あり)
他にもゴッホの書いた絵画像を学習させ、普通の絵画像からゴッホ本人が書いたような絵の生成する例もあります。

こんなことができるなんて凄すぎますよね。。。。。

では、この凄まじい能力のあるGANはどのような仕組みになっているのでしょうか。
難しい式を使わず説明していきます

GANの仕組み

GANは日本語訳すると敵対的生成ネットーワークと言います。この敵対的という言葉がまさにGANの仕組みを象徴している言葉になります。
GANは大きく分けて2つのネットワークで構成されています。
それは識別器と生成器です。
この2つの仕組みを理解できるとGANの仕組みをおおよそ理解できます。
GANによる画像生成の仕組みを簡単述べると、識別器を騙せるほど本物そっくりに生成器が画像を生成するです
例えばゴッホがかいたようなリアルな絵画を生成するとします。
生成器ではゴッホの絵画のような偽の画像を生成します。
識別器では生成器が生成した画像と本物の画像を見比べてどちらが本物なのか区別します。
そして生成器は、識別器が分類した結果のフィードバックを受け取り、より本物に近い画像を作れるように学習します
これを繰り返し行うことで識別器が本物か偽物か正しく判断できないような画像を生成器が生成できるようになります。
この識別器と生成器の関係性が敵対しているから敵対的生成ネットワークというのです。

生成器
<出力>
できるだけ本物に見える偽のサンプル
<目標>
識別器が本物と判断する偽のデータを生成すること

識別器
<出力>
入力サンプルが本物である推定確率
<目標>
生成器からくる偽のデータと、訓練データからくる本物のデータを見分けること

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3