しんさんのブログ

科学や技術のこと読書のことなど

「実践GAN 敵対的生成ネットワークによる深層学習」を読みました

日本語で読めるGANの解説書です。
連休でまとまった時間が取れるので読んでみました。

読み始めるといきなり"GANは汎用人工知能を実現するための重要なステップであると考えられている"という記述がありGANと深層学習の組み合わせがいかに将来の可能性を秘めているかをさらっと語っています。

初めにGANとは何か生成モデルとは何かをオートエンコーダも含め詳細に解説しています。

その後、GANのGANの訓練の難しさとして以下の3つのトピックを取り上げています。

  • モード崩壊
  • 収束の遅さ
  • 過度な汎化

上記の問題点に対する解決法にからめてMin-Max GAN, Non-Saturating GAN, Wasserstein GANなどのGANの初期の研究における非常に重要なトピックが説明されています。
それ以外にも、GANを有効に働かせるために必須の技術であるバッチ正則化や勾配の制約などの手法が解説されています。
GANの応用としてPGGANやCycleGANのようなさらに強力で応用範囲の広い技術の解説がなされています。

GANは非常に強力な生成モデルとして多くの研究がなされているが同時にその危険性についてもしてきされています。
倫理的な問題やあるいはセキュリティーの問題にまで波及するような危険性についても章を費やして説明しています。

発展的な内容として、
Self-Attention GAN
Relativistic GAN
などの比較的最近の話題についても簡単に解説されています。

このように、GANの基本的な解説から出版当時は最先端であったと思われるトピックまで網羅していますのでこれからGANを勉強する人にはお勧めです。
残念な点は、翻訳があまりこなれていなくて日本語が非常にわかりにくいことです。
また、GANの難しさやGANのすごさは実装したコードを実行して試行錯誤する中で実感するものだと思いますので実装は重要なのですが、それに関してはGitHub上のコードとその解説のポインタだけでに留め書籍にコードまで載せる必要はなかったのではないかなと思います。