GANって
Generative Adversarial Networkの略で、Googleで調べてみると、生成モデルと書いてある。
全く分からないが、補足で以下が記載されていた。
データから特徴を学習することで、実在しないデータを生成したり、存在するデータの特徴に沿って変換できる。
なるほど?つまりは存在しないデータを作るから、生成モデルという事なのでしょう!
そう言えば、存在しないアイドルをCMに使おうみたいなニュースを見た事を思い出しましたが、それがGANを使っているという事と理解。
GANでできる事
なんとなく、GANのイメージは出来たけど、他は何があるのか気になったので、調べて見ました。
- シマウマからウマの画像(逆も)に変換
- 夏の風景を冬の風景に変換
- イラストから、実物写真っぽいものにする
- 人の写真の表情を変化
- 写真をアニメキャラクターに変換
色々と出来そうですね!
個人的には写真からアニメキャラになるとか興味ありますね!
どうやってGANは存在しない画像を作り出しているのか気になりますね。
仕組み
初心者向けに分かりやすくお伝えすると、詐欺師と警察がいてその騙し合いをしているってイメージです。
イラストを作ったので、見ていきましょう!
1回目 ➡ 詐欺師がおもちゃの偽札を作ります。警察はそのお金をみて、すぐに偽札と判断できます。
X回目 ➡ 詐欺師がレベルアップした偽札を作ります。警察はそのお金をみて、少し迷って偽札と判断します。
XX回目 ➡ 詐欺師が本物と同じ見た目にした偽札を作ります。警察はそのお金をみて、偽札でなく本物と判断します。
GANの仕組み図(イメージ画像)
上記のような流れで、GANの詐欺師であるGenerator(ジェネレーター)と警察であるDiscriminator(ディスクリミネーター)が本物か見極める戦いをしています。
その結果、偽物の精度を上げて学習が進むという流れがざっくりとしたGANの仕組みなのです!
まとめ
今回は初心者でも分かりやすいGAN画像生成モデルの仕組みを説明してみました。
色々と調べていて、以下のサイトとか応用例が画像や動画付きであり、よかったです。
https://aizine.ai/amazing-gan0414/#toc6
最近だとGANの応用でGameGANと呼ばれる技術もあります。
これはアクションゲーム『パックマン』(1980年のゲーム)を完全再現したりしているそうです。
GameGANで使われた学習データは、5万エピソード分のプレイ動画だそうです。
今後、プレイ動画からロボットや自動運転とかの進歩も進むかもしれませんね!
夢のある世界であるGANの今後の進化も期待です。