あなたはそれを正しく持っています、関数は状態の値を与え、は状態でのアクションの値を与えます(与えられたポリシーに従って)。Qラーニングとその仕組みの最も明確な説明は、トムミッチェルの本「Machine Learning」(1997)、ch。13、ダウンロード可能です。は無限級数の合計として定義されますが、ここでは重要ではありません。重要なのは関数が次のように定義されることですVQπVQ
Q(s,a)=r(s,a)+γV∗(δ(s,a))
ここで、V *は最適なポリシーに従うことができる場合の状態の最適値ですわからない。しかし、という点で素敵なキャラクタリゼーションを有する
コンピューティング置換することによって行われる与える最初の式
Q
V∗(s)=maxa′Q(s,a′)
QV∗Q(s,a)=r(s,a)+γmaxa′Q(δ(s,a),a′)
これは、現在の状態のアクションのQ値を後続状態の最適なQ値で表現するため、最初は奇妙な再帰に思えるかもしれませんが、バックアッププロセスでの使用方法を見ると意味があります。プロセスは、目標状態に到達すると停止し、報酬を収集します。これが最終遷移のQ値になります。後続のトレーニングエピソードでは、探索プロセスがその先行状態に達すると、バックアッププロセスは上記の等式を使用して、先行状態の現在のQ値を更新します。次回は状態のQ値が更新される前任者が訪問されるなど、行をさかのぼります(ミッチェルの本は、すべての計算を保存して後で再生することでこれを行うより効率的な方法を説明しています)。すべての州が無限に頻繁に訪れる場合、このプロセスは最終的に最適なQを計算します
が実際に更新される量を制御するために適用される
学習率が表示されることがあります
のお知らせになりましたQ値の更新があることない現在のQ値に依存します。Mitchellの本は、それがなぜであり、なぜあなたがを必要とするのかも説明しています:確率的MDPのために。なければ、状態とアクションのペアが試行されるたびに異なる報酬が得られるため、Q ^関数は場所全体に跳ね返り、収束しません。が存在するため、新しい知識は一部しか受け入れられません。αQ(s,a)=(1−α)Q(s,a)+α(r(s,a)+γmaxa′Q(s′,a′))
=Q(s,a)+α(r(s,a)+γmaxa′Q(s′,a′)−Q(s,a))
ααααQの現在の(ほとんどランダムな値)の影響が小さくなるように高く設定されます。はトレーニングが進むにつれて減少するため、新しい更新の影響はますます小さくなり、Q学習は収束しますα