状態価値関数と状態行動価値関数について

今回は、強化学習で重要な状態価値と状態行動価値についてお話しようと思います。

状態価値関数\(V(s)\)とは、名前の通り各状態\(s\)の価値であり、
状態行動価値関数\(Q(s, a)\)とは、各状態\(s\)での各行動\(a\)の価値を表しています。

ここで言う価値というのは期待報酬値を表しています。
つまり、そこの状態に遷移することでどの程度これから報酬が得られそうか?を表しています。

迷路問題を用いた状態価値と状態行動価値の例

以下のような迷路問題を解く強化学習エージェントを用いて、
状態価値と状態行動価値の具体的な例を示します。

f:id:ttt242242:20190418135132j:plain:w400

今回用いる迷路問題の例では、
Sがスタート地点、Gが目的地とします。
なので、Gに着くと高い報酬がもらえるとしています。

状態は、各マス(座標)とし、
行動は上下左右としています。

で、学習が終わっているとします。
つまり、状態価値関数、及び、行動価値関数ともに適切な値になっているとします。

状態価値\(V(s)\)

まず、状態価値\(V(s)\)を見てみます。

f:id:ttt242242:20190418135209j:plain:w400

状態価値という通り、
各状態に対して、価値が割り振られています。
ゴールに近ければ近い状態ほど価値が高くなっています。 エージェントはこれを元に方策を改善したりします。

状態行動価値\(Q(s,a)\)

次に状態行動価値\(Q(s, a)\)について見てみます。

f:id:ttt242242:20190418134904j:plain:w400

状態行動価値では、各状態\(s\)においての各行動\(a\)の価値となっています。
なので、上の図では、各マス(状態)に各行動の価値が入ってます。
状態価値と異なり、ある状態で各行動をとった時の期待報酬値が保持しているので、 方策を別に用意しなくても学習を行えます(Q Learning等)。
ゴールに近い状態であり、さらに、ゴールに近づくような状態行動価値には、高い値が割り振られています。
状態行動価値が正しく学習できていれば、各状態で最も高い行動価値の行動を選択していけば、最短ルートになります。

参考文献

コメント

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