Expand description
Evo RL is a machine learning library built on the concept of Neuroevolution – evolving an architecture for neural networks as opposed to pre-specifying it. This library is best suited for Reinforcement Learning tasks in which a reward (or fitness) score can be assigned to agents.
Evo RL is a WIP and is in the pre-alpha state.
Modules§
- agent_
wrapper - A wrapper class for neural network that creates an interface to other environments such as Python
- api
- doctest
- This module contains constants and examples used in unit tests.
- enecode
- Module which specifies the genetic encoding for neural network and neural properties. The genetic encoding is used to reconstruct neural network graphs and for recombination of offspring.
- graph
- This module implements neural networks in the form of directed graphs (from
petgraph). Evolutionary changes are projected onto the graph first before being encoded genetically. - neuron
- Module for the
neuronstruct which defines the individual unit of computation for the neural network. - population
- This module focuses on implementing an evolutionary algorithm for neural network optimization. It uses Stochastic Universal Sampling (SUS) and Truncation for selection within a population of neural network agents.
Functions§
- ez_
input - Convenience function to easily create a vector of owned Strings.
- hash_em
- Convenience function to easily create maps when specifying gene strings.
- increment_
innovation_ number - Increments the ID of a neuron when creating a daughter
- progenitor_
code - Returns progenitor code base for an innnovation number
- relu
- rng_box
- Returns an rng based on Option
- setup_
logger - Utility function for logging unit tests
- sigmoid
- sort_
genes_ by_ neuron_ type - Sorts topology gene in the order of Input, Hidden, Output and then by innovation number