Book description
Increase the performance of various neural network architectures using NEAT, HyperNEAT, ES-HyperNEAT, Novelty Search, SAFE, and deep neuroevolution
Key Features
- Implement neuroevolution algorithms to improve the performance of neural network architectures
- Understand evolutionary algorithms and neuroevolution methods with real-world examples
- Learn essential neuroevolution concepts and how they are used in domains including games, robotics, and simulations
Book Description
Neuroevolution is a form of artificial intelligence learning that uses evolutionary algorithms to simplify the process of solving complex tasks in domains such as games, robotics, and the simulation of natural processes. This book will give you comprehensive insights into essential neuroevolution concepts and equip you with the skills you need to apply neuroevolution-based algorithms to solve practical, real-world problems.
You'll start with learning the key neuroevolution concepts and methods by writing code with Python. You'll also get hands-on experience with popular Python libraries and cover examples of classical reinforcement learning, path planning for autonomous agents, and developing agents to autonomously play Atari games. Next, you'll learn to solve common and not-so-common challenges in natural computing using neuroevolution-based algorithms. Later, you'll understand how to apply neuroevolution strategies to existing neural network designs to improve training and inference performance. Finally, you'll gain clear insights into the topology of neural networks and how neuroevolution allows you to develop complex networks, starting with simple ones.
By the end of this book, you will not only have explored existing neuroevolution-based algorithms, but also have the skills you need to apply them in your research and work assignments.
What you will learn
- Discover the most popular neuroevolution algorithms – NEAT, HyperNEAT, and ES-HyperNEAT
- Explore how to implement neuroevolution-based algorithms in Python
- Get up to speed with advanced visualization tools to examine evolved neural network graphs
- Understand how to examine the results of experiments and analyze algorithm performance
- Delve into neuroevolution techniques to improve the performance of existing methods
- Apply deep neuroevolution to develop agents for playing Atari games
Who this book is for
This book is for machine learning practitioners, deep learning researchers, and AI enthusiasts who are looking to implement neuroevolution algorithms from scratch. Working knowledge of the Python programming language and basic knowledge of deep learning and neural networks are mandatory.
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- About Packt
- Contributors
- Preface
- Section 1: Fundamentals of Evolutionary Computation Algorithms and Neuroevolution Methods
- Overview of Neuroevolution Methods
- Python Libraries and Environment Setup
- Section 2: Applying Neuroevolution Methods to Solve Classic Computer Science Problems
- Using NEAT for XOR Solver Optimization
-
Pole-Balancing Experiments
- Technical requirements
- The single-pole balancing problem
- Objective function for a single-pole balancing experiment
- The single-pole balancing experiment
- Exercises
- The double-pole balancing problem
- Objective function for a double-pole balancing experiment
- Double-pole balancing experiment
- Exercises
- Summary
- Autonomous Maze Navigation
- Novelty Search Optimization Method
- Section 3: Advanced Neuroevolution Methods
- Hypercube-Based NEAT for Visual Discrimination
-
ES-HyperNEAT and the Retina Problem
- Technical requirements
- Manual versus evolution-based configuration of the topography of neural nodes
- Quadtree information extraction and ES-HyperNEAT basics
- Modular retina problem basics
- Modular retina experiment setup
- Modular retina experiment
- Exercises
- Summary
-
Co-Evolution and the SAFE Method
- Technical requirements
- Common co-evolution strategies
- SAFE method
- Modified maze experiment
- Modified Novelty Search
- Modified maze experiment implementation
- Modified maze experiment
- Exercises
- Summary
-
Deep Neuroevolution
- Technical requirements
- Deep neuroevolution for deep reinforcement learning
- Evolving an agent to play the Frostbite Atari game using deep neuroevolution
- Training an agent to play the Frostbite game
- Running the Frostbite Atari experiment
- Visual inspector for neuroevolution
- Exercises
- Summary
- Section 4: Discussion and Concluding Remarks
- Best Practices, Tips, and Tricks
-
Concluding Remarks
-
What we learned in this book
- Overview of the neuroevolution methods
- Python libraries and environment setup
- Using NEAT for XOR solver optimization
- Pole-balancing experiments
- Autonomous maze navigation
- Novelty Search optimization method
- Hypercube-based NEAT for visual discrimination
- ES-HyperNEAT and the retina problem
- Co-evolution and the SAFE method
- Deep Neuroevolution
- Where to go from here
- Summary
-
What we learned in this book
- Other Books You May Enjoy
Product information
- Title: Hands-On Neuroevolution with Python
- Author(s):
- Release date: December 2019
- Publisher(s): Packt Publishing
- ISBN: 9781838824914
You might also like
book
Distributed Computing with Python
Harness the power of multiple computers using Python through this fast-paced informative guide About This Book …
book
Advanced Deep Learning with Python
Gain expertise in advanced deep learning domains such as neural networks, meta-learning, graph neural networks, and …
book
Python Parallel Programming Cookbook
Master efficient parallel programming to build powerful applications using Python About This Book Design and implement …
book
Hands-On Neural Networks with TensorFlow 2.0
A comprehensive guide to developing neural network-based solutions using TensorFlow 2.0 Key Features Understand the basics …