pkalivas / radiate Goto Github PK
View Code? Open in Web Editor NEWA genetic programming engine which evolves solutions through asynchronous speciation.
License: MIT License
A genetic programming engine which evolves solutions through asynchronous speciation.
License: MIT License
Hi,
I would perform a simple regression using NEAT. So, NEAT do maximization (i.e preserves genomes with high fitness) or the opposite ?
Kind regards.
Was it an active decision to not use linear algebra for neural network forward-propagation and the like? I would assume it would speed up the computations significantly.
Crates like nalgebra
would present themselves as good candidates for such an implementation.
If it was a decision, what was the motivation?
Could it be that you can't really use linear algebra for NEAT (I'm not really familiar with how NEAT works)?
Right now the Population
has full control over training/testing each member in a generation. I would like to have more control over how each member of a generation is tested against the problem.
The reason is to be able to make a server that just manages the genomes/populations with many worker computers doing the testing of each generation's members against the problem. The workers would request a member/problem pair from the server, evaluate that member against the problem and return the fitness score back to the server. The server could keep a track of Genomes & Problems in a database. Similar problems (same basic code but different inputs) could be trained faster by re-using genes from high scoring Genomes.
The current logic is like this:
Population
for a set of Genome
, Environment
and Problem
.I would like to split the Population::run()
and Population::train()
methods so an application can do the following:
run()
get the current list of members from the population.Problem
(this might include offloading the work to workers over the network).Population
with the fitness scores to end the current generation. This would be like the Population::train()
method, just skipping the call to Generation::optimize()
and setting each members fitness.Hello,
I'd like to evolve a network with a topological constraint for it's hidden layers.
In a dense network this would be some middle layer that forces the reduction of the dimensionality of the information.
In NEAT I'm not sure what this would mean, as the network topology has so much more freedom.
Is this possible in general? If so, can this be accomplished using radiate
? I'm not very familiar with the library, just only getting started.
Thank you!
If I want to evolve organisms that compete in head to head 2 player contests (like tic tac toe), is there any guidence on how to set this up. An example would be great. I note that the sovle funtion for the Problem trait has a parameter for only a single model. Is there a convenient way to set up 2 player games?
I know Lstm is a variant of RNN in the context of neural network of machine learning. And in the original NEAT paper, the author did mention a kind of RNN, with which the game double pole is solved----the RNN here is not what we refer to in the context of machine learning, right?
But what does lstm mean in the context of NEAT for this crate? Does it mean that NEAT could generate lstm structure (like in this paper), and with which could solve non-Markov decision problem?
I'm playing around with radiate, and I'm a bit confused as to what the population config means. E.g. how does distance
impact my performance? Where is it used? What does species_target
mean during an optimization?
Thanks for the library, it was really easy to get started and get some results!
The docs state that Genome must be implemented but the xor example (https://github.com/pkalivas/radiate/blob/master/examples/xor-neat/src/main.rs) does not seem to implement it.
.reset()
method do on Neat
struct?I'd like to ensure my understanding is correct, as the documentation is a little unclear.
My real goal is to remove any previous state that may be retained in the network from previous evaluations / forward passes.
This ensures there is no chance of information leakage between successive trials (fitness measurements).
Will the .reset()
method do this?
Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.