つくりながら学ぶ!深層強化学習 - PyTorch による実践プログラミング

出版社
出版日
ページ数
288
目次
各章の概要 第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 ( Deep Q-Network )を実装しよう 5.1 深層強化学習「 DQN 」の解説 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 ( Synchronous variant of A3C: Asynchronous Advantage Actor Critic )の実装 第7章 Amazon Web Services ( AWS ) の GPU 環境でブロック崩しを実装しよう 7.1 ブロック崩しゲーム「 Breakout 」の解説 7.2 AWS で GPU を使用したディープラーニング実行環境を整える方法 7.3 Breakout の学習に重要な 4 つの工夫 7.4 A2C の実装(前半) 7.5 A2C の実装(後半) あとがき 索引 参考文献 謝辞
紹介( powered by openBD

強化学習、さらにディープラーニングを組み合わせた深層強化学習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環境を使用する方法も解説します。

深層強化学習はまだまだ解決すべき課題の多い分野です。本書が深層強化学習に興味を持つ皆様の一助となれば幸いです。