今回は、Potential-Based Reward Shaping(PBRS)の面白い特徴についてお話しようと思います。
Potential-Based Reward Shapingとは
Reward Shaping手法の1つで、通常の環境からの報酬\(r\)にある値\(F(s, s’)=\gamma \phi(s’)-\phi(s)\)を加えて、学習を高速化させることを目指した手法です。
r_{shaped} &= r + F(s, s’) \\
&= r + \gamma \phi(s’)-\phi(s)$
\end{aligned}$$
\(\phi(s)\)はポテンシャル関数と呼ばれ、この関数をいかに設定するかが、
学習を高速化させるために重要になります。
詳しくは以下の記事にまとめました。
Potential-Based Shaping and Q-Value Initialization are Equivalent
では、本題に入ります。
論文「Potential-Based Shaping and Q-Value Initialization are Equivalent」において、PBRSの重要な特徴が述べられています。
それが、
「同じ経験で学習する場合、通常のPBRSによって学習するエージェント1と、
初期のQ値に\(\phi(s)\)を加え通常の報酬で学習を行うエージェント2の Q値は同値になる」
という性質です。
もう少し具体的に見てみます。
ここでは、エージェント1、エージェント2を用意します。
エージェント1のQ値の初期の値は\(Q^1(s, a)=Q_0(s, a)\)とし、
エージェント2のQ値の初期の値は\(Q^2(s, a)=Q_0(s, a)+\phi(s)\) とします。
エージェント1は通常のPBRSで学習するエージェントなので、以下の式でQ値を更新します。
Q^1(s, a) \leftarrow Q^1(s, a) + \alpha (r+\gamma \phi(s’)-\phi(s) + \gamma max _{a’}Q^1(s’, a’)-Q^1(s, a))
\end{aligned}$$
エージェント2は通常の報酬で学習するので、
Q^2(s, a) \leftarrow Q^2(s, a) + \alpha (r+ \gamma max _{a’}Q^2(s’, a’)-Q^2(s, a))
\end{aligned}$$
のようにQ値を更新します。
この時に、同じ経験の系列によって学習した場合、常に\(Q^1(s, a)=Q^2(s, a)\)となります。
なので、いちいちステップ毎にPBRSで更新するより、初期状態で\(\phi(s)\)を加え、後は通常のQ学習を行うほうが楽ですよということを言っています。
補足
定理と証明
参考文献の論文を参考にしていただければと思います。
@todo(後日追加予定)
参考文献
https://arxiv.org/abs/1106.5267
コメント