【苦しみながら理解する強化学習】Spinning Up 02 RLの紹介を読んだ感想文

Model-Based RL

Model-Free vs Model-Based RLだとModel-Freeの方が優れている風に書かれているんだけど、実際の実装方法はどうやるのか論文読む。
Model-Freeには、Policy OptimizationQ-Learningがある。

Policy Optimization


あれ?方策なし学習のことなのか?

Q-Learning


比較

The primary strength of policy optimization methods is that they are principled, in the sense that you directly optimize for the thing you want.

By contrast, Q-learning methods only indirectly optimize for agent performance, by training Q_{\theta} to satisfy a self-consistency equation. There are many failure modes for this kind of learning, so it tends to be less stable.

なので、個人的な理解ですが、Policy Optimizationの方が応用がきく(堅牢な)学習になる。
例えば、走る学習をさせたときに、石に躓いてこけそうになっても立ち直るなどができるんじゃあ?

そして、この2つにはトレードオフがあり、ある環境下では結果が?等しくなるという論文。

実際の経験から拡張した架空の経験だけで学習させた論文とかもあるらしくおもしろいw
そして、架空の経験だけで学習させたことを“training in the dream.”というらしいw

Policy Optimizationを深ぼる

logの計算、めっちゃ忘れた…

4. Gradients of Environment Functions.
では、policyθの影響がなければ5になる
しかし、なぜθに影響をされないんだと思ったけどこれは普通にθについて微分してるだけかという個人的メモ。

待たせたな、コード例だ

122行しかないからしっかり読めよ!

とのことです。

policy network

mlpはMulti Layer Perceptron
27行目のlogitsは行動のlog-probabilitiesとprobabilitiesを計算するために使われる。

強化学習においてloss functionは何の意味もねぇ。あるのはreturn、それだけだ。

8行目のsizes[:-1]全部ってことだよね?
-> 違った、最後尾以外の配列
actionのsizeでdenseしてからhidden_sizeでdenseする。

dense layerが何か

squeezehは1をけす

multinominalは多項分布で多次元配列作る

phはplaceholderだった..
opはOptimizerだった..

InteractiveSessionとは、なんぞ

env.render()は、現在の環境を描画する。

Pythonの実行時にコマンドライン引数を取りたいときは,ArgumentParser (argparse)を使うと便利です。様々な形式で引数を指定することができます。

今までみてきた強化学習と非常に似ているが、コードが数倍見やすい
for training policy以下でpolicyに従うことになっているのかな?

reward_to_goは、各reward毎に、1つ後のrewardを足してlistを計算してweightを計算するように修正している。

情報共有というよりは…メモかよ!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です