問題タブ [q-learning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - DQNオンレコメンドシステム
小売業向けのレコメンドシステムでDQNを使いたい
しかし問題は、この質問の状態空間が時間的に不均一であり、決定論的ではないことです
(アタリゲームとの比較)
この問題の2つの方法を見つけます
- 状態遷移を決定論的にする
- 履歴データを使用して遷移確率を計算し、確率を使用して状態を遷移する
しかし...どちらも意味がないようです
誰かこういう問題を指摘して
強化学習に基づく推薦システムを構築したい場合
どこから始めればいいですか?
terminology - なぜ未知の環境で Q-learning が機能するのか?
Q ラーニングでは、即時報酬行列 R を使用して環境をモデル化します。つまり、学習に既知の行列 R を使用するということです。では、なぜ「Q 学習は未知の環境でも機能する」と言うのでしょうか。
python - Keras のポリシー勾配
多数のアクションがある「ディープ Q ラーニング」を使用してモデルを構築しようとしています (2908)。標準の DQN: ( https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf ) を使用してある程度の成功を収めた後、アクション スペースが大きすぎて実行できないと判断したため、さらに調査を行うことにしました。効果的な探索。
その後、私はこの論文を発見しました: https://arxiv.org/pdf/1512.07679.pdfそこでは、彼らはアクター批評家モデルとポリシー勾配を使用し、それから私を導きました: https://arxiv.org/pdf/1602.01783.pdfポリシー勾配を使用して、DQN 全体よりもはるかに優れた結果を取得します。
Keras にポリシー グラデーションを実装しているサイトをいくつか見つけました。2016/06/14/kerlym-a-deep-reinforcement-learning-toolbox-in-keras/しかし、それらがどのように実装されているか混乱しています。前者 (そして私が論文を読んだとき) では、アクター ネットワークに入力と出力のペアを提供する代わりに、すべての重みの勾配を提供し、ネットワークを使用してそれを更新するように見えますが、後者では、入出力ペアを計算するだけです。
私は自分自身を混乱させましたか?入力と出力のペアを提供し、標準の「適合」を使用してネットワークをトレーニングするだけですか、それとも何か特別なことをする必要がありますか? 後者の場合、Theano バックエンドでどのように行うのですか? (上記の例では TensorFlow を使用しています)。
keras - Keras でネットワークの出力を 1 つだけトレーニングする
多くの出力を持つ Keras のネットワークがありますが、トレーニング データは一度に 1 つの出力の情報しか提供しません。
現時点での私のトレーニング方法は、問題の入力に対して予測を実行し、トレーニングしている特定の出力の値を変更してから、単一のバッチ更新を行うことです。私が正しければ、これは、トレーニングしようとしているものを除いて、すべての出力の損失をゼロに設定するのと同じです。
より良い方法はありますか?トレーニングしている出力以外のすべてにゼロの重みを設定するクラスの重みを試しましたが、期待した結果が得られませんか?
Theano バックエンドを使用しています。
python-2.7 - Pre-order exploration of tictactoe search space not generating all states
I am trying to implement q-learning for tictactoe. One of the steps in doing so involves enumerating all the possible states of the tictactoe board to form a state-value table. I have written a procedure to recursively generate all possible states starting from the empty board. To do this, I am performing implicitly the pre-order traversal of the search space tree. However, at the end of it all, I am getting only 707 unique states whereas the general consensus is that the number of legal states is around 5000.
Note: I am referring to the number of legal states. I am aware that the number of states is closer to 19,000 if either player is allowed to continue playing after a game is completed (what I mean by an illegal state).
CODE:
You can look at the full code here if you want.
EDIT: I tidied the code up a bit both in the link and here with more comments to make things clearer. Hope that helps.
reinforcement-learning - Sutton&Barto の RL book でワトキンスの Q(λ) 学習アルゴリズムを理解する方法は?
Sutton&Barto の RL book (リンク) では、ワトキンスの Q(λ) 学習アルゴリズムが図 7.14 に示されています
。 8 行目と 9 行目の (s,a) は現在の (s,a) です。これは正しいですか?
12 行目と 13 行目で a'!=a* の場合、13 行目を実行すると、すべての e(s,a) が 0 に設定されるため、すべての適格性トレースが 0 に設定されている場合の適格性トレースのポイントは何ですか? a'!=a* という状況が非常に頻繁に発生するためです。a'!=a* という状況があまり頻繁に発生しない場合でも、一度発生すると、適格性トレースの意味が完全に失われ、Q は再度更新されません。すべての e(s,a)= 0 の場合、置換トレースを使用する場合、すべての更新で e(s,a) は 0 のままです。
では、これはここでエラーですか?
reinforcement-learning - q学習における反復と報酬
おはようございます Q-learning では、エージェントは目標に到達するまで行動を起こします。アルゴリズムは収束するまで何度も実行されます。たとえば、目標は時間シミュレーションの最後まで最大スループットを取得することです。シミュレーション時間は n 個の等しい期間 T に分割され、報酬は時間とともに変化します。したがって、エージェントは各期間の開始時に状態を n 回更新します。この場合、n はステップ数または反復数と見なされますか? また、Q 値の更新は、選択したアクションの実行後または実行前に行われますか (実際の報酬の近似値である報酬関数を使用)? 私の質問に答えていただければ幸いです。