#neural-network #reinforcement-learning #machine-learning #neuro-evolution #graph #rl

evo-rl

A neuroevolution-based ML library for reinforcement learning inspired by NEAT

2 releases

0.1.0-alpha.2 Apr 22, 2024
0.1.0-alpha.1 Nov 10, 2023

#389 in Machine learning

Download history 5/week @ 2024-02-19 5/week @ 2024-02-26 22/week @ 2024-04-01 126/week @ 2024-04-22

148 downloads per month

MIT/Apache

87KB
1.5K SLoC

Evo RL

Evo RL is a machine learning library built in Rust to explore the evolution of artificial biomemetic neural networks. Neural Networks are implemented as graphs specified by a direct encoding scheme, which allows crossover during selection.

Evolutionary Algorithm

The main evolutionary algorithm in this libary is inspired by the NEAT (K.O. Stanley and R. Miikkulainen) and implements Stochastic Universal Sampling with Truncation as the selection mechanism.

Python

An python package (evo_rl) can be built by running maturin develop in the source code. Examples are included in the python directory.

Running Tests

Verbose

RUST_LOG=[debug/info] cargo test -- --nocapture


lib.rs:

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.

Dependencies

~13–21MB
~286K SLoC