tocomの調査録(機械学習、強化学習多め)

機械学習関連のことをまとめていきます。強化学習関連が多いかもしれません

【強化学習】Reward Shaping

一言で言うと

強化学習の通常の報酬値に、追加の値を加えることで、学習速度を向上させることを目指すフレームワークです。

最もシンプルなReward Shapingは、以下のように、通常の報酬値$r$に追加の報酬$F$を加えるような形

$$ r_{shaped} = r + F $$

代表的なReward Shaping

Potential-based Reward Shaping

ここでは、代表的なReward Shaping手法である、 Potential-based Reward Shaping(PBRS)を紹介します。

PBRSでは$F$を以下のように設定します。 $$ F(s,s') = \gamma \phi(s') - \phi(s) $$

つまり、報酬値は以下のようになります。 $$ \begin{eqnarray} r_{shaped} &=& r + F(s, s') \\ &=& r + \gamma \phi(s') - \phi(s) \end{eqnarray} $$

$\phi$はPotential関数と言い、環境特有の値をいれると良いとされている関数です。
この関数をいかに設定するが重要になってきます。 PBRSの論文*1では $$ \phi(s)=V^{\ast}(s) $$ と設定することを推奨しています。$V^\ast$は最適状態価値関数を表しています。

PBRSはMDPsの問題であれば、通常の報酬値を用いて学習して得られる最適方策と、同様の方策を得られることが理論的に保証されている手法です。
そのため数多く研究されてきました。 証明に関しては参考文献*1を参照。

PBRSをグリッドワールドで実験してみました。
長くなるので以下の記事でまとめました。

www.tcom242242.net

Potential-based Reward Shapingの特徴

Potential-based Reward Shapingには少しおもしろい特徴があります。
それは以下の記事で紹介したので参考にしていただければと思います。

www.tcom242242.net

参考文献

Policy invariance under reward transformations: Theory and application to reward shaping