機械学習、強化学習の調査録

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

【強化学習、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{eqnarray} r_{shaped} &=& r + F(s, s') \\ &=& r + \gamma \phi(s')-\phi(s)$ \end{eqnarray} $$

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

www.tcom242242.net

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{eqnarray} 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{eqnarray} $$

エージェント2は通常の報酬で学習するので、 $$ \begin{eqnarray} Q^2(s, a) \leftarrow Q^2(s, a) + \alpha (r+ \gamma max _{a'}Q^2(s', a')-Q^2(s, a)) \end{eqnarray} $$ のようにQ値を更新します。

この時に、同じ経験の系列によって学習した場合、常に$Q^1(s, a)=Q^2(s, a)$となります
なので、いちいちステップ毎にPBRSで更新するより、初期状態で$\phi(s)$を加え、後は通常のQ学習を行うほうが楽ですよということを言っています。

補足

定理と証明

参考文献の論文を参考にしていただければと思います。
@todo(後日追加予定)

参考文献

https://arxiv.org/abs/1106.5267