モンテカルロ法が時間差法よりも好ましいのはいつですか?


12

私は最近、強化学習について多くの研究を行っています。私は、サットン&バルトの強化学習:これの大部分についての紹介をフォローしました。

マルコフ決定プロセスとは何か、動的プログラミング(DP)、モンテカルロ、時間差(DP)の学習を使用してそれらを解決する方法を知っています。問題私がいるが、モンテカルロはTD-過剰学習より良いオプションになるとき、私は見ていないということです。

それらの間の主な違いは、TD学習がアクション値関数を近似するためにブートストラップを使用し、モンテカルロがこれを達成するために平均を使用することです。これがより良い方法であるとき、私は本当にシナリオを考えることができません。

私の推測では、それはパフォーマンスと関係があるかもしれませんが、これを証明できるソースを見つけることができません。

私は何かが足りないのですか、それともTD学習が一般的にはより良い選択肢ですか?

回答:


8

TD学習とDPの主な問題は、ステップの更新が学習パラメーターの初期条件に偏っていることです。ブートストラッププロセスは通常、現在の推定値が後者にあるものを使用して、後続値Q(s '、a')の関数またはルックアップQ(s、a)を更新します。明らかに、学習を始めたばかりの時点では、これらの推定値には、実際の報酬や状態遷移からの情報は含まれていません。

学習が意図したとおりに機能する場合、バイアスは複数の反復にわたって漸近的に減少します。ただし、バイアスは、特にポリシー外の方法(例:Qラーニング)の場合、および関数近似器を使用する場合に、重大な問題を引き起こす可能性があります。この組み合わせは収束に失敗する可能性が高いため、Sutton&Bart では致命的なトライアドと呼ばれています。

各更新はQ(s、a)の真のサンプルを使用して行われるため、モンテカルロ制御法はこのバイアスの影響を受けません。ただし、モンテカルロ法では分散が大きくなる可能性があります。これは、TDと比較して、同じ程度の学習を実現するには、より多くのサンプルが必要であることを意味します。

実際には、致命的なトライアドの問題を克服できれば、TD学習はより効率的に学習するように見えます。エクスペリエンスのリプレイと推定器の段階的な "凍結"コピーを使用した最近の結果は、問題に対処する回避策を提供します。たとえば、AtariゲームのDQN学習器がどのように構築されたかです。

λλ0101

(ポリシーベースの方法ではなく)値ベースの方法を使用している場合、実際にはTD学習がより一般的に使用されます。または、TD(λ)などのTD / MCの組み合わせ方法の方が優れている場合があります。

MCの「実用的な利点」という点では?モンテカルロ学習は、概念的には単純で、堅牢で、実装が簡単ですが、TDよりも遅いことがよくあります。私は通常、(単純な環境で何かを急いで実装するのでない限り)学習コントローラーエンジンには使用しませんが、たとえば複数のエージェントを比較するためのポリシー評価には真剣に検討します。公平な測定。これはテストにとって重要です。


まず、答えてくれてありがとう。理論的には、偏りのないアルゴリズムよりもバイアスのないアルゴリズムの方が好ましいと思います。しかし、トレーニングの開始時にモンテカルロが与える可能性のある大きな変動を考慮すると、これが本当に重要であるかはわかりません。モンテカルロとTDの両方が不正確な近似から始まり、私が読んだことから、TDははるかに速く収束します。モンテカルロを使用することの実用的な利点を思い付くことができません。(致命的なトライアドを楽しむことは回避できます)
Anne-dirk

1
@ Anne-dirk(ポリシーベースの方法ではなく)値ベースの方法を使用している場合、実際に TD学習より一般的に使用されます。または、TD(λ)などのTD / MC組み合わせ方法でもより良い。「実用上の利点」の意味がわかりませんか?モンテカルロ学習は概念的にシンプルで、堅牢で、実装が簡単です。私は通常、(単純な環境で何かを急いで実装しない限り)学習コントローラーエンジンには使用しませんが、たとえば複数のエージェントを比較するためのポリシー評価には真剣に検討します。
Neil Slater

@Neul Slater Aaaahなるほど...それは私が探していた答えの一種です:)ご協力ありがとうございます!
Anne-dirk 2018年

-1

基本的には、環境によって異なります。

TDはMarkovプロパティを利用します。つまり、プロセスの将来の状態は現在の状態のみに依存するため、通常、Markov環境でTDを使用する方が効率的です。

MCは、マルコフ以外の環境に役立つ学習プロセス全体に報酬を与えるため、マルコフプロパティを利用しません。


これは正しいとは思いませんし、少なくとも、はっきりとはわかりません。RLのコンテキストでは、Markovプロパティは状態に関連付けられています。マルコフ特性が満たされない場合にMCアルゴリズムがよりうまく機能する理由を明確にしていただけませんか?
nbro

明確にするために、私は効率について言及していました。マルコフプロパティを利用できる場合、任意の状態、開始、アクションで開始でき、結果は常に同じになるため、TDは有利です。したがって、高いレベルの確実性でTDエラーを計算できます。非MDPの場合、部分的に観察される状態になると、TDはあまり効率的ではない可能性があります。非MDPでTDを使用できないと言っているわけではありませんが、それは非効率的であり、TD(1)ではなくTDラムダを使用すると成功する可能性があります。
BigBadMe

「Markovプロパティを活用できる場合、任意の状態で開始して実行できるアクションと結果は常に同じになるため、TDは有利です」、環境が確定的であれば同じです。これは、Markovプロパティとどのような関係がありますか?あなたの主張は聞き取れません。POMDPなどのTDはMCより効率が悪いとどこで読みましたか。
nbro

それは文字通り、マルコフであることと関係があります。マルコフ環境にいる場合は、アクションaの状態を確立すると、それがリードaとxの報酬を示します-これは常にマルコフ環境に当てはまるため、評価する必要はありません。以上-あなたはより大きな一歩を踏み出すことができ、TDはそれを活用することができます。しかし、POMDPの場合はそうではありません。まったく同じ状態を持ち、同じアクションを実行できますが、完全に異なる状態と報酬が得られるからです。
BigBadMe

「もしあなたがマルコフ環境にいるなら、あなたが行動を起こすことを確立したら、それがリードするだろう」と報酬xで述べます。いいえ。これは、環境が確定的である場合にのみ当てはまります。環境も確率論的です。「それは常にマルコフ環境で当てはまる」、いいえ、これはマルコフプロパティとは直交する問題です。
nbro
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.