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
Deep Learning with Python, Second Edition
Printed in full color! Unlock the groundbreaking advances of deep learning with this extensively revised new …
book
Learning Concurrency in Python
Practically and deeply understand concurrency in Python to write efficient programs About This Book Build highly …
book
Robust Python
Does it seem like your Python projects are getting bigger and bigger? Are you feeling the …
book
Machine Learning for Time-Series with Python
Get better insights from time-series data and become proficient in model performance analysis Key Features Explore …