ゼロから作るDeep Learning ❹ ―強化学習編 を読んで実装した
オライリーから出ている、「ゼロから作るDeep Learning ❹ ―強化学習編」を読んで実装した。
実装はこのリポジトリにある。 https://github.com/kamiteku557/deep-learning-from-scrach-4github.com
読んだ感想
内容としては、強化学習とは何か・その目的から始まり、ベルマン(最適)方程式の導出、DP・モンテカルロ法、TD法、DQNへと続き、方策勾配法とActor-Criticまでをカバーしている。
強化学習に触れたのはこの本が初めてだったが、かなりわかりやすかったと思う。
ただその一方で、内容はかなり浅瀬を泳いでいる風だったので、これを読んでも「強化学習を実務で使う」だったり「最新論文を読んだら理解できる」という段階にはまだまだ遠いな...という感じ。
(特に、強化学習に必須そうな、並列処理の話とかはなかった。他の実装本だと書いているんだろうか?)
強化学習については、論文を読むなり他の本を読むなりでもう少し勉強したいな。
以下の本は良さそう。
実装の際に参考にしたもの・役立ったもの
- OpenAI Gym を Jupyter Notebook で動かすために、
gym-notebook-wrapper
を使用した。- インストールも使用方法も非常に楽でかなり助かった。
- pytorch周りのTypeHintは
torchtyping
を使って書けるらしい。- 使い方は 【PyTorch】テンソルのデータ型や形状をアノテーションするtorchtypingを使ってみた - yiskw note がわかりやすかった。
- 変数の値を確認するときに、
print
の代わりにicecream
というライブラリを使うと、変数と値が同時に確認できて便利だった。icecream
の使い方は IceCream使い方まとめ - Qiita など。