[erlang-questions] Question about some Erlang code in Handbook of Neuroevolution Through Erlang.
Ivan Uemlianin
ivan@REDACTED
Thu Jul 4 11:55:26 CEST 2013
Dear Yves
Sorry if this doesn't answer your question.
The module constructor.erl creates a neural network Genotype which is a
specification for a Phenotype (using the terminology of the book). The
Phenotype is the actual neural network. Evolution is simulated by
mutating Genotypes and so generating slightly different populations of
Phenotypes.
The output of constructor:construct_Genotype/4 is a list of records
representing a kind of directed graph. The next section (6.6 Developing
the Genotype to Phenotype Mapping Module) introduces an exoself.erl
module which uses the Genotype specification to generate Phenotypes (and
which will also generate a Genotype from a given Phenotype).
The create_Neuro* functions (starting with create_NeuroLayers/4) use the
given HiddenLayerDensities list to create a list of neuron records.
Each neuron lists the ids of its input and output neurons (including
sensors and actuators where appropriate).
Does that help?
Ivan
On 03/07/2013 19:53, Yves S. Garret wrote:
> Hello all,
>
> I recently got this book, listed here:
> http://www.amazon.com/Handbook-Neuroevolution-Through-Erlang-Gene/dp/1461444624
>
> The topic intrigues me, because it makes so much sense to try to design
> artificial
> neural networks with Erlang (a point that the author makes very well in
> the book).
>
> I got to chapter 6 and this is the code that I have for
> constructor.erl. Now, I'm going
> through the create_NeuroLayers/4 and... I don't see the connection
> between what's
> written and artificial neural networks...
>
> The code:
> http://bin.cakephp.org/view/1946842426
>
> I don't want to bash the author, but I'm really not "getting" what he's
> describing. For example, this description:
>
> The function create_NeuroLayers/3 prepares the initial step before
> starting the recursive cre-
> ate_NeuroLayers/7 function which will create all the Neuron records. We
> first generate the
> place holder Input Ids “Plus”(Input_IdPs), which are tuples composed of
> Ids and the vector
> lengths of the incoming signals associated with them. The proper
> input_idps will have a weight [me: but we haven't assigned the weight,
> have we?]
> list in the tuple instead of the vector length. Because we are only
> building NNs each with only a
> single Sensor and Actuator, the IdP to the first layer is composed of
> the single Sensor Id with
> the vector length of its sensory signal, likewise in the case of the
> Actuator. We then generate
> unique ids for the neurons in the first layer, and drop into the
> recursive create_NeuroLayers/7
> function.
>
> Thanks in advance.
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
--
============================================================
Ivan A. Uemlianin PhD
Llaisdy
Speech Technology Research and Development
ivan@REDACTED
www.llaisdy.com
llaisdy.wordpress.com
github.com/llaisdy
www.linkedin.com/in/ivanuemlianin
festina lente
============================================================
More information about the erlang-questions
mailing list