関連サイト
本書の関連ページが用意されています。
内容紹介
強化学習、さらにディープラーニングを組み合わせた深層強化学習DQN(Deep Q-Network)という用語を目にする機会が増えています。本書は関連の概念を分かりやすく解説しつつ、Python+PyTorchで「倒立振子課題」「迷路を解くプログラム」「ブロック崩しの攻略」を実装していきます。
第1章「強化学習の概要」では機械学習とその3分類(教師あり学習、教師なし学習、強化学習)について紹介します。
第2章「迷路課題に強化学習を実装しよう」では、簡単な強化学習(方策勾配法、Sarsa、Q学習)のコードをひとつずつ実装しながら、強化学習のアルゴリズムと実装方法を理解します。迷路を最短ルートでゴールするよう強化学習させます。
第3章「倒立振子課題に強化学習を実装しよう」では、2章で学んだ強化学習の基本をより複雑な課題への適用します。倒立振子とは、“ほうきを手のひらの上に立てる”遊びと同じ内容でその制御ルールを強化学習させます。Anacondaを用いたセットアップ方法も解説します。
第4章「Pytorchでディープラーニングを実装しよう」では、ディープラーニングの内容を理解し、PyTorchで実装します。ニューラルネットワークとディープラーニング発展の歴史、学習フェイズと推論フェイズについて解説。最後に手書き数字の画像を分類するMNIST課題を実装解説します。
第5章「深層強化学習DQNを実装しよう」では、強化学習にディープラーニングを組み合わせた“深層強化学習”を理解し、DQNを実装できるようにします。第3章の倒立振子課題に対してDQNを実装します。
第6章「深層強化学習の発展版を実装しよう」では、新しい深層強化学習の手法、Double-DQN、Dueling Network、Prioritized Experience Replay、そしてA3C、A2Cを理解し、実装できるようにします。
第7章「AWSのGPU環境でブロック崩しを実装しよう」では、ブロック崩しゲームを対象に深層強化学習のA2Cを実装します。実行環境としてAmazonのクラウドサービスAWSのGPU環境を使用する方法も解説します。
深層強化学習はまだまだ解決すべき課題の多い分野です。本書が深層強化学習に興味を持つ皆様の一助となれば幸いです。
書誌情報
- 著者: 株式会社電通国際情報サービス 小川雄太郎
- 発行日: 2018-06-28 (紙書籍版発行日: 2018-06-28)
- 最終更新日: 2018-06-28
- バージョン: 1.0.0
- ページ数: 240ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
株式会社電通国際情報サービス 小川雄太郎
株式会社電通国際情報サービス 技術本部開発技術部に所属。ディープラーニングをはじめとした機械学習関連技術の研究開発・技術支援、ならびにワークスタイルイノベーション室のHRデータ解析を業務とする。明石工業高等専門学校、東京大学工学部を経て、東京大学大学院 神保・小谷研究室にて脳機能計測および計算論的神経科学の研究に従事し、2016年博士号(科学)を取得。東京大学特任研究員を経て、2017年4月より現職。Qiita:qiita.com/sugulu
目次
各章の概要
第1章 強化学習の概要
- 1.1 機械学習の分類(教師あり学習、教師なし学習、強化学習) - 1.2 強化学習・深層強化学習の歴史 - 1.3 深層強化学習の応用事例
第2章 迷路課題に強化学習を実装しよう
- 2.1 Try Jupyterの使い方 - 2.2 迷路とエージェントを実装 - 2.3 方策反復法の実装 - 2.4 価値反復法の専門用語を整理 - 2.5 Sarsa法の実装 - 2.6 Q学習の実装
第3章 倒立振子課題に強化学習を実装しよう
- 3.1 ローカルPCに強化学習の実装・実行環境を整える方法 - 3.2 倒立振子課題「CartPole」の解説 - 3.3 多変数・連続値で示される状態の表形式表現 - 3.4 Q学習の実装
第4章 PyTorchでディープラーニングを実装しよう
- 4.1 ニューラルネットワークとディープラーニングの歴史 - 4.2 ディープラーニングの計算手法を解説 - 4.3 PyTorchで手書き数字画像の分類課題MNISTを実装
第5章 深層強化学習DQNを実装しよう
- 5.1 深層強化学習DQN(Deep Q-Network)の解説 - 5.2 DQNの実装に重要な4つの工夫 - 5.3 DQNの実装(前半) - 5.4 DQNの実装(後半)
第6章 深層強化学習の発展版を実装しよう
- 6.1 深層強化学習のアルゴリズムマップ - 6.2 DDQN(Double-DQN)の実装 - 6.3 Dueling Networkの実装 - 6.4 Prioritized Experience Replayの実装 - 6.5 A2Cの実装
第7章 AWSのGPU環境でブロック崩しを実装しよう
- 7.1 ブロック崩しゲーム「Breakout」の解説 - 7.2 AWSでGPUを使用したディープラーニング実行環境を整える方法 - 7.3 Breakoutの学習に重要な4つの工夫 - 7.4 A2Cの実装(前半) - 7.5 A2Cの実装(後半)