Welcome to the Reinforcement Learning project! This project focuses on exploring and implementing different reinforcement learning algorithms to solve complex tasks. By studying and implementing state-of-the-art algorithms, we aim to gain insights into the theoretical foundations of reinforcement learning and apply them to real-world problems.
In this project, we provide step-by-step installation instructions to help you set up the project and its dependencies. Once installed, you can explore the code structure, which includes different algorithms implemented in separate Python files under the algorithms/
directory.
Feel free to contribute to this project by adding new algorithms, improving existing code, or providing bug fixes. Check out the "Contributing" section for more information on how to contribute.
Now, let's get started with the installation and exploration of this Reinforcement Learning project!
- Background and Theoretical Framework
- Installation and Dependencies
- Papers to Code
- Usage
- Code Structure and Explanation
- Acknowledgments and References
- Donations
Reinforcement learning is a subfield of machine learning that focuses on training agents to make sequential decisions in an environment to maximize a reward signal. It has gained significant attention in recent years due to its potential applications in various domains, including robotics, game playing, and autonomous systems.
This project aims to explore and implement different reinforcement learning algorithms to solve complex tasks. By studying and implementing state-of-the-art algorithms, we can gain insights into the theoretical foundations of reinforcement learning and apply them to real-world problems.
By understanding the background and theoretical framework of reinforcement learning, we can better appreciate the algorithms and techniques used in this project and their significance in the field.
To install and run this project, follow these steps:
-
Clone the repository:
git clone git@github.com:Tony-Tan/Reinforcement-Learning.git
-
Navigate to the project directory:
cd Reinforcement-Learning
-
Create a new conda environment:
conda create -n rl python=3.10
-
Activate the conda environment:
conda activate rl
-
Install the required dependencies:
pip install -r requirements.txt
Now you have successfully installed the project and its dependencies. You can proceed with using and exploring the code.
No | Year | Status | Name | Citations |
---|---|---|---|---|
1 | 1951 | π§ Developing | A Stochastic Approximation Method | |
2 | 1986 | π§ Developing | Stochastic approximation for Monte Carlo optimization | |
3 | 2001 | π§ Developing | A natural policy gradient | |
4 | 2013 | π§ͺ Experimenting | Playing Atari with Deep Reinforcement Learning | |
5 | 2015 | π§ͺ Experimenting | Human-level control through deep reinforcement learning | |
6 | 2015 | π§ Developing | Trust Region Policy Optimization | |
7 | 2015 | π§ Developing | Continuous control with deep reinforcement learning | |
8 | 2015 | π§ Developing | Deep Reinforcement Learning with Double Q-Learning | |
8 | 2016 | π§ Developing | Dueling Network Architectures for Deep Reinforcement Learning | |
9 | 2016 | π§ Developing | Prioritized Experience Replay | |
10 | 2017 | π§ Developing | Proximal Policy Optimization Algorithms | |
11 | 2018 | π§ Developing | Addressing Function Approximation Error in Actor-Critic Methods | |
12 | 2018 | π§ Developing | Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor |
The main components of the project are:
algorithms/
: This directory contains the implementation of various algorithms. Each algorithm is implemented in its own Python file. For example, the DQN algorithm is implemented indqn.py
.abc_rl
: This module contains the abstracted classes of reinforcement learning elements.agnets
:configs
:doc
:environment
:experience_replay
:exploration
models
:test
:utils
: This directory contains utility functions and classes that are used by the algorithms. This could include functions for data preprocessing, model evaluation, etc.
We would like to acknowledge the following resources and references that have been instrumental in the development of this project:
- Reinforcement Learning: An Introduction by Richard S. Sutton and Andrew G. Barto
- OpenAI Gym - A toolkit for developing and comparing reinforcement learning algorithms
- PyTorch - A deep learning framework used for implementing neural networks in this project
We are grateful for the valuable insights and contributions from the open-source community and the authors of the above resources.
Running this project involves significant computational resources. If you find this project helpful and would like to support its continued development, consider making a donation. Your support is greatly appreciated!
You can donate through the following platforms:
-
PayPal: Please click here to donate via PayPal.
Thank you for your support!