2017-05-24 5 views
0

あなたは実質的に私のすべての州の行動の確率分布であるポリシーを持っています。価値関数は、最高の報酬を達成するための行動の最良のコースを決定します。ポリシーと価値機能の理解強化学習

私はランダムなポリシーを持っています。私は価値関数を得る。私は、価値関数にしたがって新しい分布で私の方針を更新する。私はこの新しい更新されたポリシーの価値関数を得て、もう一度再評価する。

この定義から、私は価値の反復がどのように機能するのか理解することができず、価値関数が何であるか誤解していると思います。

価値の機能は、行動の最良のコースではありませんが、それは報酬を決定するアクションのコースですか?ポリシーの反復は、現在の報酬よりも高い報酬を提供する価値関数を探し、その後すぐに更新して自分の状態(新しい方針)の新しい行動の分布を与え、その後収束するまで各状態ごとに繰り返します?

その場合、シーケンス内のすべての状態で単一の最良の可能なアクションを探している値の繰り返しです(より良い方法ではなく)。 がポリシーを更新する理由を理解するためにここで苦労していますか?

ポリシーと価値機能に関する私の理解は正しいですか?

ありがとうございます!

ポリシーの理解が間違っていると思います。ポリシーが単純に私の州のすべての可能なアクションを配布しているとすれば、それはどういう意味の「更新」なのかよく分かりません。単に配布を更新するだけの場合、初期化時にポリシーが最初にランダムではないため、値の反復が正確にどのように機能するかは「悪い」配布ではうまくいくのでしょうか?私はこれらがどのように収束し、それと同等に良いのか理解できません。

+0

複数の質問で複数の質問をしますが、1つのモノリシック質問ではありません。 – vin

答えて

0

編集:

http://incompleteideas.net/sutton/book/ebook/node34.html 
http://incompleteideas.net/sutton/book/ebook/node43.html 
http://incompleteideas.net/sutton/book/ebook/node44.html 

私はで本当に言うことができない:ウィキペディアはサットンも同様下記より良い説明このトピックに大きなリソースを持って

https://en.wikipedia.org/wiki/Markov_decision_process#Value_iterationかなりよく、このすべてを説明私はあなたに価値の機能とポリシーが混在していると思います。

value関数は、各状態の値を返します。ベルマン方程式では、このように見えます。特定の状態での値は、あなたの報酬に加えて、割引報酬を与える最大のアクションである

V(S) = max_a[R(s,a) + gamma * ∑_s'T(s,a,s')V(s')]

argmaxの代わりにmaxがあることに注意してください。これはあなたに価値を与えているからです。

一方、ポリシーは、ポリシーに基づいて予想される割引報酬のargmaxです。ポリシーは最良のアクションを返し、value関数は状態の値を返します。あなたがARGMAXで見ることができるように、最適な政策は、最高値を生成し、アクションに向けて移動します

optimal_policy(s) = argmax_a ∑_s'T(s,a,s')V(s')

:ポリシー関数は次のようになります。念頭に置いて

、値の反復が実行し、各状態の初期のユーティリティを起動します:

tは時間ステップであり、s'は次の可能な状態である

V_t+1(s) = R(s) + gamma * max_a (∑_s'T(s,a,s')V_t(s'))

。報酬は国家の「真実」であり、正しい方向に私たちを引き寄せるため、これは収束します。これを証明する定理がありますが、それは問題の範囲を超えています。一方、

ポリシー反復は次のようになります。

optimal_policy_t+1(s) = argmax_a (∑_s' T(s,a,s')V_t(s'))可能なアクションのすべてであるとV_Tが値である

。ポリシーは、その時の段階で最高のアクションを表しているので

V_t+1(s) = R(s) + gamma * max_a(∑_s' T(s,policy_t(s),s')V_t(s')

:値を更新するようになります。ポリシー反復の実行時間はO(N^3)です。

1

あなたはポリシーを持っています。これは実質的に私のすべての州の行動の確率分布です。

はい

値関数は、最も高い報酬を達成するための行動の最高のコースを決定します。状態sで行動aを取るの期待累積報酬が何であるかを値関数がわかります

号、与えられたポリシーため、。

価値の反復とポリシーの反復については忘れてください。あなたが理解しようとするべき2つのことは、政策評価と政策改善です。

  • は、政策評価では、(状態にあると、その後、その後、ポリシーに従って動作するために、あなたの予想累積報酬を伝えます)指定されたポリシーの状態価値関数を見つけ出します。すべての州について、すべての近隣州を見て、その州の政策の期待値を計算します(政策確率による近隣国の価値の加重和)。これを何度も繰り返すすべての州をループする必要があります。これは、そのポリシーの真の状態値関数の限界に収束します(実際には、変化が小さくなると停止します)。

  • ポリシーの改善では、状態価値関数を調べて、すべての状態で、値関数に従って取ることができる最良のアクションを尋ねます。現在のポリシーが取るアクションは、最も高い値のネイバーにつながることはありません。もしそうでなければ、私たちはより良い隣人に到達する方法で行動することによって、自明により良い政策を立てることができます。結果として得られる新しい方針はより良い(または最悪の場合でも同じ)。

ポリシーの繰り返しは、ポリシーの評価とポリシーの改善を繰り返すだけです。

値の反復処理では、評価ステップを切り捨てます。したがって、完全な評価プロセスを収束するのではなく、近隣の状態を調べる1つのステップを実行し、ポリシーの下で期待をするのではなく、最大隣接値を保存することによってポリシーの改善をすぐに行います。評価と改善は一緒に汚れています。値の変化が非常に小さいまで、この汚れたステップを何度も繰り返します。これがなぜ収束するのかという主な考え方は同じです。ポリシーを評価していて、ポリシーを改善できなくなるまで改善しています。

ポリシーと値の繰り返しを理解する方法はたくさんあります。 補強学習:はじめに第2版..私は割引についていくつかの重要な詳細を省いていますが、全体像が今より明確になったらうれしいです。