Neuron networks , part III-2
Now we use the following settings:
#define _NEU_USES_ASYMETRIC_OUTPUTS #define _neu_asym_magnify 200.0//2.0 // was 20 8.0 is default , schm-trig amplifier for tanh #define _neu_asym_value 0.1 // was 0.01// default 0.1 , scm-trig delta from 0 , rising/falling. 0.1 : schmidt trig asymetry #define _neu_asym_rescale (float) (( (float) _neu_asym_magnify+ (float) _neu_asym_magnify + (float) _neu_asym_value) / (float) (_neu_asym_magnify) ) // // Hidden and output neurons (post) modes // #define _NEU_USES_TANH_HIDDEN #define _NEU_USES_TANH_OUTPUT // learning rates ( not for this case , just calcs the net ) #define _NEU_INITIAL_LR_HO (float)0.08 #define _NEU_INITIAL_LR_IH (float)0.008
Then the network weights :
Neuron network array numInputs :10 numHidden :3 numOutputs :1 INPUT to HIDDEN weights: INPUT[0]:-0.0661 0.9147 -0.5076 INPUT[1]:-2.5167 3.7290 -2.4142 INPUT[2]:0.2267 1.8123 -2.5271 INPUT[3]:0.1382 1.8078 -2.5157 INPUT[4]:0.0097 1.8425 -2.5152 INPUT[5]:0.2858 1.8065 -2.5307 INPUT[6]:0.0063 1.8392 -2.5163 INPUT[7]:0.2006 1.8155 -2.5255 INPUT[8]:0.0994 1.8121 -2.5118 INPUT[9]:-0.0390 1.8455 -2.5131 HIDDEN to OUTPUT weights: OUTPUT[0]:1.0985 1.8016 1.8651
This network’s output is the one for a normal conways LG.
We use the calcnet() for each cell of the world ( here, a 64x64 pixels ) We compute the cells from 0+1 to world's width-1 , and 0+1 to world's height-1 We transform the output of the neuron , using formula : neuron_new[yy][xx]=sin(NE_outPred[0]);
Notice we use outPred[] wich is the tanh'd but not 'trigger' output.
Then , varying the bias values, we get a special automata able to create organic like patterns
Screen captures follow (bias 0.30):
Then a little epochs later (bias : 0.30) :
With Bias 0.40 :
Comments Off