Q-Learning Agent playing1 FrozenLake-v1
This is a trained model of a Q-Learning agent playing FrozenLake-v1 .
Usage
model = load_from_hub(repo_id="MattStammers/q-FrozenLake-v1-8x8-noSlippery-weak", filename="q-learning.pkl")
# Don't forget to check if you need to add additional attributes (is_slippery=False etc)
env = gym.make(model["env_id"])
To make this Q-learning agent work requires more extended training; otherwise the agent never successfully reaches the end goal and convergence does not take place.
In my case I found 50 million training steps sufficient with the following hyperparameters:
# Training parameters
n_training_episodes = 50000000 # Total training episodes
learning_rate = 0.99 # Learning rate
# Evaluation parameters
n_eval_episodes = 100 # Total number of test episodes
# Environment parameters
env_id = "FrozenLake-v1" # Name of the environment
max_steps = 200 # Max steps per episode
gamma = 0.99 # Discounting rate
epsilon = 0.1 # Ideal Episolon
eval_seed = [] # The evaluation seed of the environment
# Exploration parameters
max_epsilon = 1 # Exploration probability at start
min_epsilon = 0.05 # Minimum exploration probability
decay_rate = 0.0005 # Exponential decay rate for exploration prob
Evaluation results
- mean_reward on FrozenLake-v1-8x8-no_slipperyself-reported1.00 +/- 0.00