1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶDeep Reinforcement Learning

Connected

演習

完全なDQNアルゴリズムの実装

ついにこの時が来ました!前提となる準備はすべて整いました。ここではDQNアルゴリズムをフル実装し、Lunar Landerエージェントの学習に使います。つまり、Experience Replay だけでなく、Decayed Epsilon-Greediness と Fixed Q-Targets も用いるということです。

Decayed Epsilon Greediness を実装した select_action() 関数と、前の演習で作成した update_target_network() 関数は用意されています。あとはそれらの関数をDQNの学習ループに組み込み、損失の計算でターゲットネットワークを正しく使えていることを確認するだけです。

時間とともに \(\varepsilon\) の値を減衰させるために、新しいステップカウンタ total_steps を管理する必要があります。この変数は初期値0で初期化済みです。

指示

100 XP
  • select_action() を使って Decayed Epsilon Greediness を実装し、エージェントの行動を選びます。エピソードをまたいだ累計である total_steps を使用してください。
  • TDターゲットを計算する前に、勾配の追跡をオフにします。
  • 次状態を得たら、次状態のQ値を取得します。
  • 各ステップの最後にターゲットネットワークを更新します。