Skip to main content

Module neuroevolution

Module neuroevolution 

Source
Expand description

Neuroevolution strategies — evolving the parameters of a Burn Module.

rlevo ships three neuroevolution approaches, distinguished by how much network structure is fixed before the search begins.

Weight-only (weight_only) fixes the architecture: a network is declared once and a flat-genome Strategy (GA / ES / DE / …) evolves its flattened weights. The WeightOnly wrapper composes any such strategy with any Module; reshaping between the flat genome and the network happens at the fitness boundary (ModuleEvalFn), never inside the strategy.

Bounded architecture NAS (arch_nas) co-evolves the choice of architecture: a custom ArchNasStrategy harness searches which fixed-topology Module variant — from an enumerated menu — wins a task, alongside each variant’s weights, reusing the same per-variant ModuleReshaper infrastructure.

NEAT (neat) evolves the topology itself: the NeatStrategy custom harness grows network structure and weights open-endedly from a minimal seed via innovation-aligned crossover and speciation, scoring graph genomes through the GraphFitnessFn seam. The graph data model lives in crate::neuroevolution. Genomes are scored either one at a time — the interpreted, host-side reference path — or a whole population at once through the device-batched BatchPhenotypeEvaluator.

Re-exports§

pub use arch_nas::ArchNasBuilder;
pub use arch_nas::ArchNasFitnessFn;
pub use arch_nas::ArchNasStrategy;
pub use arch_nas::NasBuilderConfig;
pub use arch_nas::NasGenome;
pub use arch_nas::NasParams;
pub use arch_nas::NasState;
pub use arch_nas::VariantEvaluator;
pub use neat::BatchGraphFitness;
pub use neat::GraphFitnessFn;
pub use neat::NeatParams;
pub use neat::NeatState;
pub use neat::NeatStrategy;
pub use weight_only::WeightOnly;

Modules§

arch_nas
Bounded architecture NAS — evolving which fixed-topology Burn Module variant wins a task, alongside that variant’s weights.
neat
NEAT — topology-evolving neuroevolution as a custom harness.
weight_only
WeightOnly — a Strategy wrapper that ties a flat-genome strategy to a concrete Burn Module for weight-only neuroevolution.