
Explore neuroevolution with genetic algorithms in JavaScript to train neural networks that play games like car driving, taxi navigation, and Flappy Bird, contrasting with backpropagation.
Explore neuroevolution, merging genetic algorithms with neural networks to evolve weights for powerful ai agents. Evolve with a fixed network architecture through fitness-based selection, crossover, and mutation in simulated environments.
Explore artificial neural networks, their layers, neurons, and weights, and how feedforward and backpropagation drive learning. Compare vanilla implementations with TensorFlow and understand architecture, loss, and training.
Demonstrates neural evolution training for game agents, using sensor inputs and fitness-based selection across generations to rapidly learn tasks like car navigation and flappy bird play.
Apply a neural evolution library in vanilla js to train game agents by implementing population item and population handler, with genome wrapping a neural network, plus mutation, crossover, and fitness.
Visualize the training behavior of a neural network to add explainability, showing weights, biases, and activation across layers, from inputs to outputs, during training with evolutionary algorithms.
Conclude the course by solidifying the foundation of genetic algorithms and neuronal evolution in vanilla js, encouraging you to explore the GitHub code and apply concepts to your projects.
In this short course, we will build a Neuroevolution model from scratch using only JavaScript (no libraries) that will learn to play various games.
Neuroevolution is a powerful approach to machine learning and artificial intelligence that uses evolutionary algorithms to evolve neural networks.
Most neural networks use gradient descent rather than neuroevolution. However, around 2017 researchers at Uber stated they had found that simple structural neuroevolution algorithms were competitive with sophisticated modern industry-standard gradient-descent deep learning algorithms.
Deep Neuroevolution: Genetic Algorithms are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning
This course introduces students to the principles of neuroevolution and the techniques used to design and implement neuroevolution algorithms.
The course covers the following topics:
Introduction to neuroevolution: basic principles and applications
Evolutionary algorithms: genetic algorithms, genetic programming, and evolutionary strategies
Neural networks: types, architectures, and training techniques
Neuroevolution algorithms: evolutionary algorithms applied to neural networks
Applications of neuroevolution: games, and optimization problems
Advanced topics: multi-objective neuroevolution, neuroevolution of recurrent neural networks, and deep neuroevolution.
In this project, we have applied GeneticEvolution to multiple games such as self-driving cars, smart caps and flappy bird.
This course is a follow-up to my other course about Artificial Neural Networks from scratch, where I show how to create an ANN from scratch without libraries. In that project, the learning process is done using backpropagation(gradient descent), this project uses a different approach. We will use Evolutionary Algorithm.
By following this course until the end, students will have a solid understanding of the principles of neuroevolution and the ability to design and implement Neuroevolution algorithms for a variety of applications.