7

一般化された時間差分 (SARSA、Q 学習など) を使用する標準的な強化学習アルゴリズムのいずれかで、特定のタスクのラムダおよびガンマ ハイパーパラメーターにどの値を使用するかという問題が生じます。

ラムダは適格性トレースの長さに関連付けられており、ガンマは将来の報酬をどれだけ割引するかとして解釈できることを理解していますが、特定のタスクに対してラムダ値が低すぎるか、ガンマが高すぎるかをどのように知ることができますか?

これらの質問には明確に定義された答えがないことは承知していますが、不適切な値を持つための「危険信号」を知っておくと非常に役立ちます。

たとえば、標準的なカートポールまたは倒立振子のタスクを考えてみましょう。タスクを失敗させるには多くのステップが必要なため、ガンマを高く設定する必要がありますか?それとも、状態情報が完全にマルコフ的であるため、ガンマを低く設定する必要がありますか? そして、ラムダ値の合理性さえ理解できません...

4

1 に答える 1

17

ガンマ

通常、ガンマはアルゴリズムではなく、問題の一部と見なされます。強化学習アルゴリズムは、状態ごとに累積割引報酬を最適化しようとします。

r1 + gamma*r2 + gamma^2*r3 + gamma^3*r4 ...

現在の状態からrnタイム ステップで受け取った報酬はどこにありますか。nしたがって、ガンマの 1 つの選択に対してアルゴリズムは 1 つのことを最適化し、別の選択に対しては別のものを最適化します。

ただし、特定の高レベルの目標を定義した場合でも、多くの異なるガンマが目標の要件を満たす可能性があるため、モデル化の選択肢が残ることがよくあります。たとえば、カート ポールの目標は、ポールのバランスをとることです。バランスが取れているすべてのステップに +1 の報酬を与える場合、同じポリシー (常に極のバランスを取るポリシー) がすべてのガンマ > 0 に対して最適です。この目標 - ガンマの値が異なると異なります。

一般に、ほとんどのアルゴリズムは、あまり先の未来を見る必要がない場合、より速く学習します。そのため、ガンマを比較的低く設定するとパフォーマンスが向上する場合があります。一般的な経験則は次のようになります:min_gamma高レベルの目標をまだ満たす最低のガンマを決定し、ガンマを に設定しgamma = (min_gamma + 1)/2ます。(それ自体を使用したくないgamma = min_gammaのは、次善の目標が望ましい目標とほぼ同じであるとみなされるためです。) もう 1 つの有用な経験則: 多くの問題では、0.9 または 0.95 のガンマで問題ありません。ただし、報酬関数と組み合わせたときに、最適化する目標に対してそのようなガンマが何を意味するかを常に考えてください。

ラムダ

ラムダ パラメーターは、現在のモンテカルロ ロールアウトを使用する場合と比較して、以前に学習した値をどの程度ブートストラップするかを決定します。これは、より多くのバイアス (低いラムダ) とより多くの分散 (高いラムダ) の間のトレードオフを意味します。多くの場合、ラムダをゼロに設定することはすでに優れたアルゴリズムですが、ラムダをいくらか高く設定すると速度が向上します。ここでは、何を最適化するかについて心配する必要はありません。目標はラムダとは無関係であり、このパラメーターは学習の高速化に役立つだけです。つまり、ラムダは完全にアルゴリズムの一部であり、問​​題ではありません。

一般的な経験則は、0.9 に等しいラムダを使用することです。ただし、いくつかの設定 (0、0.5、0.8、0.9、0.95、1.0 など) を試して、学習曲線をプロットするだけでもよい場合があります。次に、最も速く学習していると思われるものを選択できます。

于 2013-07-11T11:20:39.233 に答える