こんにちは、品川です。本記事は強化学習 Advent Calendar 2021 17日目の記事です。
今回は以前献本いただいた「深層強化学習入門」についてご紹介したいと思います。
噂の深層強化学習本を頂いたので拝読しました!概論として基礎知識や問題設定、課題感がギュッとコンパクトにまとまってました。特に7章以降は学習させるための工夫とか実験の作法だとか重要な点がさらっと詰め込まれてて勉強になりました。分厚い本と組合せて行ったり来たり読み進めると良さそうです pic.twitter.com/3nIEoQmGkE
— Seitaro Shinagawa (@sei_shinagawa) 2021年4月14日
オレンジと黒白の装丁がカッコよくて素晴らしいです。
目次
前置き
強化学習は様々な分野で用いられており、コンピュータビジョンや自然言語処理でも強化学習を使った手法がたくさん提案されてきています。
ただ、全体からすれば、強化学習を使う手法というのは依然としてマイナーな部類だと言えるかもしれません。理由は、おそらく強化学習が教師あり学習や教師なし学習よりもとっつきにくいためでしょう(私も最初はそうでした)
最近はそうでもないですが、強化学習の教科書は割と共通した以下のような特徴があります(個人の感想です)
- 分厚い
- 重厚なベルマン方程式と動的計画法からの導入
- 突然出現する迷路、その中での方策や価値の更新(policy iterationやvalue iteration)
- 対になる似たような名前の概念が多くて面食らう(Policy Iteration vs Value Iteration, Policy base vs Value base, Model base vs Model free, On-policy vs Off-policy, Online vs Offlineなど)
体感ではここら辺が壁です。具体的には、逐次的な操作で徐々に方策や価値が更新されていく感じが分かるところが最初の目標だと思います。研究室で勉強会をした時も、ここら辺がハマりやすいポイントだと感じています。ここを完全に理解した気になると、山を越えて体に強化学習が少し馴染んだ気持ちになれると思っています(個人の感想です)
ここら辺を乗り越える方法としては、なんでも良いので色々見てみると良いかと思います。個人的にはこのあたりがおススメです。
Policy IterationとValue Iterationの部分を取り上げてますが、もちろん最初から読んだ方が(視聴した方が)良いです。よくわからなければ、安心と信頼のSutton本がおススメです。
Sutton本は昔から邦訳のある強化学習の教科書としても親しまれてきた本です。2020年に深層学習も盛り込んで刷新されました。一から読むのは大変ですが詳しく書かれているので、私は分からないところがあった時にしばしば読んでは助かっています。
乗り越えたあとは、そのまま上の資料で勉強しても良いですし、ニューラルネットで深層強化学習がしたいんじゃ~~~という方は、入り口として下記のチュートリアル資料が役に立つと思います。
- ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
- 強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
- Q学習からDQNまで (DQNの資料)
チュートリアルコード
- GitHub - machine-perception-robotics-group/MPRGDeepLearningLectureNotebook (DQN, policy gradient)
- Reinforcement Learning (DQN) Tutorial — PyTorch Tutorials 1.10.0+cu102 documentation(DQN)
本題:「深層強化学習入門」は誰向けの本?
ようやく本題です。これだけ色々と資料がある中で、「深層強化学習入門」はどういう位置づけになるのでしょうか?私の中の答えとしては、「前述の資料とかで深層強化学習にちょっと親しんできて、自分で手を動かして実装とかをし始めた」くらいの方に最適だと思います。(つまり、私に最適でした)
もう少しかみ砕くと、頭の整理が捗る本であり、実装上のコツや気を付ける点が満載されたハンドブックだと思っています。
「深層強化学習入門」の特徴は、まず分厚くないという点です。参考文献含めて124ページ。おお、ほぼコンピュータビジョン最前線 Winter2021と同程度のページ数ですね(ダイマ)鈍器じゃなくてかさばらないので、通勤通学中も気軽に読めるのは嬉しいですね。
コンパクトな見た目に反して、中身は近年までの深層強化学習の話題がてんこ盛りです。特に、
- 重要概念を比較して説明してくれてることが多い点(例えば、第3章ではOn-policy vs Off-policy, Online vs Offlineの違いについて、第6章では、Model base vs Model freeの違いが説明されている)
- 価値ベース(Value base)、方策ベース(Policy base)、およびそれらの組合せのActor-criticの異なる点や利点が説明されている(第4章、第5章)
- 後半7章からは、モデルの汎化性を高めるための工夫や、関連するタスクや概念について網羅的に述べられている
ずっとこういう本が欲しかったんですけど、実は最初さらっと読んでツイートしてた時はまだ真のすごさに気づけてませんでした。ちゃんと読み直してみたらまんま欲しい感じの本だったので驚きました。
入門という名前の通り、最初に読んでももちろん良いと思います。でも、おそらく他の本で一通り学んでなんとなくわかった気になってからこの本を読むと、より良い体験があると思います。前述した理由から他の教科書とは趣が違うので、とりあえず一冊買って持っておくと良いのではと思いました。ご紹介くださった著者の皆様、共立出版様、ありがとうございました。