本文へスキップします。

【参】モーダルJS:読み込み
書籍DB:詳細

直感 Deep Learning Python×Kerasでアイデアを形にするレシピ

直感 Deep Learning Python×Kerasでアイデアを形にするレシピ

人気フレームワークKerasの解説書!

機械学習ライブラリKerasの解説書。Tensorflowよりも直感的かつ短いコードで記述可能なKerasは、TensorFlowやCaffeに次ぐ人気フレームワークです。本書では、画像識別、画像生成、自然言語処理、感情識別、自動ゲームプレイなどの幅広いサンプルを例示し、実際のコードを用いてKerasによるディープラーニングを明らかにします。理論よりも実践を重視し、コードや図で説明できるところは数式の使用を極力ひかえて説明しています。対象読者はディープラーニングおよびPythonの基本を理解している中級以上のプログラマー、データサイエンティスト。
目次
訳者まえがき
まえがき

1章 ニューラルネットワークの基礎
1.1 パーセプトロン
1.1.1 最初のKerasのコードの例
1.2 多層パーセプトロン:最初のネットワークの例
1.2.1 パーセプトロンの学習における問題と解決策
1.2.2 活性化関数:シグモイド
1.2.3 活性化関数:ReLU
1.2.4 活性化関数
1.3 実例:手書き数字認識
1.3.1 one-hotエンコーディング:OHE
1.3.2 Kerasによるシンプルなネットワークの定義
1.3.3 Kerasのシンプルなネットワークを動作させてベースラインとして設定
1.3.4 隠れ層の追加による精度向上
1.3.5 ドロップアウトによる精度向上
1.3.6 最適化アルゴリズムの変更
1.3.7 学習エポックの増加
1.3.8 学習率の制御
1.3.9 内部隠れ層の増加
1.3.10 バッチ計算サイズの増加
1.3.11 手書き数字認識の実験の要約
1.3.12 正則化――過学習を避ける
1.3.13 ハイパーパラメータチューニング
1.3.14 予測結果
1.4 誤差逆伝播法の実践的な全体像
1.5 ディープラーニングのアプローチについて
1.6 まとめ

2章 KerasのインストールとAPI
2.1 Kerasのインストール
2.1.1 ステップ1:依存ライブラリのインストール
2.1.2 ステップ2:TensorFlowのインストール
2.1.3 ステップ3:Kerasのインストール
2.2 Kerasの設定
2.3 Docker上へのKerasのインストール
2.4 Keras API
2.4.1 Kerasのアーキテクチャ
2.4.2 事前定義済みのニューラルネットワーク層の概要
2.4.3 事前定義済みの活性化関数の概要
2.4.4 損失関数の概要
2.4.5 評価関数の概要
2.4.6 最適化アルゴリズムの概要
2.4.7 ユーティリティ
2.4.8 モデルの保存と読み込み
2.5 学習過程をカスタマイズするためのコールバック
2.5.1 チェックポイント
2.5.2 TensorBoardの使用
2.5.3 Quiverの使用
2.6 まとめ

3章 畳み込みニューラルネットワーク
3.1 畳み込みニューラルネットワークの仕組み
3.1.1 局所受容野(local receptive field)
3.1.2 重みの共有
3.1.3 プーリング層(pooling layer)
3.1.4 CNNについての総括
3.2 CNNの実装例:LeNet
3.2.1 KerasによるLeNetの実装
3.2.2 ディープラーニングの力を理解する
3.3 CIFAR-10の画像認識に挑戦
3.3.1 ネットワークをより深くすることによる改善
3.3.2 Data Augmentationによる改善
3.3.3 学習したモデルを利用し予測する
3.4 大規模な画像認識のための非常に深いネットワーク
3.4.1 組み込みのVGG-16のモデルを使用する
3.4.2 学習済みのモデルを特徴抽出器として活用する
3.4.3 Inception-v3を使用した転移学習
3.5 まとめ

4章 GANと WaveNet
4.1 GANとは何か
4.1.1 GANの適用例
4.2 深層畳み込みGAN
4.3 MNISTを偽造するための敵対的なGAN
4.4 CIFAR-10の画像を生成するGANの実装
4.5 WaveNet:音声の生成方法を学習する生成モデル
4.6 まとめ

5章 単語分散表現
5.1 分散表現
5.2 word2vec
5.2.1 Skip-gram
5.2.2 CBOW
5.2.3 分散表現の抽出
5.2.4 サードパーティの実装
5.3 GloVe
5.4 事前学習済みベクトルの使用
5.4.1 ゼロから分散表現を学習する
5.4.2 word2vecで学習した分散表現のファインチューニング
5.4.3 GloVeで学習した分散表現のファインチューニング
5.4.4 分散表現の検索
5.5 まとめ

6章 リカレントニューラルネットワーク
6.1 SimpleRNNセル
6.1.1 RNNを用いたテキスト生成
6.2 RNNのトポロジー
6.3 勾配消失と勾配爆発
6.4 LSTM
6.4.1 LSTMで評判分析
6.5 GRU
6.5.1 GRUで品詞タグ付け
6.6 双方向RNN
6.7 ステートフルRNN
6.7.1 ステートフルLSTMで電力消費量の予測
6.8 その他のRNNの亜種
6.9 まとめ

7章 さまざまなディープラーニングのモデル
7.1 functional API
7.2 回帰を行うネットワークの構築
7.2.1 回帰モデルの実装:大気中のベンゼン濃度の予測
7.3 教師なし学習:自己符号化器
7.3.1 自己符号化器の実装:文ベクトルの作成
7.4 ネットワークを組み合わせる:複合ネットワーク
7.4.1 複合ネットワークの実装:質問回答を行うMemory Network
7.5 Kerasのカスタマイズ
7.5.1 層のカスタマイズ:Lambda層の使用
7.5.2 層のカスタマイズ:カスタムの正規化層を作成する
7.6 生成モデル
7.6.1 生成モデルの実装:Deep Dream
7.6.2 Deep Dreamの応用:スタイルトランスファー
7.7 まとめ

8章 AIによるゲームプレイ
8.1 強化学習
8.1.1 将来の報酬を最大化する
8.1.2 Q-learning
8.1.3 ディープニューラルネットワークによるQ関数の実装
8.1.4 探索(exploration)と活用(exploitation)のバランス
8.1.5 Experience Replay(経験の蓄積と活用)
8.1.6 Q-networkの固定
8.1.7 報酬のクリッピング
8.2 ボールキャッチゲームのためのDeep Q-networkの実装
8.3 強化学習を取り巻く状況
8.4 まとめ

9章 総括

付録A GPUを考慮した開発環境の構築
A.1 TensorFlowとGPU
A.2 具体的なインストール方法:ホスト
A.3 具体的なインストール方法:Docker
A.4 まとめ

索引