実践 Deep Learning

―PythonとTensorFlowで学ぶ次世代の機械学習アルゴリズム

[cover photo]
TOPICS
Data Science
発行年月日
PRINT LENGTH
336
ISBN
978-4-87311-832-1
原書
Fundamentals of Deep Learning
FORMAT
Print PDF EPUB
Ebook
3,960円
Ebookを購入する
Print
3,960円

2000年代にニューラルネットワークの研究が再び活発になりました。現在、ディープラーニングは近代的な機械学習の道を切り開いている非常に活発な研究領域となっています。Google、Microsoft、Facebookなどの企業では、社内のディープラーニングチームが急成長しています。しかし、多くの人にとってディープラーニングはまだまだとても複雑で困難な課題です。本書ではサンプルのPython 3プログラムと簡潔な説明を通してこの複雑な分野の主要な概念を紹介します。微積分、行列演算、Pythonの基礎があれば誰でも本書を始めることができます。

関連ファイル

目次

監訳者まえがき
まえがき

1章 ニューラルネットワーク
    1.1 知的な機械を作るということ
    1.2 従来のプログラムの限界
    1.3 機械学習のしくみ
    1.4 ニューロン
    1.5 線形パーセプトロンをニューロンとして表現する
    1.6 フィードフォワードニューラルネットワーク
    1.7 線形ニューロンとその限界
    1.8 シグモイド、tanh、ReLUのニューロン
    1.9 ソフトマックス出力層
    1.10 まとめ

2章 フィードフォワードニューラルネットワークの訓練
    2.1 ファストフード店での問題
    2.2 勾配降下法
    2.3 デルタルールと学習率
    2.4 勾配降下法とシグモイドニューロン
    2.5 逆伝播のアルゴリズム
    2.6 確率的勾配降下法とミニバッチ
    2.7 テストデータ、検証データ、過学習
    2.8 深層ニューラルネットワークでの過学習の防止
    2.9 まとめ

3章 TensorFlowを使ったニューラルネットワークの実装
    3.1 TensorFlowとは
    3.2 他の選択肢との比較
    3.3 TensorFlowのインストール
    3.4 TensorFlowのVariableの生成と操作
    3.5 TensorFlowでの操作
    3.6 プレースホルダのテンソル
    3.7 TensorFlowでのセッション
    3.8 Variableのスコープと共有
    3.9 CPUとGPU上でのモデルの管理
    3.10 ロジスティック回帰のモデルを記述する
    3.11 ログの記録と訓練
    3.12 TensorBoardを使って計算グラフと学習を可視化する
    3.13 多階層のMNISTモデル
    3.14 まとめ

4章 勾配降下法を超えて
    4.1 勾配降下法での課題
    4.2 深層ネットワークの誤差曲面での極小値
    4.3 モデルの識別可能性
    4.4 深層ネットワークにおける極小値の影響
    4.5 誤差曲面上の平坦な領域
    4.6 勾配が誤った方向を向く場合
    4.7 モーメンタムに基づく最適化
    4.8 2次の最適化手法の概要
    4.9 適応的な学習率
        4.9.1 AdaGrad ――過去の勾配の蓄積
        4.9.2 RMSProp ――勾配の指数加重移動平均
        4.9.3 Adam ――モーメンタムとRMSPropの組み合わせ
    4.10 最適化手法の選択基準
    4.11 まとめ

5章 畳み込みニューラルネットワーク
    5.1 人間の視覚におけるニューロン
    5.2 特徴選択の欠陥
    5.3 単純な深層ニューラルネットワークにはスケーラビリティがない
    5.4 フィルターと特徴マップ
    5.5 畳み込み層の完全な表現
    5.6 最大プーリング
    5.7 畳み込みネットワーク全体の構成
    5.8 畳み込みネットワークを使ったMNISTの最終解
    5.9 画像の前処理による、さらに頑健なモデル
    5.10 バッチ正規化による訓練の高速化
    5.11 CIFAR-10用の畳み込みネットワーク
    5.12 畳み込みネットワークでの学習の可視化
    5.13 畳み込みネットワークを使い、絵画のスタイルを適用する
    5.14 他の問題領域への畳み込みネットワークの適用
    5.15 まとめ

6章 埋め込みと表現学習
    6.1 低次元表現の学習
    6.2 主成分分析
    6.3 オートエンコーダーのアーキテクチャー
    6.4 TensorFlowを使ったオートエンコーダーの実装
    6.5 頑健な埋め込み表現のためのノイズ除去
    6.6 オートエンコーダーの疎性
    6.7 入力のベクトルよりもコンテキストに多くの情報が含まれる場合
    6.8 Word2Vecフレームワーク
    6.9 スキップグラムアーキテクチャーの実装
    6.10 まとめ

7章 シーケンス分析のモデル
    7.1 可変長の入力に対する分析
    7.2 neural n-gramによるseq2seq問題へのアプローチ
    7.3 品詞タグ付け器の実装
    7.4 係り受け解析とSyntaxNet
    7.5 ビームサーチとグローバル正規化
    7.6 内部状態を持ったディープラーニングのモデルの例
    7.7 リカレントニューラルネットワーク
    7.8 勾配消失問題
    7.9 LSTMユニット
    7.10 RNNのモデルのためにTensorFlowが提供するプリミティブ
    7.11 センチメント分析のモデルの実装
    7.12 RNNを使ってseq2seqの問題に取り組む
    7.13 アテンションを使ってRNNを強化する
    7.14 ニューラル翻訳ネットワークの分析
    7.15 まとめ

8章 メモリ強化ニューラルネットワーク
    8.1 ニューラルチューリングマシン
    8.2 アテンションベースのメモリアクセス
    8.3 NTMでのメモリのアドレス管理
    8.4 微分可能なニューラルコンピューター
    8.5 DNCでの干渉のない書き込み
    8.6 DNCでのメモリの再利用
    8.7 書き込みの時系列的リンク
    8.8 DNCの読み込みヘッドを理解する
    8.9 コントローラーのネットワーク
    8.10 DNCの動作の可視化
    8.11 TensorFlowを使ったDNCの実装
    8.12 DNCに読解させる
    8.13 まとめ

9章 深層強化学習
    9.1 Atariのゲームを習得した深層強化学習
    9.2 強化学習とは
    9.3 マルコフ決定過程(MDP)
        9.3.1 方策
        9.3.2 利得
        9.3.3 割引累積報酬
    9.4 探索と利用
        9.4.1 ε-貪欲法
        9.4.2 ε-貪欲法の改良
    9.5 方策学習と価値学習
        9.5.1 方策勾配を使った方策学習
    9.6 ポールバランシングへの方策勾配の適用
        9.6.1 OpenAI Gym
        9.6.2 エージェントの作成
        9.6.3 モデルとオプティマイザーの作成
        9.6.4 行動の抽出
        9.6.5 履歴の管理
        9.6.6 方策勾配法のメインの関数
        9.6.7 ポールバランシングでのPGAgentの性能
    9.7 Q学習と深層Qネットワーク
        9.7.1 ベルマン方程式
        9.7.2 価値の反復での問題点
        9.7.3 Q関数の近似
        9.7.4 深層Qネットワーク(DQN)
        9.7.5 DQNの訓練
        9.7.6 学習の安定性
        9.7.7 ターゲットQネットワーク
        9.7.8 体験の再現
        9.7.9 Q関数から方策へ
        9.7.10 DQNとマルコフ性の仮定
        9.7.11 DQNでのマルコフ性の仮定への対策
        9.7.12 DQNによる「ブロックくずし」のプレイ
        9.7.13 アーキテクチャー
        9.7.14 画面の積み重ね
        9.7.15 訓練のセットアップ
        9.7.16 ターゲットQネットワークの更新
        9.7.17 体験の再現の実装
        9.7.18 DQNのメインのループ
        9.7.19 「ブロックくずし」でのDQNAgentの成績
    9.8 DQNの改善と新たな方向性
        9.8.1 深層リカレントQネットワーク(DRQN)
        9.8.2 A3C
        9.8.3 UNREAL
    9.9 まとめ

索引