ポリシー反復アルゴリズムが最適なポリシーと価値関数に収束するのはなぜですか?


10

私は強化学習に関するAndrew Ngの講義ノートを読んでおり、ポリシーの反復が最適値関数と最適ポリシー収束する理由を理解しようとしていました。Vπ

リコールポリシーの反復は次のとおりです。

Initialize π randomlyRepeat{Let V:=Vπ \for the current policy, solve bellman's eqn's and set that to the current VLet π(s):=argmaxaAsPsa(s)V(s)}

貪欲なアルゴリズムが最適なポリシーと最適な価値関数につながるのはなぜですか?(貪欲なアルゴリズムが常にそれを保証するわけではないこと、またはローカルオプティマでスタックする可能性があることを知っているので、アルゴリズムの最適性の証明を確認したかっただけです)。

また、ポリシーの反復は、クラスタリングや勾配降下に類似しているように見えます。クラスター化するには、パラメーターの現在の設定を使用して最適化します。勾配降下に似ていますが、関数を増やすように見える値を選択するだけです。これらの2つの方法は常に最適な最大値に収束するとは限らず、このアルゴリズムが前述の方法とどのように異なるかを理解しようとしました。


これらはこれまでの私の考えです:

いくつかのポリシーから始めて、最初のステップの後、その固定されたポリシーについて、次のようにします。π1

Vπ1(s)=R(s)+γsPsπ1(s)(s)Vπ1(s)

V(1):=Vπ1(s)

ここで、V ^ {(1)}は最初の反復の値関数です。次に、2番目のステップの後、新しいポリシーを選択して、の値を増やします。ここで、新しいポリシーを使用して、アルゴリズムの2番目のステップを実行すると、次の不等式が成り立ちます。π2Vπ1(s)π2

R(s)+γsPsπ1(s)(s)Vπ1(s)R(s)+γsPsπ2(s)(s)Vπ1(s)

2番目のステップでを選択して、前のステップの値関数を増加させているため(つまり、を改善するため。これまでのところ、を選択してもV ^ {(1)}しか増加できないことは明らかです。これがを選択する方法。ただし、繰り返しステップで混乱が生じます。繰り返してステップ1に戻ると、新しいポリシーを再計算するため、実際には完全に変更されます。それは与える:π2V(1)π2π2V2π2

Vπ2(s)=R(s)+γsPsπ2(s)(s)Vπ2(s)

しかし、それは違います:

Vπ1(s)=R(s)+γsPsπ2(s)(s)Vπ1(s)

これはがを改善するために選択されたためであり、この新しいはないため、問題であるようです。基本的問題は、ある向上させるために保証実行して代わり値関数であるときに。しかし、繰り返しステップでをに変更しますが、が値関数を改善するように計算されたため、各繰り返しで値関数が単調に改善されることを保証する方法はわかりません値関数はπ2V(1)Vπ2pi2R(s)+γsPsπ1(s)(s)Vπ1(s)π2pi1Vπ1Vπ1Vπ2π2Vπ1 V π 1、しかし、ステップ1はを(これはが以前の値関数を改善しただけなので悪いことです)。Vπ1Vπ2π2


1
注:貪欲は、アルゴリズムが一般に最適なソリューションを見つけられないことを意味するものではありません。
Regenschein 2015

1
値の反復は、貪欲なアルゴリズムではなく、動的プログラミングアルゴリズムです。2つはいくつかの類似点を共有していますが、違いがあります。見てくださいstackoverflow.com/questions/13713572/...を
francoisr 2017

@francoisr誰も私にそれを言わなかった。たぶんそれが、(不必要に)神秘的だった理由です。私はDPをかなりよく知っています。ありがとう!:)
ピノキオ

回答:


4

あなたが欠けている部分は、が注文できるのと同じ理由で保証されていることだと思います。これは基本的に、あるポリシーが別のポリシーよりも優れているという定義です。つまり、その価値関数はすべての州でより大きいか等しいということです。これは、最大化アクションを選択することで保証されています。状態値が以前より悪くなることはありません。より優れた最大化アクションを選択するために1つのアクションの選択のみが変更された場合、その状態は、場合よりも高くなります。Vπ2Vπ1π2π1Vπ2(s)Vπ1(s)

結果を最大化してを生成することを選択した場合、どのがどの状態になるかはわかりませんが、。π2Vπ2(s)s:Vπ2(s)Vπ1(s)

したがって、ループを戻って新しいポリシーのを計算すると、以前と同じかそれ以上の値になることが保証され、ポリシーを再度更新する場合は、。Vπ2π3π2π1


4

まず、ポリシー反復アルゴリズムが機能する理由を見てみましょう。2つのステップがあります。

ポリシー評価ステップ:

vn=rdn+γPdnvnは、線形方程式系の一般的なベクトル形式です。

ここで、用語は、遷移マトリックスの即時報酬および対応する行です。rdn,Pdn

これらの条件はポリシーに依存しますΠn

上記の連立方程式を解くと、の値を見つけることができますvn

ポリシー改善ステップ:

我々は、新しいポリシーを見つけることができたと仮定となるようΠn+1

rdn+1+γPdn+1vnrdn+γPdnvnrdn+1[IγPdn+1]vnsay this is eqn. 1

今、新しいポリシーに基づく、我々は見つけることができ 、これが方程式2だとしましょう。Πn+1vn+1=rdn+1+γPdn+1vn+1

私たちは、それを示すために予定されている。vn+1vn

つまり、本質的にすべての州に対して、新しく選択されたポリシーは、以前のポリシーと比較してより良い値を提供しますΠn+1Πn

証明:

方程式2から、

[IγPdn+1]vn+1=rdn+1

から、、1&2

vn+1vn

基本的に、値は各反復で単調に増加しています。

これは、ポリシーの相互作用がローカルの最大値でスタックしない理由を理解するために重要です。

ポリシーは、状態アクションスペースにすぎません。

すべてのポリシー反復ステップで、と間で異なる少なくとも1つの状態アクションを見つけて 、かどうかを確認します。条件が満たされた場合のみ、新しい線形方程式系の解を計算します。Πn+1Πnrdn+1+γPdn+1vnrdn+γPdnvn

およびがそれぞれ大域的および局所的最適であると仮定します。ΠΠ#

意味、vv#

アルゴリズムが局所最適値でスタックしていると仮定します。

これに該当する場合、にはとは異なる少なくとも1つの状態アクションが存在するため、ポリシー改善ステップはローカルの最適状態アクションスペースで停止しません。 そしてと比較して値が高くなりますΠ#ΠΠ#vv#

または、言い換えれば、

[IγPd]v[IγPd]v#

rd[IγPd]v#

rd+γPdv#v#

rd+γPdv#rd#+γPd#v#

したがって、ポリシーの反復はローカルの最適値で停止しません

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