履歴データの強化学習


8

お客様に最適なコミュニケーションの方針(どの通知を送信するか、何通送信するか、いつ送信するか)の学習に取り組んでいます。送信された過去の通知(タイムスタンプ付き)とそのパフォーマンスの履歴データがあります。最適なポリシーを学習するために、RLをこの問題に適用しようとしていました。ただし、ここでの主な制約の1つは、現在アクション(どの通知をどの顧客に送信できるか)を制御していないため、ポリシーをその場で(オンラインで)学習する余裕がないことです。2つの質問があります。

  1. RLはそのような制約の下で適切なフレームワークですか?
  2. このような状況でオフラインで最適なポリシーを学習するにはどうすればよいですか?

回答:


6
  1. RLはそのような制約の下で適切なフレームワークですか?

それは可能に見えますが、おそらくあなたが与えていない小さな細部は、他のアプローチをより実現可能にするでしょう。たとえば、通知イベントを多かれ少なかれ独立して扱うことができる場合は、教師あり学習アプローチの方が優れているか、少なくとも実用的です。

より実際には、自分の状態、タイムステップ、アクションの選択がどのようなものになるかは100%明確ではありません。これらは、RLアプローチを機能させるために明確に定義する必要があります。さらに、Markovプロパティがある(またはほぼ持っている)状態を構築できるようにしたい-基本的に、期待される報酬と次の状態について既知でランダムでないものがすべて状態でカバーされること。

  1. そのような状況でオフラインで最適なポリシーを学習するにはどうすればよいですか

オフライン(データは「ライブ」ではなく履歴データ)とオフポリシー(データは、評価するポリシーとは異なるポリシーによって生成されます)学習者の両方が必要です。さらに、データを生成した動作ポリシーがわからないので、重要度サンプリングを使用できないと思います。

おそらく、Q学習アプローチを使用し、バッチでQ()を使用して各軌道を再生するか、サンプリングされたミニバッチを使用してDQNのバリアントのいずれかを使用して、既存のデータを処理できます。λ

オフポリシーの学習はオンポリシーよりも安定性が低くなる傾向があり、機能するハイパーパラメーターを取得するために数回の試行が必要になる場合があるため、これが機能するとは限りません。Qラーニングはブートストラップに依存しているため、各ステップの最適またはほぼ最適な選択肢をカバーする適切な数のサンプルが必要になります。これは、値の推定をアクションの選択肢から以前のタイムステップに逆にコピーして、影響を与えるためです。これより前に、エージェントは向こうへ向かう行動を取ることを好むと述べています。

状態/アクションスペースが十分に小さい場合(状態とアクションを完全に列挙した場合)、収束の保証があるため、表形式のQラーニングを使用することをお勧めします。ただし、ほとんどの実際的な問題ではこれは実際には不可能であるため、近似関数を使用するためのオプションを確認する必要があります。

...そして同じように私たちはどのように評価しますか?

Qラーニングから(検査により)リアルに見える収束アクション値を取得できる場合、パフォーマンスを評価するには2つの合理的な方法しかありません。

  • シミュレーションでエージェントを実行することで(そして、おそらくそこでさらに調整することによって)-お客様の環境にはお客様の意思決定が含まれているため、これがシナリオに適しているとは思いません。ただし、これは、環境が基本的な実世界の物理学に支配されている場合など、一部のシナリオに適した足がかりとなります。

  • 実際に、おそらくワークロードのサブセットでエージェントを実行し、統計的信頼を確立するのに十分な時間にわたって実際の報酬を予測された報酬と比較することによって。

また、エージェントを既存のオペレーターと一緒にドライランし、アクションの提案(および報酬の予測)が現実的であるかどうかについてフィードバックを得ることができます。これは主観的なフィードバックであり、アクションを使用する場合と使用しない場合のパフォーマンスを数値的に評価することは困難です。ただし、QAは少し得られます。


1

簡単に言えば、いいえ。

これで、過去のアクションとパフォーマンスが得られました。これは、(顧客プロファイル、アクション)タプルをパフォーマンススコアにマップする、古典的な教師あり学習問題です。

以下の理由は、強化学習があなたの仕事にとって悪い選択になる理由です:

  1. 強化学習はデータの使用を非常に効率の悪いものにするため、通常、シミュレータまたは実際の経験のいずれかから提供される一種の無限量のデータが必要です。トレーニングの最初の段階で、トレーニングされていないモデルがランダムな通知を顧客に送信するのは望ましくないため、これらのケースはどちらも当てはまらないと思います。すでにシミュレーターがあれば、問題は解決したと見なされます。

  2. 強化学習は通常、長いアクションのシーケンスを処理するために使用され、初期のアクションはチェスなどの最終的な結果に大きな影響を与える可能性があります。その場合、アクションの各ステップの最後に受け取る最終報酬の明確な区分はないため、ベルマン方程式は、強化報酬で明示的または暗黙的に使用され、この報酬帰属問題を解決します。一方、あなたの問題はこのような連続的な性質を持っているようには見えず(私が誤解しているか、システムが顧客にメールをやり取りしている場合を除き)、データの各サンプルはシングルステップのIIDです。


1

これらのペーパーは、バッチ強化学習(つまり、過去の経験からポリシーを学習する)のためのFitted Q Iterationと呼ばれる方法を提供し ます 。 .pdf

明確に定義された報酬関数、状態、およびアクションが必要になります。

テストの場合、メトリックに関して小規模なユーザーコホートとA / Bテストを使用するのが最適です。

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