Reward Shapingとは
強化学習の通常の報酬値に、追加の値を加えることで、学習速度を向上させることを目指すフレームワークです。
最もシンプルなReward Shapingは、以下のように、通常の報酬値\(r\)に追加の報酬\(F\)を加えるような形
$$
\begin{eqnarray}
r_{shaped} = r + F
\end{eqnarray}
$$
\begin{eqnarray}
r_{shaped} = r + F
\end{eqnarray}
$$
代表的なReward Shaping
Potential-based Reward Shaping
ここでは、代表的なReward Shaping手法である、 Potential-based Reward Shaping(PBRS)を紹介します。
PBRSでは\(F\)を以下のように設定します。
$$\begin{aligned}
F(s,s’) = \gamma \phi(s’) – \phi(s)
\end{aligned}$$
F(s,s’) = \gamma \phi(s’) – \phi(s)
\end{aligned}$$
つまり、報酬値は以下のようになります。
$$
\begin{eqnarray} r_{shaped} &=& r + F(s, s’) \\
&=& r + \gamma \phi(s’) – \phi(s)
\end{eqnarray}
$$
\begin{eqnarray} r_{shaped} &=& r + F(s, s’) \\
&=& r + \gamma \phi(s’) – \phi(s)
\end{eqnarray}
$$
\(\phi\)はPotential関数と言い、環境特有の値をいれると良いとされている関数です。
この関数をいかに設定するが重要になってきます。 PBRSの論文では \( \phi(s)=V^{\ast}(s) \) と設定することを推奨しています。\(V^\ast\)は最適状態価値関数を表しています。
PBRSはMDPsの問題であれば、通常の報酬値を用いて学習して得られる最適方策と、同様の方策を得られることが理論的に保証されている手法です。
そのため数多く研究されてきました。 証明に関しては参考文献を参照。
PBRSをグリッドワールドで実験してみました。
長くなるので以下の記事でまとめました。
【強化学習】Potential based Reward Shaping を試してみる
Potential-based Reward Shapingの特徴
Potential-based Reward Shapingには少しおもしろい特徴があります。
それは以下の記事で紹介したので参考にしていただければと思います。
【強化学習、Reward Shaping】Potential-based reward shapingの特徴(Potential-Based Shaping and Q-Value Initialization are Equivalent)
参考文献
Policy invariance under reward transformations: Theory and application to reward shaping
コメント
[…] https://www.tcom242242.net […]