私は強化学習に関するAndrew Ngの講義ノートを読んでおり、ポリシーの反復が最適値関数と最適ポリシー収束する理由を理解しようとしていました。
リコールポリシーの反復は次のとおりです。
貪欲なアルゴリズムが最適なポリシーと最適な価値関数につながるのはなぜですか?(貪欲なアルゴリズムが常にそれを保証するわけではないこと、またはローカルオプティマでスタックする可能性があることを知っているので、アルゴリズムの最適性の証明を確認したかっただけです)。
また、ポリシーの反復は、クラスタリングや勾配降下に類似しているように見えます。クラスター化するには、パラメーターの現在の設定を使用して最適化します。勾配降下に似ていますが、関数を増やすように見える値を選択するだけです。これらの2つの方法は常に最適な最大値に収束するとは限らず、このアルゴリズムが前述の方法とどのように異なるかを理解しようとしました。
これらはこれまでの私の考えです:
いくつかのポリシーから始めて、最初のステップの後、その固定されたポリシーについて、次のようにします。
ここで、V ^ {(1)}は最初の反復の値関数です。次に、2番目のステップの後、新しいポリシーを選択して、の値を増やします。ここで、新しいポリシーを使用して、アルゴリズムの2番目のステップを実行すると、次の不等式が成り立ちます。
2番目のステップでを選択して、前のステップの値関数を増加させているため(つまり、を改善するため。これまでのところ、を選択してもV ^ {(1)}しか増加できないことは明らかです。これがを選択する方法。ただし、繰り返しステップで混乱が生じます。繰り返してステップ1に戻ると、新しいポリシーを再計算するため、実際には完全に変更されます。それは与える:
しかし、それは違います:
これはがを改善するために選択されたためであり、この新しいはないため、問題であるようです。基本的問題は、ある向上させるために保証実行して代わり値関数であるときに。しかし、繰り返しステップでをに変更しますが、が値関数を改善するように計算されたため、各繰り返しで値関数が単調に改善されることを保証する方法はわかりません値関数は V π 1、しかし、ステップ1はを(これはが以前の値関数を改善しただけなので悪いことです)。