Jakub Langr 著, Vladimir Bok 著, 大和田茂 訳, 「実践GAN 敵対的生成ネットワークによる深層学習」, マイナビ出版, 2020
マイナビ出版: https://book.mynavi.jp/ec/products/detail/id=113324
Amazon: https://www.amazon.co.jp/dp/4839967717
敵対的生成ネットワーク (Generative Adversarial Network, GAN) について学ぶための本です。GAN は最初に画像生成のために開発された、サンプル生成の手法です。それから色々な分野で応用され、たとえばケモインフォマティクスやマテリアルズインフォマティクスにおいて、化学構造の生成に応用できたり、や実験条件の候補の生成に応用できたりします。
以下は、マイナビ出版における内容紹介の引用です。
GAN:敵対的生成ネットワークの初歩から理解し実装できる!
GAN(Generative Adversarial Networks):敵対的生成ネットワークは機械学習技術の一種で、2つの分離したニューラルネットワークを使い実物と区別が付かないほどリアルな画像を生成することを可能とします。
本書はGAN:敵対的生成ネットワークを学びたい方のために入門から実装まで、理論を交えつつ解説していきます。本書全体を通じてJupyter Notebookを使い、実装はPython、Kerasで行っていきます。
機械学習とニューラルネットワーク、Pythonプログラミングについてある程度の経験がある方を主な対象読者としており、数学や関しては最小限のものに絞って解説します。
本書の目的は、GANが達成してきたことを理解するための知識と道具を提供し、そこから新しい応用を見つけ作り出す力をつけていただくことです。GANは多くの可能性に満ちていますから、意欲的な方々であれば学術界・実世界に大きなインパクトを与えられることでしょう。
Part 1 GANと生成モデル入門
1章 はじめてのGAN
2章 オートエンコーダを用いた生成モデル
3章 はじめてのGAN:手書き文字の生成
4章 深層畳み込みGAN:DCGAN
Part 2 GANの発展的な話題
5章 訓練とよくある課題:GANをうまく動かすために
6章 プログレッシブなGAN
7章 半教師あり学習
8章 条件付きGAN
9章 CycleGAN
Part 3 ここからどこへ進むべきか
10章 敵対的サンプル
11章 GANの実用的な応用
12章 将来に向けて
この本は、GAN の理論の解説だけでなく、Keras を用いた Python での実装もあるため、GAN の内容を理解しながら GAN を実行できるようになります。ただ、Python コードをある程度理解できてプログラムを実行できたり、機械学習の基礎 (たとえばトレーニングデータとテストデータ、過学習 (オーバーフィッティング)、ハイパーパラメータ、教師あり学習や教師なし学習など) や、ニューラルネットワークや深層学習の基礎を理解していたりすることが前提になっています。本書は中級者向けの本といえます。
「実践GAN 敵対的生成ネットワークによる深層学習」 では、データ解析・機械学習に関連する内容として、主に以下のことを学べます。
- 敵対的生成ネットワークとは、GAN の動作、GAN の訓練
- 生成モデル、オートエンコーダ、変分オートエンコーダ、教師なし学習
- 敵対的訓練、コスト関数、生成器、識別器、画像生成
- 畳み込みニューラルネットワーク、深層畳み込みGAN (Deep Convolutional GAN, DCGAN)
- 評価、訓練、正規化、バッチ正規化、勾配制約
- 半教師あり GAN、条件付き GAN、CycleGAN
- 敵対的サンプル、GAN の実用的応用例
以上です。
質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。