[mlpack-git] [mlpack/mlpack] NeuralEvolution - implemented gene, genome (#686)

Marcus Edel notifications at github.com
Sun Jun 26 10:30:21 EDT 2016


> +    // No link.
> +    if (genome.aLinkGenes.size() == 0) return;
> +
> +    // Select link to split.
> +    ssize_t linkIdx = mlpack::math::RandInt(0, genome.aLinkGenes.size());
> +    if (!genome.aLinkGenes[linkIdx].Enabled()) return;
> +
> +    genome.aLinkGenes[linkIdx].Enabled(false);
> +
> +    // Check innovation already exist or not.
> +    ssize_t splitLinkInnovId = genome.aLinkGenes[linkIdx].InnovationId();
> +    ssize_t innovIdx = CheckNeuronInnovation(splitLinkInnovId);
> +    if (innovIdx != -1) {
> +      NeuronGene neuronGene(aNeuronInnovations[innovIdx].newNeuronId,
> +                            HIDDEN,
> +                            SIGMOID,  // TODO: make it random??

NEAT doesn't change the activation function, but it could be interesting to see if that would increase the performance. However, we have to find a good way, to abstract that functionality from the rest of the code. I think, it's good for now to go with a static activation function.

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/pull/686/files/74fb4a023ab294c759dca3cb6d7ccb3c46054bab#r68503931
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20160626/be3fdf4f/attachment.html>


More information about the mlpack-git mailing list