Hands-on neuroevolution with Python : build high-performing artificial neural network architectures using neuroevolution-based algorithms /

This book will help you to apply popular neuroevolution strategies to existing neural network designs to improve their performance. It covers practical examples in areas such as games, robotics, and simulation of natural processes, using real-world examples and data sets for your better understandin...

Full description

Saved in:
Bibliographic Details
Main Author: Omelianenko, Iaroslav (Author)
Format: Electronic eBook
Language:English
Published: Birmingham, UK : Packt Publishing, 2019.
Subjects:
Online Access:CONNECT
CONNECT
Table of Contents:
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • About Packt
  • Contributors
  • Table of Contents
  • Preface
  • Section 1: Fundamentals of Evolutionary Computation Algorithms and Neuroevolution Methods
  • Chapter 1: Overview of Neuroevolution Methods
  • Evolutionary algorithms and neuroevolution-based methods
  • Genetic operators
  • Mutation operator
  • Crossover operator
  • Genome encoding schemes
  • Direct genome encoding
  • Indirect genome encoding
  • Coevolution
  • Modularity and hierarchy
  • NEAT algorithm overview
  • NEAT encoding scheme
  • Structural mutations
  • Crossover with an innovation number
  • Speciation
  • Hypercube-based NEAT
  • Compositional Pattern Producing Networks
  • Substrate configuration
  • Evolving connective CPPNs and the HyperNEAT algorithm
  • Evolvable-Substrate HyperNEAT
  • Information patterns in the hypercube
  • Quadtree as an effective information extractor
  • ES-HyperNEAT algorithm
  • Novelty Search optimization method
  • Novelty Search and natural evolution
  • Novelty metric
  • Summary
  • Further reading
  • Chapter 2: Python Libraries and Environment Setup
  • Suitable Python libraries for neuroevolution experiments
  • NEAT-Python
  • NEAT-Python usage example
  • PyTorch NEAT
  • PyTorch NEAT usage example
  • MultiNEAT
  • MultiNEAT usage example
  • Deep Neuroevolution
  • Comparing Python neuroevolution libraries
  • Environment setup
  • Pipenv
  • Virtualenv
  • Anaconda
  • Summary
  • Section 2: Applying Neuroevolution Methods to Solve Classic Computer Science Problems
  • Chapter 3: Using NEAT for XOR Solver Optimization
  • Technical requirements
  • XOR problem basics
  • The objective function for the XOR experiment
  • Hyperparameter selection
  • NEAT section
  • DefaultStagnation section
  • DefaultReproduction section
  • DefaultSpeciesSet section
  • DefaultGenome section
  • XOR experiment hyperparameters
  • Running the XOR experiment
  • Environment setup
  • XOR experiment source code
  • Running the experiment and analyzing the results
  • Exercises
  • Summary
  • Chapter 4: Pole-Balancing Experiments
  • Technical requirements
  • The single-pole balancing problem
  • The equations of motion of the single-pole balancer
  • State equations and control actions
  • The interactions between the solver and the simulator
  • Objective function for a single-pole balancing experiment
  • Cart-pole apparatus simulation
  • The simulation cycle
  • Genome fitness evaluation
  • The single-pole balancing experiment
  • Hyperparameter selection
  • Working environment setup
  • The experiment runner implementation
  • Function to evaluate the fitness of all genomes in the population
  • The experiment runner function
  • Running the single-pole balancing experiment
  • Exercises
  • The double-pole balancing problem
  • The system state and equations of motion
  • Reinforcement signal
  • Initial conditions and state update
  • Control actions
  • Interactions between the solver and the simulator