強化学習では、ポリシーの反復と値の反復の違いは何ですか?
私が理解している限り、値の反復ではベルマン方程式を使用して最適なポリシーを解きますが、ポリシーの反復ではランダムにポリシーπを選択し、そのポリシーの報酬を見つけます。
私の疑問は、PIでランダムポリシーπを選択している場合、複数のランダムポリシーを選択している場合でも、どのように最適なポリシーであることが保証されるかということです。
それらを並べて見てみましょう。比較のための重要な部分が強調表示されています。図はサットンとバルトの本からのものです:強化学習:はじめに。
私の経験では、ポリシーは値関数よりも速く収束するため、ポリシーの反復は値の反復よりも高速です。これは本でも説明されていることを覚えています。
混乱は主にこれらのやや似た用語すべてから来たと思いますが、これも以前私を混乱させていました。
policy iterationアルゴリズムでは、ランダムなポリシーから開始し、そのポリシーの値関数を見つけ(ポリシー評価ステップ)、次に新しい(改善された)前の値関数に基づくポリシーなど。このプロセスでは、各ポリシーは以前のポリシーよりも厳密に改善されることが保証されています(既に最適化されている場合を除く)。ポリシーが与えられた場合、その値関数はBellman演算子を使用して取得できます。
value iterationでは、ランダムな値関数から始めて、最適な値関数に達するまで、反復プロセスで新しい(改善された)値関数を見つけます。最適値関数から最適なポリシーを簡単に導出できることに注意してください。このプロセスは、最適ベルマン演算子に基づいています。
ある意味では、両方のアルゴリズムは同じ動作原理を共有し、それらは generalized policy iteration の2つのケースとして見ることができます。ただし、最適性のベルマン演算子にはmax演算子が含まれています。これは非線形であるため、さまざまな機能があります。さらに、純粋な値の反復と純粋なポリシーの反復の間でハイブリッド方式を使用することもできます。
基本的な違いは-
In Policy Iteration-ポリシーをランダムに選択し、それに対応する値関数を見つけてから、前の値関数に基づいて新しい(改善された)ポリシーを見つけます。これにより、最適なポリシーが得られます。
値の反復-値関数をランダムに選択し、最適な値関数に到達するまで反復プロセスで新しい(改善された)値関数を見つけ、その最適な値関数から最適なポリシーを導き出します。
ポリシーの反復は、「ポリシー評価->ポリシーの改善」の原則に基づいて機能します。
値の反復は、「最適な値関数->最適なポリシー」の原則に基づいて機能します。
私に関する限り、@ zyxueの考え方とは反対に、VIは一般的にはるかに高速 PIよりも優れています。
その理由は非常に簡単です。すでにご存じのように、Bellman方程式は特定のポリシーの価値関数を解くために使用されます。 最適ポリシー直接の値関数を解くことができるため、currentポリシーの値関数を解くことは明らかに時間の無駄です。
PIの収束性に関する質問については、各情報状態の戦略を改善すると、ゲーム全体の戦略が改善されるという事実を見落とす可能性があると思います。反事実的後悔の最小化に精通していれば、これも簡単に証明できます-各情報状態の後悔の合計が後悔全体の上限を形成しているため、各状態の後悔を最小化すると後悔全体が最小化されます最適なポリシーにつながります。