強化学習の時間遅延にどのように対処しますか?

Dec 14 2020

強化学習(RL)の時間遅延について質問があります。

RLには、状態、報酬、行動があります。通常、(私が理解している限り)システムでアクションが実行されると、状態はすぐに変化し、新しい状態を分析して(報酬に影響を与えて)次のアクションを決定できると想定されています。ただし、このプロセスに時間遅延がある場合はどうなりますか。たとえば、あるアクションが実行されたとき$t_1$、システムへの影響は次の場所でのみ取得できます。 $t_2$(流れを想像することができます。アクチュエーターは上流領域にあり、センサーは下流領域にあるため、アクションと状態の間に時間遅延があります)。RLのこの時間遅延にどのように対処しますか?

回答

nbro Dec 15 2020 at 05:38

ほとんどのRLアルゴリズムは、時間の離散化を前提としています(ただし、RLは連続時間の問題にも適用できます[ 1])、つまり、理論的には、連続するタイムステップ間の実際の時間が何であるかは実際には問題ではありませんが、実際には、報酬または観測に遅延がある可能性があるため、たとえばTD更新をすぐに実行することはできません。問題の自然な解決策の1つは、取得した報酬と、特定の状態で特定のアクションを実行した後にエージェントが最終的に到達した次の状態を追跡するか(バッファー内など)、何らかの同期メカニズムを使用することです(私はこれらの解決策を思いついたばかりなので、これが問題を解決するために行われたかどうかはわかりません)。実際には、これは(すべての場合で)機能しない場合があります。たとえば、現在の状態や報酬に関する完全な情報がなくても、何をする必要があるかをすばやく決定する必要があるリアルタイム推論の場合です。

RLには、報酬が頻繁にすると言われている、ことを注意遅れるという意味で、

  1. アクションを実行してから多くのタイムステップでのみアクションの結果を知ることができます(アクションの結果を判断することは、クレジット割り当ての問題として知られています)。
  2. エージェントがゴール/最終状態に達したときにのみ、ゼロ以外の報酬を受け取ることができます(この最後の場合、これらの報酬はスパースとも呼ばれます)。

これらの2つの問題はRLで一般的です。しかし、私があなたの懸念を正しく理解している場合、これはあなたの問題とは少し異なります。あなたの問題には、状態の潜在的な遅延、または前のタイムステップに到着するはずだった報酬さえも含まれているためです。センサー/アクチュエーターが不安定または壊れている。たとえば、DQNを使用している場合、これは通常、カメラによってキャプチャされた最後のフレームを連結することによって現在の状態の近似を構築します。フレームに遅延があり、フレームの自然な順序が変更される場合、これにより、現在の状態の悪い近似になり、実際に壊滅的なイベントにつながる可能性があります。ですから、そうです、これは取り組む必要のある重要な問題です。

私は実際の既存のソリューションにあまり精通していないので、数週間前に読んだ論文「Challenges of Real-World Reinforcement Learning」を参照します。この論文では、この問題について言及し、それに対処します。遅延/まばらな報酬にもっと興味がある場合は、この回答も見てください。