- RLはそのような制約の下で適切なフレームワークですか?
それは可能に見えますが、おそらくあなたが与えていない小さな細部は、他のアプローチをより実現可能にするでしょう。たとえば、通知イベントを多かれ少なかれ独立して扱うことができる場合は、教師あり学習アプローチの方が優れているか、少なくとも実用的です。
より実際には、自分の状態、タイムステップ、アクションの選択がどのようなものになるかは100%明確ではありません。これらは、RLアプローチを機能させるために明確に定義する必要があります。さらに、Markovプロパティがある(またはほぼ持っている)状態を構築できるようにしたい-基本的に、期待される報酬と次の状態について既知でランダムでないものがすべて状態でカバーされること。
- そのような状況でオフラインで最適なポリシーを学習するにはどうすればよいですか
オフライン(データは「ライブ」ではなく履歴データ)とオフポリシー(データは、評価するポリシーとは異なるポリシーによって生成されます)学習者の両方が必要です。さらに、データを生成した動作ポリシーがわからないので、重要度サンプリングを使用できないと思います。
おそらく、Q学習アプローチを使用し、バッチでQ()を使用して各軌道を再生するか、サンプリングされたミニバッチを使用してDQNのバリアントのいずれかを使用して、既存のデータを処理できます。λ
オフポリシーの学習はオンポリシーよりも安定性が低くなる傾向があり、機能するハイパーパラメーターを取得するために数回の試行が必要になる場合があるため、これが機能するとは限りません。Qラーニングはブートストラップに依存しているため、各ステップの最適またはほぼ最適な選択肢をカバーする適切な数のサンプルが必要になります。これは、値の推定をアクションの選択肢から以前のタイムステップに逆にコピーして、影響を与えるためです。これより前に、エージェントは向こうへ向かう行動を取ることを好むと述べています。
状態/アクションスペースが十分に小さい場合(状態とアクションを完全に列挙した場合)、収束の保証があるため、表形式のQラーニングを使用することをお勧めします。ただし、ほとんどの実際的な問題ではこれは実際には不可能であるため、近似関数を使用するためのオプションを確認する必要があります。
...そして同じように私たちはどのように評価しますか?
Qラーニングから(検査により)リアルに見える収束アクション値を取得できる場合、パフォーマンスを評価するには2つの合理的な方法しかありません。
シミュレーションでエージェントを実行することで(そして、おそらくそこでさらに調整することによって)-お客様の環境にはお客様の意思決定が含まれているため、これがシナリオに適しているとは思いません。ただし、これは、環境が基本的な実世界の物理学に支配されている場合など、一部のシナリオに適した足がかりとなります。
実際に、おそらくワークロードのサブセットでエージェントを実行し、統計的信頼を確立するのに十分な時間にわたって実際の報酬を予測された報酬と比較することによって。
また、エージェントを既存のオペレーターと一緒にドライランし、アクションの提案(および報酬の予測)が現実的であるかどうかについてフィードバックを得ることができます。これは主観的なフィードバックであり、アクションを使用する場合と使用しない場合のパフォーマンスを数値的に評価することは困難です。ただし、QAは少し得られます。