EihiS

December 15, 2016

Neural nets, bases en C , part 6

Filed under: linux, neuron — Tags: , , , , — admin @ 6:08 pm

De l’importance du ‘training set’

Le reseau décrit précédement aboutit a une erreur RMS en sortie inférieure a 0.05 au bout d’approximativement  cycles (epochs) d’apprentissage (epoch = 7.27Millions)

On modifie la façon dont ‘ang’ est générée, dans la boucle d’apprentissage :

de :

  • ang=NN_frand_ab(0.0,10);
en :
  • ang=(float) ((int32_t)NN_frand_ab(0.0,10.0));

On relance le programme :

  • -> il atteint le seuil RMS voulu en seulement 180000 epochs
On trace le graphe de sa sortie :
Le réseau a généralisé : la simplification du nombre d’élements dans le train-set accélère l’apprentissage, mais entraine aussi le réseau à faire une approximation des cas intermédiaires, non présents dans le train-set.
Au niveau du seuil du 3.0 en valeur d’entrée par exemple, le réseau n’a eu que deux exemples de cas en apprentissage :
  • pour 3.0 en entrée, sortie attendue = -1 ( le test est : +1 si strictement supérieur a 3.0)
  • pour 4.0 en entrée, sortie attendue = +1
  • On constate que la sortie OUTPUT bascule de -1.0 vers +1.0 à la moitié de ces 2 valeurs, 3.5 ( la fonction tanh ‘arrondi’ les angles aux extrèmes -1.0/+1.0
Peut-on faire apprendre le reseau encore plus vite ?
Il est temps de parler de la fonction d’activation :
  • pour l’heure c’est tanh()
on va changer l’attendu en sortie du reseau , de :
  • #define _REPON ((ang>3.0)&&(ang<8.0)) +1.0:-1.0
en :
  • #define _REPON ((ang>3.0)&&(ang<8.0))? +1.0:0.0
On relance le programme sans autre modifications :
Le seuil est atteint en environ 70000 ( l’affichage est fait en %10000 .. )
C’est deux fois moins de temps pour descendre vers le seuil RMS voulu.
Son graphe en sortie :

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

314159265358979323846264338327950288
419716939937510582097494459230781640
628620899862803482534211706798214808

cat{ } { post_1045 } { } 2009-2015 EIhIS Powered by WordPress