始める無料で始める

減衰付きepsilon-greedy戦略でCliffWalkingを解く

epsilon-greedy 戦略を強化するために、エージェントが環境について学ぶにつれて探索率 epsilon を徐々に下げる減衰係数を導入します。この方法は、学習初期の探索を促し、環境に慣れてきた段階では学習済みの知識の活用(exploitation)を促進します。では、この戦略を用いて CliffWalking 環境に取り組みましょう。

環境は初期化済みで、変数 env からアクセスできます。変数 epsilonmin_epsilonepsilon_decay はあらかじめ定義されています。関数 epsilon_greedy()update_q_table() はインポート済みです。

この演習はコースの一部です

Pythonで学ぶGymnasiumによるReinforcement Learning

コースを見る

演習の手順

  • action を選び、それを実行し、受け取った rewardepisode_reward に加算し、Qテーブルを更新して、完全な学習ループを実装します。
  • epsilon_decay の率で epsilon を減らし、min_epsilon を下回らないようにしてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

rewards_decay_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Implement the training loop
        action = ____
        new_state, reward, terminated, truncated, info = ____
        episode_reward += ____       
        ____      
        state = new_state
    rewards_decay_eps_greedy.append(episode_reward)
    # Update epsilon
    epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))
コードを編集して実行