NeuralNetwork_GeneticAlgorithm_QLearning_Unity is a Unity project that implements a neural network, a machine learning genetic algorithm, and Q-learning. It also features a simple car controller and a 2D race track. The user can change parameters related to the genetic algorithm's mutations, the number of cars, and the Q-learning parameters.
The app demonstrates how a neural network learns to navigate the track using both genetic algorithms and Q-learning. It shows the number of generations and episodes it has taken to learn, the time it took to learn, and the number of cars in each generation.
- Neural network implementation
- Machine learning genetic algorithm implementation
- Q-learning implementation using the ML-Agents external library
- Simple car controller
- 2D race track
- Parameter customization
- Track navigation learning using both genetic algorithms and Q-learning
- Generation and episode statistics display
- Unity
- C#
- ML-Agents
Once you have the project up and running, you can start experimenting with the genetic algorithm and Q-learning parameters and observe how the neural network learns to navigate the track. Here are some of the things you can do with NeuralNetwork_GeneticAlgorithm_QLearning_Unity:
- Change the genetic algorithm mutation parameters
- Change the number of cars in each generation
- Change the Q-learning parameters
- Observe how the neural network learns to navigate the track using both genetic algorithms and Q-learning
- View the generation and episode statistics
IMPORTANT: the code won't run Q-Learning after cloning the repo. It's missing several files from venv\Lib\site-packages\torch\lib\ that were exceeding 100Mb of size and I haven't found a way to upload them yet. Contact me directly if you want the files.