やみとものプログラミング日記 やみとものプログラミング日記
TOP 僕が読んだ全ての強化学習の本の感想
僕が読んだ全ての強化学習の本の感想

僕が読んだ全ての強化学習の本の感想

機械学習 強化学習
作成日時: 2020年11月5日
更新日時: 2020年11月24日
こんにちは、やみともです。
最近は強化学習について勉強していて、たくさん本を買って読んでいるので購入した強化学習関連の本の感想を随時書いていこうと思います。

これから紹介するどの本も多かれ少なかれ数式が出てきますが、理解のコツは、自分の手でノートに数式を書いてみること、また本の内容を暗記するのではなく、自分の頭で考えて論理を構築してみることです。
それをしないと、どの本を読んでも疑問点を解決することができません。

(随時更新)

【New】Unity ML-Agents 実践ゲームプログラミング v1.1対応版 (Unityではじめる機械学習・強化学習)


ゲーム開発エンジンのUnityと、Unity ML-Agentsを使用してUnity上で強化学習を行う方法を紹介している本です。

ライブラリに実装済みの強化学習アルゴリズムが実際に動作する様子をゲームの映像としてダイナミックに体験できる面白さがあります。
また、ML-Agentsの学習の高速化についても解説がなされています。

Unityの操作方法について詳しい解説はされていないので、Unityの基本操作などはUnityの専門書を参考にした方が良いです。
強化学習アルゴリズムに関しても詳しい解説はされていません。

難しさは5段階評価で2くらいだと思います。

ITエンジニアのための強化学習理論入門


数式がそこそこ掲載されていますが、数式での説明が中心という訳ではなく、かなり文章が多くしっかりと説明されています。図も多く分かりやすいです。
Pythonのコードも掲載されていますが、コードの説明も本文中で行われるのでPythonの基本的知識があれば理解することができます。

僕は、色々な強化学習の本を読んだ後に、この本を読んだので初見で理解できるか判断できませんが、かなり文章量多く説明がなされるので内容は分かりやすい方だと思いました。

難しさは5段階評価で3くらいだと思います。

OpenAI Gym/Baselines 深層学習 強化学習


こちらの本は強化学習のアルゴリズムの仕組みを学ぶというよりも、強化学習のライブラリを使って実際に動かしてみるということに主眼が置かれています。
なので、強化学習アルゴリズムの説明はあまりされておらず、そこは強化学習ライブラリを使ってしまうことでだいぶ省略されています。

強化学習アルゴリズムの詳細については他の本を読めば良いということで、この本の面白さは、OpenAI Gymなどのライブラリを用いて実際にアルゴリズムが動作する様子を見れるという点です。

内容はかなり平易に書かれており読みやすいです。

難しさは5段階評価で2くらいだと思います。

【New】強化学習(森村哲郎 著)



この本は僕自身すぐ読むつもりで買ったのではなく、ゆくゆくは理解できるようになりたい、という意味で書いました。
まだあまり読めてませんが、ゴリゴリに数学で書いてあり、厳密な理論が展開されています。
逆に数学が得意な人ならこちらの方が読みやすい可能性がありますが、

難しさは5段階評価で5です。

強化学習についてかなり学んだのち数学による理論付けが知りたくなったら読もうと思います。

実装 強化学習 Cによるロボットプログラミング


この本は、強化学習の一番初めの入門におすすめです。
僕が今まで読んできた中で一番強化学習の導入が丁寧に説明されています。
156ページの薄さなのですぐに読めますが、強化学習の初歩の初歩のアルゴリズムしか説明されていないので、物足りなさはありますが、非常に分かりやすいです。

難しさは5段階評価で1です。

ただし、C言語について基礎的な知識が必要です・・・

AlphaZero 深層学習 強化学習 探索


この本は囲碁の人工知能AlphaZeroをテーマに、深層学習、強化学習、探索について学べる本です。
強化学習に割かれているページ数は約50ページですが、強化学習アルゴリズムをPythonで実際にどう実装するのか、実装まで含めて説明されています。

強化学習アルゴリズムの実装については一番分かりやすかった気がします。

難しさは5段階評価で2です。

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


「つくりながら学ぶ!」とあるように強化学習ライブラリなどを用いず、実際に強化学習アルゴリズムをPythonで実装していく本です。
( ただし実装が正しいか確認するためにOpenAI Gymなどは使います )

実装するアルゴリズムはSarsaやQ学習、REINFORCEなど基本的なものから、書名にもあるようにDQN、DDQN、Dueling Network、Prioritized Experience Replay、A2Cなどの深層強化学習も(実装まで)扱われています。
全7章ありますが、各章末に引用した論文などが一覧になっているので、そこからさらに深く学ぶことも可能です。

Pythonについては基礎知識があることが前提になっています。
Pythonが分かればかなりスラスラと読んでいけると思います。

難しさは5段階評価で2です。

かなりオススメの本です。

これからの強化学習


どちらかというと数式中心の説明がなされている。
強化学習を学び始めて最初に読む本ではなく、ある程度知識が付いてからさらに高度なトピックに進むために読む本だと思う。
ある程度強化学習の知識がないと理解が難しいかもしれない。

難しさは5段階評価で5です。