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