In this chapter, we learned about four popular Python libraries that we can use for experiments in the field of neuroevolution. We discussed the strengths and weaknesses of each library that was presented, and reviewed the basic examples of using these libraries in Python. After that, we looked at how to set up the environment for Python-based experiments to avoid the side effects of having multiple versions of the same library in the Python path. We found that the best way to do this is to create isolated virtual environments for each Python project, and considered several popular solutions created by the open source community to help with this task. Finally, we introduced Anaconda Distribution, which includes, among other useful things, the package manager and an environment manager. For the rest of this book, we will use Anaconda to handle setting up the environment...
Hands-On Neuroevolution with Python
By :
Hands-On Neuroevolution with Python
By:
Overview of this book
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.
Table of Contents (18 chapters)
Preface
Free Chapter
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
Autonomous Maze Navigation
Novelty Search Optimization Method
Section 3: Advanced Neuroevolution Methods
Hypercube-Based NEAT for Visual Discrimination
ES-HyperNEAT and the Retina Problem
Co-Evolution and the SAFE Method
Deep Neuroevolution
Section 4: Discussion and Concluding Remarks
Best Practices, Tips, and Tricks
Concluding Remarks
Other Books You May Enjoy
Customer Reviews