Learn to use an evolutionary algorithm to train and evolve efficient artificial neural networks
What you will learn
Understand the mechanisms of genetic algorithms
Understand the mechanisms of the NeuroEvolution of Augmenting Topologies algorithm
Evolve NEAT-based artificial neural networks using NEAT-Python
Apply NEAT to various control and computer problems
Description
This is an introductory course to the NeuroEvolution of Augmenting Topologies algorithm. The course covers the most important concepts that characterize the NEATย algorithm, where a focus on understanding the theory behind genetic-algorithm-based artificial neural networks and their application to real-world problems, particularly in the fields of robotics and control.
This course is intended for individuals from all backgrounds and knowledge levels, as it is structured such that there are no advanced prerequisites. From the fundamental concepts of neural networks to the unique mechanisms found in the algorithm, the lectures provide a succinct and complete overview of NEATย that can be understood by any researcher, academic, or self-learner.
The list of topics covered include:
- Introduction to neural networks
- Introduction to genetic algorithms
- Encoding
- Reproduction/crossover
- Mutation
- Speciation
- Dimensionality
- Implementation
- Application
This series also includes a tutorial on how to implement your own NEAT-based neural networks using a Python implementation of the algorithm. Only basic Python knowledge is required to get started on setting up the training environment and evolutionary process to procedurally generate efficient neural networks. All that is required is a simple code editor and your attention.
Taught by an academic researcher with advanced degrees, this course will familiarize you to NEAT, from how it works to how to use it to evolve your own neural networks.
Content