問題タブ [keras-rl]
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.
keras - モデルのフィッティング後に同じ値を返す Keras-RL エピソード
そこで、OpenAI Gym を使用してカスタム環境を作成しました。次の実装につながる CartPole の例の DQNAgent の keras-rl の例を厳密にフォローしています。
したがって、dqn.test 関数呼び出しまでは、すべてが期待どおりに見えます。dqn.fit からのサンプル出力は次のとおりです。
... 1912/2500: エピソード: 8、期間: 1.713 秒、エピソード ステップ: 239、1 秒あたりのステップ数: 139、エピソード報酬: -78.774、平均報酬: -0.330 [-27928.576, 18038.443]、平均アクション: 0.657 [ 0.000, 2.000]、平均観測: 8825.907 [5947.400, 17211.920]、損失: 7792970.500000、mean_absolute_error: 653.732361、mean_q: 1.000000
2151/2500: エピソード: 9、期間: 1.790 秒、エピソード ステップ: 239、1 秒あたりのステップ数: 134、エピソード報酬: -23335.055、平均報酬: -97.636 [-17918.534, 17819.400]、平均アクション: 0.636 [0.000, 2.000 ]、平均観測: 8825.907 [5947.400、17211.920]、損失: 8051206.500000、mean_absolute_error: 676.335266、mean_q: 1.000000
2390/2500: エピソード: 10、期間: 1.775 秒、エピソード ステップ: 239、1 秒あたりのステップ数: 135、エピソード報酬: 16940.150、平均報酬: 70.879 [-25552.948, 17819.400]、平均アクション: 0.611 [0.000, 2.000]、平均観測: 8825.907 [5947.400, 17211.920]、損失: 8520963.000000、mean_absolute_error: 690.176819、mean_q: 1.000000
さまざまな報酬が異なるため、フィッティングは期待どおりに機能しているように見えます. しかし、dqn.test メソッドを実行すると、エピソードごとに同じ出力が生成され続けます。私が使用しているデータの場合、負の報酬は悪く、正の報酬は良いでしょう。
テストメソッドを実行した結果は次のとおりです。
10 エピソードのテスト
- エピソード 1: 報酬: -62996.100、歩数: 239
- エピソード 2: 報酬: -62996.100、歩数: 239
- エピソード 3: 報酬: -62996.100、歩数: 239
- エピソード 4: 報酬: -62996.100、歩数: 239
- エピソード 5: 報酬: -62996.100、歩数: 239
- エピソード 6: 報酬: -62996.100、歩数: 239
- エピソード 7: 報酬: -62996.100、歩数: 239
- エピソード 8: 報酬: -62996.100、歩数: 239
- エピソード 9: 報酬: -62996.100、歩数: 239
- エピソード 10: 報酬: -62996.100、歩数: 239
これは私に2つの質問を導きます:
1) 各エピソードの報酬が同じなのはなぜですか?
2) なぜモデルはひどい報酬につながる一連のアクションを推奨するのでしょうか?
python - 基本的な強化学習の例での Tensorflow、OpenAI Gym、Keras-rl のパフォーマンスの問題
強化学習を行っていますが、パフォーマンスに問題があります。
状況、カスタム コードなし:
- Google Cloud にGoogle Deep Learning VM ( https://console.cloud.google.com/marketplace/details/click-to-deploy-images/deeplearning ) をロードしました。これには、NVidia K80 ビデオカードとともにすべての前提条件 (CUDA、cuDNN、ドライバー) がインストールされています。
- keras-rl、OpenAI ジムをインストール
- ここで、(標準) 例のdqn_cartpole.pyを 46 行目で Visualize=False を指定して実行すると、GPU の約 20% が使用され、1 秒あたり約 100 ステップになり、Razer Blade で CPU を使用するよりも約 3 倍遅くなります。 15 (i7-8750H)。
- 考えられるすべてのボトルネックを確認しましたが、CPU 使用率、メモリ、HD I/O はすべて正常です。
助けてください!
前もって感謝します
python - keras_rl DQN エージェント - すべてのポリシー select_action() func 戻り値 0 または 1
Gym & kears_rl を使用して強化学習プロジェクトをセットアップしようとしています。
説明:
range の数値が与えられた場合、数値が限界に近づいたときにエージェントに警告し(100, 200)
てもらいたいです。0%-10%
90%-100%
褒美:
分位数 (0, 0.1) のサンプル、報酬は (+1)
分位数 (0.1, 0.9) のサンプル、報酬は (-1)
分位数 (0.9, 1) のサンプル、報酬は (+1)
エージェントは、10% と 90% の制限値を学習する必要があります。
main.py 情報:
質問\問題:
フィット関数 (rl/core.py:169) では、アクション I はゼロに等しくなります。[100, 200] の間である必要があります。何故ですか?アクションが action_space 内にあることを期待していますが、すべてのポリシーが 0 または 1 の値を返すようです。env.step() 関数で値をどのように使用すると思いますか?
私のコードは次の例に基づいています:
どんな助けでも大歓迎です。
ありがとう。