GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

続・逆強化学習

 とりあえず文献を読んで、「Projection Method(PM)を用いた見習い学習」の流れをざっと把握してみました。

 んで、どうもこれ、強化学習より教師あり学習に近いみたいですね。

 まぁ、逆強化学習の発想からしてそうなるのは当然かもしれませんが。

 で、まずは逆強化学習を素直に実装しますが、後々は逆強化学習によって得た報酬関数と通常の(勝敗を基にした)報酬関数をミックスするのも良いかなと考えています。

 例えば対局数cに対して、二つの報酬関数ReRrから最終的な報酬関数R*を次式で求めるとか。

R*(s) = (1-f(c)) * Re(s) + f(c) * Rr(s)

 ただし

f(c)=\frac{1}{1+exp(-g \cdot (c-o))}

 ここで、sは状態、gシグモイド関数のゲイン、oは学習直後のミックスする比率を調整する為の値です。

 例えばg==0.00005, o=100000だと、次のグラフの様にReRrの比率が滑らかに変化します。

 まぁ、まずは通常の逆強化学習を実装して、拡張に関しては後で考える事にします。