Book description
生成型ディープラーニングの解説書。「絵を描く」「曲を作る」といった、これまで人間にしかできないと思われていた創造的な作業を機械に行わせるという、いま最もホットな技術の基礎から応用までをJupyterノートブック環境で実際に試しながら学びます。第I部は基礎編です。機械学習プログラミング、変分オートエンコーダ、GANやRNNなど、生成モデルの作成において重要な基礎技術を学びます。第II部は応用編です。CycleGAN、エンコーダ―デコーダモデル、MuseGANなどのモデルを作成し、作画、作文、作曲といった創造的なタスクに取り組みます。さらには、実環境を用いずにゲームプレイの学習を可能にする、世界モデルを使った強化学習にも取り組みます。
Table of contents
- 大扉
- クレジット
- 賞賛の声
- 訳者まえがき
- まえがき
- 第Ⅰ部 生成型ディープラーニング入門
- 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 まとめ
- 第Ⅱ部 コンピュータに作画、作文、作曲、ゲームプレイを教える
- 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 5年間の進展
- 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 おわりに
- 参考文献
- 著者紹介
- 奥付
Product information
- Title: 生成 Deep Learning ―絵を描き、物語や音楽を作り、ゲームをプレイする
- Author(s):
- Release date: October 2020
- Publisher(s): O'Reilly Japan, Inc.
- ISBN: 9784873119205
You might also like
book
直感 Deep Learning ―Python×Kerasでアイデアを形にするレシピ
直感的かつ短いコードでアイデアを形にできるKerasはTensorFlowのラッパーとして大人気のライブラリです。本書でもTensorFlowをバックエンドとして使用し、自然言語処理、画像識別、画像生成、音声合成、テキスト生成、強化学習、AIゲームプレイなどさまざまなモデルをPythonとKerasで実装します。対象読者は、各種のディープラーニングを素早く実装したいプログラマー、データサイエンティスト。ディープラーニングを支える技術の速習にも好適です。数式はなるべく使わずにコードと図で説明します。ニューラルネットワークおよびPython 3の基本を理解している人であれば誰でも始めることができます。
book
詳説 Deep Learning ―実務者のためのアプローチ
エンタープライズ向けのディープラーニングの解説書。企業でディープラーニングアプリケーションを開発、運用するための実践的な手法を紹介します。対象読者はソフトウェア開発の現場で活躍する実務者。前半はディープラーニング初心者、後半はJavaエンジニア向けの構成です。機械学習、ニューラルネットワークの基礎から始め、ディープラーニングの基本的な概念、実際にチューニングを行う際のベストプラクティス、データのETL(抽出・変換・ロード)の方法、Apache Sparkを用いた並列化について、JavaライブラリDeep Learning4J(DL4J)の開発者でもある著者がわかりやすく丁寧に解説します。
book
実践 Deep Learning ―PythonとTensorFlowで学ぶ次世代の機械学習アルゴリズム
2000年代にニューラルネットワークの研究が再び活発になりました。現在、ディープラーニングは近代的な機械学習の道を切り開いている非常に活発な研究領域となっています。Google、Microsoft、Facebookなどの企業では、社内のディープラーニングチームが急成長しています。しかし、多くの人にとってディープラーニングはまだまだとても複雑で困難な課題です。本書ではサンプルのPython 3プログラムと簡潔な説明を通してこの複雑な分野の主要な概念を紹介します。微積分、行列演算、Pythonの基礎があれば誰でも本書を始めることができます。
book
ゼロからはじめるデータサイエンス 第2版 ―Pythonで学ぶ基本と実践
本書はPythonプログラミングを通してデータサイエンスの基本知識を「ゼロから学ぶ」ことができる入門書です。読者は架空のソーシャルネットワーク運営企業、データサイエンス・スター社のデータサイエンティストとして、さまざまな課題を解決しながら、必要な知識とスキルを着実に積み上げていきます。Pythonプログラミングの基礎から線形代数、統計確率の基礎、回帰、機械学習、ナイーブベイズ、決定木、ニューラルネットワーク、ディープラーニング、自然言語処理、ネットワーク分析、リコメンドシステム、データベースとSQL、MapReduce、データ倫理まで、データサイエンスに必要な幅広い知識をカバーします。