生成 Deep Learning
――絵を描き、物語や音楽を作り、ゲームをプレイする

[cover photo]
  • 2020年10月 発行
  • 384ページ
  • ISBN978-4-87311-920-5
  • 原書: Generative Deep Learning
  • フォーマット 本 PDF EPUB

オライリー・ジャパンで書籍を購入:
定価4,180円

Ebook Storeで電子版を購入:
価格3,344円

生成型ディープラーニングの解説書。「絵を描く」「曲を作る」といった、これまで人間にしかできないと思われていた創造的な作業を機械に行わせるという、いま最もホットな技術の基礎から応用までをJupyterノートブック環境で実際に試しながら学びます。第I部は基礎編です。機械学習プログラミング、変分オートエンコーダ、GANやRNNなど、生成モデルの作成において重要な基礎技術を学びます。第II部は応用編です。CycleGAN、エンコーダ―デコーダモデル、MuseGANなどのモデルを作成し、作画、作文、作曲といった創造的なタスクに取り組みます。さらには、実環境を用いずにゲームプレイの学習を可能にする、世界モデルを使った強化学習にも取り組みます。

関連書籍

Effective Python 第2版
Fluent Python
Pythonではじめる機械学習
Pythonではじめる教師なし学習
Pythonによるデータ分析入門 第2版
実践 Python 3
ゼロから作るDeep Learning
ゼロから作るDeep Learning ❸
ゼロから作るDeep Learning ❷
退屈なことはPythonにやらせよう
直感 Deep Learning
入門 Python 3

賞賛の声
訳者まえがき
まえがき

第I部 生成型ディープラーニング入門

1章 生成モデリング
    1.1 生成モデリングとは何か?
        1.1.1 生成モデリングと識別モデリング
        1.1.2 機械学習の進歩
        1.1.3 生成モデリングの隆盛
        1.1.4 生成モデリングの枠組み
    1.2 確率生成モデル
        1.2.1 Hello Wrodl!
        1.2.2 最初の確率生成モデル
        1.2.3 単純ベイズ(Naive Bayes)
        1.2.4 Hello Wrodl!の続き
    1.3 生成モデルの課題
        1.3.1 表現学習
    1.4 環境のセットアップ
    1.5 まとめ

2章 ディープラーニング
    2.1 構造化されたデータと構造化されていないデータ
    2.2 ディープニューラルネットワーク
        2.2.1 KerasとTensorFlow
    2.3 最初のディープニューラルネットワーク
        2.3.1 データを読み込む
        2.3.2 モデルを作成する
        2.3.3 モデルをコンパイルする
        2.3.4 モデルを訓練する
        2.3.5 モデルを評価する
    2.4 モデルを改善する
        2.4.1 畳み込み層
        2.4.2 バッチの正規化
        2.4.3 ドロップアウト層
        2.4.4 すべてをまとめる
    2.5 まとめ

3章 変分オートエンコーダ
    3.1 展覧会
    3.2 オートエンコーダ
        3.2.1 最初のオートエンコーダ
        3.2.2 エンコーダ
        3.2.3 デコーダ
        3.2.4 エンコーダとデコーダを連結する
        3.2.5 オートエンコーダの解析
    3.3 変分展覧会
    3.4 変分オートエンコーダの作成
        3.4.1 エンコーダ
        3.4.2 損失関数
        3.4.3 変分オートエンコーダの解析
    3.5 VAEを使った顔生成
        3.5.1 VAEの訓練
        3.5.2 VAEの解析
        3.5.3 新しい顔の生成
        3.5.4 潜在空間内での計算
        3.5.5 顔のモーフィング
    3.6 まとめ

4章 敵対的生成ネットワーク
    4.1 ガニマル
    4.2 GAN入門
    4.3 初めてのGAN
        4.3.1 識別器
        4.3.2 生成器
        4.3.3 GANを訓練する
    4.4 GANの課題
        4.4.1 損失の振動
        4.4.2 モード崩壊
        4.4.3 意味がない損失
        4.4.4 ハイパーパラメータ
        4.4.5 GANの課題に取り組む
    4.5 Wasserstein GAN
        4.5.1 Wasserstein損失
        4.5.2 Lipschitz制約
        4.5.3 重みをクリッピングする
        4.5.4 WGANを訓練する
        4.5.5 WGANの分析
    4.6 WGAN-GP
        4.6.1 勾配ペナルティ損失
        4.6.2 WGAN-GPの分析
    4.7 まとめ

第II部 コンピュータに作画、作文、作曲、ゲームプレイを教える

5章 描く
    5.1 リンゴとオレンジ
    5.2 CycleGAN
    5.3 初めてのCycleGAN
        5.3.1 概要
        5.3.2 生成器(U-Net)
        5.3.3 識別器
        5.3.4 CycleGANをコンパイルする
        5.3.5 CycleGANを訓練する
        5.3.6 CycleGANを解析する
    5.4 モネのような絵を描くCycleGANを作る
        5.4.1 生成器(ResNet)
        5.4.2 CycleGANの解析
    5.5 ニューラルスタイル変換
        5.5.1 コンテンツ損失
        5.5.2 スタイル損失
        5.5.3 全変動損失
        5.5.4 ニューラルスタイル変換を実行する
        5.5.5 ニューラルスタイル変換モデルを解析する
    5.6 まとめ

6章 書く
    6.1 やっかいな悪党のための文芸クラブ
    6.2 LSTMネットワーク
    6.3 初めてのLSTMネットワーク
        6.3.1 トークン化する
        6.3.2 データセットを作成する
        6.3.3 LSTMのアーキテクチャ
        6.3.4 埋め込み層
        6.3.5 LSTM層
        6.3.6 LSTMセル
    6.4 新しいテキストを生成する
    6.5 RNNの拡張
        6.5.1 多層再帰型ネットワーク
        6.5.2 GRU
        6.5.3 双方向セル
    6.6 エンコーダ–デコーダモデル
    6.7 質問回答生成器
        6.7.1 質問と回答のデータセット
        6.7.2 モデルのアーキテクチャ
        6.7.3 推論
        6.7.4 モデルの出力
    6.8 まとめ

7章 作曲する
    7.1 準備
        7.1.1 音楽の表記
    7.2 初めての音楽生成RNN
        7.2.1 アテンション
        7.2.2 Kerasでアテンション機構を作成する
        7.2.3 アテンション機構付きRNNの解析
        7.2.4 エンコーダ–デコーダネットワークのアテンション機構
        7.2.5 ポリフォニックな音楽を生成する
    7.3 MuseGAN
    7.4 初めてのMuseGAN
    7.5 MuseGAN生成器
        7.5.1 和音、スタイル、旋律、グルーブ
        7.5.2 小節生成器
        7.5.3 すべてをまとめる
    7.6 評価器
    7.7 MuseGANの解析
    7.8 まとめ

8章 プレイする
    8.1 強化学習
        8.1.1 OpenAI Gym
    8.2 世界モデルのアーキテクチャ
        8.2.1 変分オートエンコーダ
        8.2.2 MDN-RNN
        8.2.3 コントローラ
    8.3 セットアップ
    8.4 訓練プロセスの概観
    8.5 ランダムなロールアウトデータを収集する
    8.6 VAEを訓練する
        8.6.1 VAEのアーキテクチャ
        8.6.2 VAEを探索する
    8.7 RNNを訓練するデータを収集する
    8.8 MDN-RNNを訓練する
        8.8.1 MDN-RNNアーキテクチャ
        8.8.2 MDN-RNNから次のzと報酬をサンプリングする
        8.8.3 MDN-RNNの損失関数
    8.9 コントローラを訓練する
        8.9.1 コントローラのアーキテクチャ
        8.9.2 CMA-ES
        8.9.3 CMA-ESを並列化する
        8.9.4 コントローラの訓練からの出力
    8.10 夢の中での訓練
        8.10.1 夢の中でのコントローラの訓練
        8.10.2 夢の中での訓練の課題
    8.11 まとめ

9章 生成モデリングの未来
    9.1 LSTMネットワーク
    9.2 トランスフォーマ
        9.2.1 位置エンコード処理
        9.2.2 マルチヘッドアテンション
        9.2.3 デコーダ
        9.2.4 トランスフォーマの分析
        9.2.5 BERT
        9.2.6 GPT-2
        9.2.7 MuseNet
    9.3 画像生成での進展
        9.3.1 ProGAN
        9.3.2 SAGAN
        9.3.3 BigGAN
        9.3.4 StyleGAN
    9.4 生成モデリングの応用
        9.4.1 AIアート
        9.4.2 AIミュージック

10章 まとめ

付録A GPT-3
    A.1 はじめに
    A.2 GPT-2との違い
    A.3 GPT-3の性能
    A.4 GPT-3の応用
    A.5 GPT-3の課題
    A.6 おわりに

参考文献
索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]