2016-12-01 5 views
0

おはよう、 Qラーニングでは、エージェントは目標に達するまで行動します。このアルゴリズムは収束を得るまで何度も実行される。例えば、目標は時間シミュレーションの終了まで最大スループットを得ることです。シミュレーション時間は、n個の等しい期間Tに分割され、報酬は時間とともに変化する。したがって、エージェントは各期間の更新時に状態をn回更新します。この場合、nはステップ数または反復回数と見なされますか?さらに、Q値の更新は、選択したアクションの実行後または実行前(実際の報酬の近似値である報酬関数を使用して)に行われますか? 私の質問に答えることができれば幸いです。q-ラーニングの反復と報酬

答えて

0

第1に、強化学習ではエージェントと環境の相互作用が自然に別々のエピソードのシーケンス(エピソードタスク)に分解されるタスクと、そうではない継続タスク)[Sutton book ref.]

エージェントの目標は、(シミュレーションまたは実際の環境で)受け取った報酬の総額を最大にすることです。これは即時報酬ではなく、長期報酬の累積報酬を最大化することを意味します。エピソードタスクの場合、各エピソードは異なる持続時間を有することが多い(例えば、各エピソードがチェスゲームである場合、各ゲームは通常、異なる数の動作で終了する)。

報酬機能は変更されませんが、エージェントが受け取った報酬は、実行するアクションによって変わります。 Q学習アルゴリズムでは、エージェントは各ステップの後にQ関数を更新する(各周期/エピソードの開始時ではない)。

あなたの定義によると、nは、エピソードごとのステップ数となります(前述のように、エピソードごとに異なる可能性があります)。全ステップ数は、すべてのエピソードに沿って合計でnです。 「反復」という用語は、いくつかの論文/書籍のエピソードの数を指している可能性があるので、文脈を知ることが必要です。

Q機能の更新は、選択したアクションを実行した後に実行されます。報酬と次の状態を観察するには、エージェントが現在のアクションを実行する必要があることに注意してください。

報酬関数は実際の報酬の近似ではありません。本当の報酬はありません。報酬機能は、エージェントが目標を「教える」ためにユーザーによって設計されています。 SuttonとBartoの本:Section 3.2 Goals and Rewardsのこのトピックについて詳しくはこちら。

+0

おはようございます、ありがとうございます。私のケースでは、エピソードのタスクで問題をモデル化するのは適切な方法ではないと思います。なぜなら、目標はシミュレーション中に最大のスループットを得るためです。したがって、連続的な作業を伴う処方がより適切である。この場合、エージェントはどのようにアクションを実行し、すべてのエージェントが状態を変更することに関心がない場合にコンバージェンスを達成できるか? – student26

+0

なぜエージェントは価値関数の変更に関心がありませんか?エージェントの目標を反映した報酬を定義する必要があります。たとえば、暖房システム(潜在的に連続的な仕事)を操作する作業であれば、エージェントは消費量に比例した負の報酬を受け取るため、エージェントは消費を最小限に抑えようとします。 –

+0

@ student26、私は元の質問に答えているかどうか教えてください。必要であればQ-ラーニングの実装に関する新しい質問を自由に開いてください。どうも。 –

関連する問題