値の反復とポリシーの反復の違いは何ですか?


93

強化学習では、ポリシーの反復値の反復の違いは何ですか?

私が理解している限り、値の反復では、ベルマン方程式を使用して最適なポリシーを解きますが、ポリシーの反復では、ポリシーπをランダムに選択し、そのポリシーの報酬を見つけます。

私の疑問は、PIでランダムポリシーπを選択している場合、複数のランダムポリシーを選択している場合でも、それが最適なポリシーであることがどのように保証されるかということです。


13
次のようなウェブサイトにこの質問をすることがより適切であったであろうai.stackexchange.comstats.stackexchange.comまたはdatascience.stackexchange.com
nbro 2017

回答:


123

それらを並べて見てみましょう。比較のための重要な部分が強調表示されています。図は、サットンとバルトの著書「強化学習:はじめに」からのものです。

ここに画像の説明を入力してください キーポイント:

  1. ポリシーの反復には、ポリシーの評価+ポリシーの改善が含まれ、ポリシーが収束するまで2つが繰り返し繰り返されます。
  2. 値の反復に、最適な値関数の検索+1つのポリシー抽出が含まれます。値関数が最適になると、その中のポリシーも最適になる(つまり収束する)必要があるため、2つの繰り返しはありません。
  3. 最適な値の関数を見つけることは、ポリシーの改善(最大による)と切り捨てられたポリシーの評価(収束に関係なく、すべての状態を1回スイープした後のv_(s)の再割り当て)の組み合わせと見なすこともできます。
  4. ポリシー評価最適値関数の検索のアルゴリズムは、最大操作(強調表示されている)を除いて非常に似ています。
  5. 同様に、ポリシーの改善ポリシーの抽出の重要なステップは、前者が安定性チェックを伴うことを除いて同じです。

私の経験では、ポリシーは値関数よりも速く収束するため、ポリシーの反復値の反復よりも高速です。これも本に書かれているのを覚えています。

混乱は主にこれらのやや類似した用語すべてから来たと思いますが、これも以前は混乱していました。


3
ポリシーの反復がより少ない反復で収束することに同意します。また、いくつかの場所で、より高速であることを読みました。Burlapで両方の方法を使用して、いくつかの簡単なボックスワールドと迷路解決の実験を行いました。値の反復はより多くの反復を実行しましたが、収束に達するまでの時間は短くなりました。YMMV。
ライアン

1
@Chrom、あなたは反対を読むべきだった。これは、本の引用です。ポリシーの反復は、驚くほど少ない反復で収束することがよくあります。これは、図4.1の例で示されています。」、本の2017nov5バージョンの65ページから。
zyxue 2018年

3
はい、私はグリッドワールドのいくつかのフレーバーで遊んだことがあります。反復の観点から「より速い」はおそらくPIを支持するだろうということを指摘しようとしていました。しかし、秒単位の「より速い」は実際にはVIを支持するかもしれません。
ライアン

3
明確にするために、ポリシーの反復はより少ない反復を必要としますが、値の反復よりも計算が複雑です。どちらが速いかは環境によって異なります。
RFネルソン

2
私はこれが古い投稿であることを知っています。しかし、私はこれを調べることを強くお勧めします(medium.com/@m.alzantot/…)リンクはコードを提供し、それは私にとってはるかに明確になりました。
タンデム

72

政策反復アルゴリズム、あなたはランダムなポリシーで始まり、その後、その後、前の値の関数に基づいて、新たな(改善)政策を見つけ、というように、そのポリシー(政策評価ステップ)の値関数を見つけます。このプロセスでは、各ポリシーが前のポリシーよりも厳密に改善されることが保証されます(すでに最適である場合を除く)。ポリシーが与えられると、その値関数はベルマン演算子を使用して取得できます。

値の反復は、最適値関数に達するまで、ランダム値関数で開始し、その後、反復プロセスで新しい(改善)値関数を見つけます。最適値関数から最適なポリシーを簡単に導き出すことができることに注意してください。このプロセスは、最適性のベルマン演算子に基づいています。

ある意味では、両方のアルゴリズムは同じ動作原理を共有しており、一般化されたポリシー反復の2つのケースと見なすことができます。ただし、最適性のBellman演算子には、非線形であるmax演算子が含まれているため、さまざまな機能があります。さらに、純粋な値の反復と純粋なポリシーの反復の間でハイブリッドメソッドを使用することが可能です。


1
これについての素晴らしい説明。ポリシーの反復ではベルマン期待方程式を使用し、値の反復ではメルマンの最大方程式を使用します。値の反復の場合、反復回数を減らすことができますが、1回の反復の場合、多くの作業が必要になる可能性があります。ポリシーの反復については、さらに反復
Shamane Siriwardhana 2017年

ポリシーの反復にもmax演算子はありませんか?それ以外の場合、新しい値関数に基づいてポリシーを更新する方法は?
huangzonghao 2018

いいえ、SARSAアルゴリズムはポリシー反復の典型的な例です。この擬似コード(incompleteideas.net/book/ebook/node64.html)でわかるように、値関数の更新にはmax演算子が含まれていません。ただし、値関数から最適なアクション(つまり、貪欲なアクション)を選択するための最大演算子を意味する場合は、そうです、そのようなプロセスには最大操作があります。
Pablo EM

10

基本的な違いは-

ではポリシー反復-あなたはランダムポリシーを選択し、それに対応する値関数を見つけ、その後、前の値の関数に基づいて、新たな(改善)政策を見つけるので、この上で、最適な政策につながります。

バリュー反復-あなたは、ランダムにその最適値関数から派生し、最適なポリシー、その後、最適値関数に到達するまで、反復プロセスで新しい(改善)値関数を見つけ、その後、値関数を選択します。

ポリシーの反復は、「ポリシーの評価->ポリシーの改善」の原則に基づいて機能します。

価値の反復は、「最適な価値関数--->最適なポリシー」の原則に基づいて機能します。


0

私に関する限り、@ zyxueの考えに反して、VIは一般的PIよりはるかに高速です。

すでにご存知のように、理由は非常に単純です。ベルマン方程式は、特定のポリシーの値関数を解くために使用されます。最適なポリシーの価値関数を直接解くことができるので、現在のポリシーの価値関数を解くことは明らかに時間の無駄です。

PIの収束性についての質問ですが、各情報状態の戦略を改善すれば、ゲーム全体の戦略を改善するという事実を見落としているかもしれません。これは、反事実的後悔の最小化に精通している場合にも簡単に証明できます。各情報状態の後悔の合計が全体的な後悔の上限を形成しているため、各状態の後悔を最小化すると、全体的な後悔が最小化されます。最適なポリシーにつながります。

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