論文:Reward function and initial values : Better choices for accelerated Goal-directed Reinforcement Learning
hal.archives-ouvertes.fr
強化学習において,報酬と初期値の決め方大事だよね,という話.
2値報酬&一様初期値の場合
ゴール状態の報酬が,それ以外の報酬がのとき,もしであれば,
\begin{align} \forall s \forall a Q^*(s,a) = Q_\infty = \frac{r_\infty}{1-\gamma} \end{align}
となりますが,これはでも,が十分遠ければ成り立ちます.
このとき,だと学習できませんよね,とここまでは当たり前の話.
次に学習時ですが,Q値の更新式は,初期値をとすると,
\begin{array}
Q Q\left(s,a\right) &\leftarrow& Q_i + \alpha[r_\infty + (\gamma - 1)Q_i]\\ &\leftarrow& Q_i + \alpha(1-\gamma)(Q_\infty - Q_i)
\end{array}
と書け,ここから,
- なら,未訪状態を探索しやすくなり,学習初期の探索が進みやすい
- だと,探索済みの状態を選びやすいため学習が進みにくく避けた方が良い
ということが分かります.
言われてみれば確かにな,という感じなのですが,特に各状態で得られる報酬のばらつきが大きく,事前にその予測が難しい場合に,になっていないかということは,あまり今まで気にしていなかったので勉強になりました.
実験では,Gridworldにおいて,としたときに,とするよりもとした方が,学習初期の成績が良いよ,ということを言っているのですが,当然前記設定だと,いつまでも探索を続けることになり,学習後期のスコアはのときの方が断然よく,う~んという感じ.
連続値報酬&非一様初期値の場合
Progress estimatorという考え方が提案されていて,例えばGridworldのケースでは,状態との距離をとしたときに,
\begin{align}
r(s, a, s') = -d^2(s', s_g)
\end{align}
とする方法が提案されていますが,これは袋小路から抜け出せなくなりやすいため良くない,代わりに
とするのが良いと提案しています,が正直う~ん.
このケースではそりゃ良くなるでしょうけど,どの程度一般化できるのか疑問なのと,そもそもこんな風に適切な報酬を設定できるケースが現実の問題においてどのくらいあるのでしょう.
初期値の与え方についても同様に,Goal biasと称して
を提案していますが,上記と同じ疑問が残ります.
なんか誤読しているのでしょうか...