From f49220858997518394bf44d5486eb4d92eac3393 Mon Sep 17 00:00:00 2001 From: Mike Trzaska <76908324+HokageM@users.noreply.github.com> Date: Mon, 4 Dec 2023 17:10:36 +0100 Subject: [PATCH] Add results for RL algorithm (#12) --- README.md | 145 ++++------ demo/heatmaps/learner_1999_deep_RL.png | Bin 0 -> 19629 bytes demo/heatmaps/learner_4999_deep_RL.png | Bin 0 -> 21757 bytes demo/heatmaps/learner_999_deep_RL.png | Bin 0 -> 21554 bytes demo/learning_curves/maxentdeep_4999_RL.png | Bin 0 -> 22781 bytes demo/learning_curves/maxentdeep_999_RL.png | Bin 0 -> 27799 bytes ...t_maxentropydeep_best_model_RL_results.png | Bin 0 -> 43079 bytes ...tropydeep_3697_best_network_w_-83.0_RL.pth | Bin 0 -> 12592 bytes setup.cfg | 2 +- src/irlwpython/MaxEntropyDeepRL.py | 197 ++++++++++++++ src/irlwpython/main.py | 13 +- ...y => direct_train_deep_max_entropy_irl.py} | 0 .../direct_train_deep_max_entropy_rl.py | 249 ++++++++++++++++++ 13 files changed, 507 insertions(+), 99 deletions(-) create mode 100644 demo/heatmaps/learner_1999_deep_RL.png create mode 100644 demo/heatmaps/learner_4999_deep_RL.png create mode 100644 demo/heatmaps/learner_999_deep_RL.png create mode 100644 demo/learning_curves/maxentdeep_4999_RL.png create mode 100644 demo/learning_curves/maxentdeep_999_RL.png create mode 100644 demo/test_results/test_maxentropydeep_best_model_RL_results.png create mode 100644 demo/trained_models/maxentropydeep_3697_best_network_w_-83.0_RL.pth create mode 100644 src/irlwpython/MaxEntropyDeepRL.py rename src/irlwpython/scripts/{direct_train_deep_max_entropy.py => direct_train_deep_max_entropy_irl.py} (100%) create mode 100644 src/irlwpython/scripts/direct_train_deep_max_entropy_rl.py diff --git a/README.md b/README.md index a36ea5e..5b0bd5d 100644 --- a/README.md +++ b/README.md @@ -6,119 +6,72 @@ Inverse Reinforcement Learning Algorithm implementation with python. # Implemented Algorithms -## Maximum Entropy IRL: [1] +## Maximum Entropy IRL: -## Maximum Entropy Deep IRL +Implementation of the Maximum Entropy inverse reinforcement learning algorithm from [1] and is based on the implementation +of [lets-do-irl](https://github.com/reinforcement-learning-kr/lets-do-irl/tree/master/mountaincar/maxent). +It is an IRL algorithm using Q-Learning with a Maximum Entropy update function. -# Experiments +## Maximum Entropy Deep IRL: -## Mountaincar-v0 -[gym](https://www.gymlibrary.dev/environments/classic_control/mountain_car/) - -The expert demonstrations for the Mountaincar-v0 are the same as used in [lets-do-irl](https://github.com/reinforcement-learning-kr/lets-do-irl/tree/master/mountaincar/maxent). - -*Heatmap of Expert demonstrations with 400 states*: - - - -### Maximum Entropy Inverse Reinforcement Learning - -IRL using Q-Learning with a Maximum Entropy update function. - -#### Training - -*Learner training for 1000 episodes*: - - - -*Learner training for 4000 episodes*: - - - -#### Heatmaps - -*Learner state frequencies after 1000 episodes*: - - - -*Learner state frequencies after 2000 episodes*: - - - -*Learner state frequencies after 5000 episodes*: - - - - - -*State rewards heatmap after 5000 episodes*: - - +An implementation of the Maximum Entropy inverse reinforcement learning algorithm, which uses a neural-network for the +actor. +The estimated irl-reward is learned similar as in Maximum Entropy IRL. +It is an IRL algorithm using Deep Q-Learning with a Maximum Entropy update function. -*State rewards heatmap after 14000 episodes*: +## Maximum Entropy Deep RL: - +An implementation of the Maximum Entropy reinforcement learning algorithm. +This algorithm is used to compare the IRL algorithms with an RL algorithm. -#### Testing +# Experiment -*Testing results of the model after 29000 episodes*: - - - - -### Deep Maximum Entropy Inverse Reinforcement Learning - -IRL using Deep Q-Learning with a Maximum Entropy update function. - -#### Training - -*Learner training for 1000 episodes*: - - - -*Learner training for 5000 episodes*: - - - -#### Heatmaps - -*Learner state frequencies after 1000 episodes*: - - - -*Learner state frequencies after 2000 episodes*: - - - -*Learner state frequencies after 5000 episodes*: - - - -*State rewards heatmap after 1000 episodes*: - - +## Mountaincar-v0 -*State rewards heatmap after 2000 episodes*: +The Mountaincar-v0 is used for evaluating the different algorithms. +Therefore, the implementation of the MDP for the Mountaincar +from [gym](https://www.gymlibrary.dev/environments/classic_control/mountain_car/) is used. - +The expert demonstrations for the Mountaincar-v0 are the same as used +in [lets-do-irl](https://github.com/reinforcement-learning-kr/lets-do-irl/tree/master/mountaincar/maxent). -*State rewards heatmap after 5000 episodes*: +*Heatmap of Expert demonstrations with 400 states*: - + +### Comparing the algorithms -#### Testing +The following tables compare the result of training and testing the two IRL algorithms Maximum Entropy and +Maximum Entropy Deep. Furthermore, results for the RL algorithm Maximum Entropy Deep algorithm are shown, to +highlight the differences between IRL and RL. -*Testing results of the best model after 5000 episodes*: +| Algorithm | Training Curve after 1000 Episodes | Training Curve after 5000 Episodes | +|--------------------------|----------------------------------------------------------------------------|-----------------------------------------------------------------------------| +| Maximum Entropy IRL | | | +| Maximum Entropy Deep IRL | | | +| Maximum Entropy Deep RL | | | - +| Algorithm | State Frequencies Learner: 1000 Episodes | State Frequencies Learner: 2000 Episodes | State Frequencies Learner: 5000 Episodes | +|--------------------------|-----------------------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------------| +| Maximum Entropy IRL | | | | +| Maximum Entropy Deep IRL | | | | +| Maximum Entropy Deep RL | | | | -### Deep Maximum Entropy Inverse Reinforcement Learning with Critic +| Algorithm | IRL Rewards: 1000 Episodes | IRL Rewards: 2000 Episodes | IRL Rewards: 5000 Episodes | IRL Rewards: 14000 Episodes | +|--------------------------|---------------------------------------------------------------------------|----------------------------------------------------------------------------|----------------------------------------------------------------------------|------------------------------------------------------------| +| Maximum Entropy IRL | | None | | | +| Maximum Entropy Deep IRL | | | | None | +| Maximum Entropy Deep RL | None | None | None | None | -Coming soon... +| Algorithm | Testing Results: 100 Runs | +|--------------------------|-----------------------------------------------------------------------------------------| +| Maximum Entropy IRL | | +| Maximum Entropy Deep IRL | | +| Maximum Entropy Deep RL | | # References -The implementation of MaxEntropyIRL and MountainCar is based on the implementation of: + +The implementation of MaxEntropyIRL and MountainCar is based on the implementation of: [lets-do-irl](https://github.com/reinforcement-learning-kr/lets-do-irl/tree/master/mountaincar/maxent) [1] [BD. Ziebart, et al., "Maximum Entropy Inverse Reinforcement Learning", AAAI 2008](https://cdn.aaai.org/AAAI/2008/AAAI08-227.pdf). @@ -133,12 +86,12 @@ pip install . # Usage ```commandline -usage: irl [-h] [--version] [--training] [--testing] [--render] ALGORITHM +usage: irl-runner [-h] [--version] [--training] [--testing] [--render] ALGORITHM Implementation of IRL algorithms positional arguments: - ALGORITHM Currently supported training algorithm: [max-entropy, max-entropy-deep] + ALGORITHM Currently supported training algorithm: [max-entropy, max-entropy-deep, max-entropy-deep-rl] options: -h, --help show this help message and exit diff --git a/demo/heatmaps/learner_1999_deep_RL.png b/demo/heatmaps/learner_1999_deep_RL.png new file mode 100644 index 0000000000000000000000000000000000000000..9db94d08b3ff848aaf777c0eb29eb1b3573b964b GIT binary patch literal 19629 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 literal 0 HcmV?d00001 diff --git a/demo/heatmaps/learner_4999_deep_RL.png b/demo/heatmaps/learner_4999_deep_RL.png new file mode 100644 index 0000000000000000000000000000000000000000..bda5bd035b17e5a24ac60ed060bab005803eb128 GIT binary patch literal 21757 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 H^)CK@aQ%(T literal 0 HcmV?d00001 diff --git a/demo/heatmaps/learner_999_deep_RL.png b/demo/heatmaps/learner_999_deep_RL.png new file mode 100644 index 0000000000000000000000000000000000000000..a19be82a258e41dda9d88bb7b3bc66918b7b9ce7 GIT binary patch literal 21554 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 literal 0 HcmV?d00001 diff --git a/demo/learning_curves/maxentdeep_4999_RL.png b/demo/learning_curves/maxentdeep_4999_RL.png new file mode 100644 index 0000000000000000000000000000000000000000..0066b51a41dae7c7f00079c72f9492ccf8390fb5 GIT binary patch literal 22781 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 literal 0 HcmV?d00001 diff --git a/demo/test_results/test_maxentropydeep_best_model_RL_results.png b/demo/test_results/test_maxentropydeep_best_model_RL_results.png new file mode 100644 index 0000000000000000000000000000000000000000..19c01257e791af25c01dfc1d18d56c49448bd276 GIT binary patch literal 43079 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