強化学習におけるブートストラップとは正確には何ですか?


23

どうやら、強化学習では、時間差(TD)メソッドはブートストラップメソッドです。一方、モンテカルロ法はブートストラップ法ではありません。

RLのブートストラップとは何ですか?RLのブートストラップ方法とは何ですか?

回答:


22

RLのブートストラップは、「同じ種類の更新ステップで1つ以上の推定値を使用する」と読むことができます。の推定値。

ほとんどのTD更新ルールでは、次のSARSA(0)更新のようなものが表示されます。

Q(s,a)Q(s,a)+α(Rt+1+γQ(s,a)Q(s,a))

Rt+1+γQ(s,a)真の値の推定値であるQ(s,a)、またTDターゲットと呼ばれます。一部Q値を使用して別のQ値を更新しているため、これはブートストラップ方式です。Rt+1形で実際に観測された少量のデータがあり、これはステップに対する即時の報酬であり、状態遷移ssます。

同等の更新ルールが存在する可能性のあるモンテカルロとは対照的です。

Q(s,a)Q(s,a)+α(GtQ(s,a))

ここで、Gtは時点tでの合計割引報酬で、この更新では、状態sで開始し、アクションaを開始し、その後、エピソードの終わりまで現在のポリシーに従いました。技術的には、Gt=k=0Tt1γkRt+k+1Tターミナルの報酬と状態のタイムステップです。特に、この目標値は(他のQ値からの)既存の推定値をまったく使用せず、環境からの一連の観測(つまり報酬)のみを使用します。そのため、技術的にはQ s a サンプルであるためQ s a 真の値の不偏推定値であることが保証されます。Q(s,a)Q(s,a)

ブートストラップの主な欠点は、Q(s,a)(またはV(s))の開始値が何であろうと偏るということです。これらはおそらく間違いであり、自己参照が多すぎて実際のデータが不足しているため、更新システム全体が不安定になる可能性があります。これは、ニューラルネットワークを使用したポリシー外学習(Qラーニングなど)の問題です。

ブートストラップを使用せずに、より長い軌道を使用すると、多くの場合、代わりに大きな変動が生じます。これは、実際には、推定値が収束する前により多くのサンプルが必要であることを意味します。そのため、ブートストラップの問題にもかかわらず、機能させることができる場合、学習が大幅に速くなる可能性があり、モンテカルロアプローチよりも好まれます。

モンテカルロのサンプルベースの方法と、異なる長さの軌跡の結果を組み合わせて使用​​することにより、ブートストラップするシングルステップTD方法との間で妥協することができます。これはTD(λ)学習と呼ばれ、SARSA(λ)やQ(λ)などのさまざまな特定の方法があります。


1
これはおそらく別の質問になるはずです。しかし、あなたが答えにしたい場合は、なぜ正確であるRt+1+γQ(s,a)との推定値Q(s,a)
nbro

1
Q(s,a)=E[Rt+1+γQ(St+1,At+1)|St=s,At=a]saQ(St+1,At+1)

1
λTD

1
λλλλ=10.4λ

@NeilSlater、ブートストラップを使用する場合、収束できますか?Q(s '、a')は単なる任意の推測であり、Q(s、a)の推定値を歪めるため、なぜそうすべきかを理解できません。また、なぜTDに比べてMCの分散が大きいのですか?
d56

4

一般に、RLのブートストラップは、正確な値ではなく推定値に基づいて値を更新することを意味します。例えば

インクリメンタルモンテカルロポリシー評価の更新:

V(St)=V(St)+α(GtV(St))

TD(0)ポリシー評価の更新:

V(St)=V(St)+α(Rt+1+γV(St+1)V(St))

sRt+1+γV(St+1) Gt

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