減衰付きepsilon-greedy戦略でCliffWalkingを解く
epsilon-greedy 戦略を強化するために、エージェントが環境について学ぶにつれて探索率 epsilon を徐々に下げる減衰係数を導入します。この方法は、学習初期の探索を促し、環境に慣れてきた段階では学習済みの知識の活用(exploitation)を促進します。では、この戦略を用いて CliffWalking 環境に取り組みましょう。
環境は初期化済みで、変数 env からアクセスできます。変数 epsilon、min_epsilon、epsilon_decay はあらかじめ定義されています。関数 epsilon_greedy() と update_q_table() はインポート済みです。
この演習はコースの一部です
Pythonで学ぶGymnasiumによるReinforcement Learning
演習の手順
actionを選び、それを実行し、受け取ったrewardをepisode_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))