Adaptive Reinforcement Learning for CartPole (discrete) and CarRacing (continuous) environments, designed to simulate real-world uncertainties with advanced noise strategies. ποΈπ§
This project explores how RL agents adapt to noisy, dynamic environments by introducing a robust noise injection framework and evaluating advanced RL architectures. Key highlights include:
- πͺοΈ Simulating real-world uncertainties with friction, wind, and Gaussian noise.
- π― Comparative analysis of noise strategies:
- Curriculum Learning
- Annealing
- Stochastic
- Dynamic Randomization
- βοΈ Evaluation of advanced RL agents:
- Dueling DQN
- Double DQN
- Noisy Dueling DQN
- Distributional Dueling DQN
Experiments span across CartPole (discrete control) and CarRacing (continuous control) environments.
CarRacing
CartPole
- π οΈ Noise Injection Framework:
- Models uncertainties like friction, wind, and sensor errors.
- π Dynamic Noise Strategies:
- Gradual complexity increase (Curriculum Learning).
- Randomized disturbances (Stochastic and Dynamic Randomization).
- π Advanced RL Architectures:
- Adaptation in high-noise scenarios using robust architectures.
- π Transfer Learning:
- Evaluate transferability from low-noise to high-noise environments.
- Clone the repository:
git clone https://github.com/Eajunnn/Reinforcement-Learning-OpenAI-gym.git
- Navigate to the project directory:
cd Reinforcement-Learning-OpenAI-gym
pip install -r requirements.txt
- Select the environment:
- CartPole:
cartpole_main.py
- CarRacing:
carracing_main.py
- CartPole:
- Adjust parameters in the scripts for noise types and strategies.
- Run the training:
python <script_name>.py
- Curriculum Learning emerged as the most effective noise strategy, achieving:
- π Highest rewards.
- β© Fastest convergence.
- π Best stability in high-noise scenarios.
- Dueling DQN demonstrated exceptional adaptability, outperforming other architectures.
Contributions are welcome! Fork the repository, make your changes, and submit a pull request.
This project is licensed under the MIT License.
This project is for educational and research purposes. Ensure to test thoroughly before deploying in critical applications.