強化学習でのQ関数とV関数とは何ですか?


30

ように私には思えるV機能を簡単に表すことができるQ機能ひいてはV機能は、私には余分のようです。しかし、強化学習は初めてなので、何か間違ったことがあると思います。

定義

Q学習とV学習は、マルコフ決定プロセスのコンテキストにあります。A MDPは 5タプルである(S,A,P,R,γ)

  • Sは状態のセットです(通常は有限)
  • Aはアクションのセットです(通常は有限)
  • P(s,s,a)=P(st+1=s|st=s,at=a)は、アクション aで状態sから状態に到達する確率です。sa
  • R(s,s,a)R状態から行く直後の報酬であるs状態にsアクションとa。(通常はのみがs重要であるように思えます)
  • γ[0,1]割引率と呼ばれ、決定された場合は、1つの即時報酬に焦点を当てて(γ=0)、総報酬(γ=1)またはいくつかのトレードオフ。

政策πによると、強化学習:入門サットンによるとバート氏は、関数であるπ:SA(これは確率論することができます)。

よるマリオマルティンススライドV関数である

Vπ(s)=Eπ{Rt|st=s}=Eπ{k=0γkrt+k+1|st=s}
及びQ関数は、ある
Qπ(s,a)=Eπ{Rt|st=s,at=a}=Eπ{k=0γkrt+k+1|st=s,at=a}

私の考え

V全体的な値が期待したもの、機能状態(報酬ではない!)状態のs方針の下でπです。

機能状態状態の値がどのようなSと行動A ポリシーの下でπですQsaπ

これは、

Qπ(s,π(s))=Vπ(s)

右?では、なぜバリュー関数があるのでしょうか?(私は何かを混ぜたと思います)

回答:


15

Q値はアクションを明示的にするための優れた方法であるため、遷移関数が使用できない(モデルなし)問題を処理できます。ただし、アクションスペースが大きい場合、物事はそれほど良くなく、Q値はそれほど便利ではありません。膨大な数のアクション、または連続したアクションスペースさえ考えてください。

サンプリングの観点から見ると、Q(s,a)次元はV(s)よりも高いため、s と比較して十分な(s,a)サンプルを取得するのが難しくなる可能性があります。遷移関数にアクセスできる場合、Vが良い場合があります。(s)V

両方を組み合わせた他の用途もあります。例えば、A(s,a)=Q(s,a)V(s)であるアドバンテージ関数。興味がある場合は、ここでアドバンテージ関数を使用した最近の例を見つけることができます。

深層強化学習のための決闘ネットワークアーキテクチャ

王Z、トム・ショール、マッテオ・ヘッセル、ハド・ヴァン・ハッセルト、マーク・ランクト、ナンド・デ・フレイタス。


19

Vπ(s) MDP(マルコフ決定過程)の状態値の関数です。これは、ポリシー πに続く状態sから始まる期待リターンです。π

式で

Vπ(s)=Eπ{Gt|st=s}

Gt即時のリターンである R tとは対照的に、 G tはタイムステップtからの合計割引報酬です。ここでは、ポリシー πに従ってすべてのアクションを期待しています。Rtπ

Qπ(s,a)行動価値関数です。これは、状態sから始まり、ポリシーπに従ってアクションaを実行する期待リターンです。特定の状態での特定のアクションに焦点を当てています。

Qπ(s,a)=Eπ{Gt|st=s,at=a}

関係Qπ及びVπ(その状態にあるの値)であります

Vπ(s)=aAπ(a|s)Qπ(a,s)

すべてのアクション値にそのアクションを実行する確率(ポリシーπ(a|s))を掛けて合計します。

グリッドワールドの例を考えると、(上/下/右/左)の確率に(上/下/右/左)の1ステップ先の状態値を掛けます。


5
これが最も簡潔な答えです。
ブレット

Vπ(s)=maxaAQπ(s,a)Vπ(s)=aAπ(as)Qπ(a,s)VQVQ

@nbroこれは、あなたがどのようなポリシーに従っているかによって決まると思います。純粋な貪欲なポリシーでは、あなたは正しいです。それは確率的に行動を決定するために建てられた多くの探索的政策があった場合でも、上記の正しいだろう
deltaskelta

7

あなたはそれを正しく持っています、関数は状態の値を与え、は状態でのアクションの値を与えます(与えられたポリシーに従って)。Qラーニングとその仕組みの最も明確な説明は、トムミッチェルの本「Machine Learning」(1997)、ch。13、ダウンロード可能です。は無限級数の合計として定義されますが、ここでは重要ではありません。重要なのは関数が次のように定義されることですVQπVQ

Q(s,a)=r(s,a)+γV(δ(s,a))
ここで、V *は最適なポリシーに従うことができる場合の状態の最適値ですわからない。しかし、という点で素敵なキャラクタリゼーションを有する コンピューティング置換することによって行われる与える最初の式 Q
V(s)=maxaQ(s,a)
QV
Q(s,a)=r(s,a)+γmaxaQ(δ(s,a),a)

これは、現在の状態のアクションのQ値を後続状態の最適なQ値で表現するため、最初は奇妙な再帰に思えるかもしれませんが、バックアッププロセスでの使用方法を見ると意味があります。プロセスは、目標状態に到達すると停止し、報酬を収集します。これが最終遷移のQ値になります。後続のトレーニングエピソードでは、探索プロセスがその先行状態に達すると、バックアッププロセスは上記の等式を使用して、先行状態の現在のQ値を更新します。次回状態のQ値が更新される前任者が訪問されるなど、行をさかのぼります(ミッチェルの本は、すべての計算を保存して後で再生することでこれを行うより効率的な方法を説明しています)。すべての州が無限に頻繁に訪れる場合、このプロセスは最終的に最適なQを計算します

が実際に更新される量を制御するために適用される 学習率が表示されることがあります のお知らせになりましたQ値の更新があることない現在のQ値に依存します。Mitchellの本は、それがなぜであり、なぜあなたがを必要とするのかも説明しています:確率的MDPのために。なければ、状態とアクションのペアが試行されるたびに異なる報酬が得られるため、Q ^関数は場所全体に跳ね返り、収束しません。が存在するため、新しい知識は一部しか受け入れられません。α

Q(s,a)=(1α)Q(s,a)+α(r(s,a)+γmaxaQ(s,a))
=Q(s,a)+α(r(s,a)+γmaxaQ(s,a)Q(s,a))
ααααQの現在の(ほとんどランダムな値)の影響が小さくなるように高く設定されます。はトレーニングが進むにつれて減少するため、新しい更新の影響はますます小さくなり、Q学習は収束しますα


0

アーロンの答えにおける状態値とアクション値の関係のより詳細な説明を以下に示します。最初にポリシー下で値関数とアクション値関数の定義を見てみましょう。 whereは時刻での戻り値です。これらの2つの値関数間の関係は、次のように導出できます。 π

vπ(s)=E[Gt|St=s]qπ(s,a)=E[Gt|St=s,At=a]
Gt=k=0γkRt+k+1t
vπ(s)=E[Gt|St=s]=gtp(gt|St=s)gt=gtap(gt,a|St=s)gt=ap(a|St=s)gtp(gt|St=s,At=a)gt=ap(a|St=s)E[Gt|St=s,At=a]=ap(a|St=s)qπ(s,a)
上記の方程式は重要です。強化学習における2つの基本的な価値関数間の関係を説明します。すべてのポリシーに有効です。さらに、決定論的なポリシーがある場合、ます。これがあなたのお役に立てば幸いです。(ベルマンの最適性の方程式の詳細については、https://stats.stackexchangeをご覧ください。vπ(s)=qπ(s,π(s))


0

値関数は、ユーティリティの抽象的な定式化です。また、Q関数はQ学習アルゴリズムに使用されます。


この質問の文脈では、とは異なります。VQ
シオンサイゴー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.