【強化学習、Reward Shaping】Potential-based reward shapingの特徴(Potential-Based Shaping and Q-Value Initialization are Equivalent)

今回は、Potential-Based Reward Shaping(PBRS)の面白い特徴についてお話しようと思います。

Potential-Based Reward Shapingとは

Reward Shaping手法の1つで、通常の環境からの報酬\(r\)にある値\(F(s, s')=\gamma \phi(s')-\phi(s)\)を加えて、学習を高速化させることを目指した手法です。

$$\begin{aligned}
r_{shaped} &= r + F(s, s') \\
&= r + \gamma \phi(s')-\phi(s)$
\end{aligned}$$

\(\phi(s)\)はポテンシャル関数と呼ばれ、この関数をいかに設定するかが、
学習を高速化させるために重要になります。
詳しくは以下の記事にまとめました。

【強化学習】Reward Shaping
Reward Shapingとは強化学習の通常の報酬値に、追加の値を加えることで、学習速度を向上させることを目指すフレームワークです。最もシンプルなReward Shapingは、以下のように、通常の報酬値\(r\)に追加の報酬\(F\...

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値を更新します。

$$\begin{aligned}
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は通常の報酬で学習するので、

$$\begin{aligned}
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(後日追加予定)

参考文献

Potential-Based Shaping and Q-Value Initialization are Equivalent
Shaping has proven to be a powerful but precarious means of improving reinforcement learning performance. Ng, Harada, and Russell (1999) proposed the potential-...

コメント

タイトルとURLをコピーしました