Bonjour,
J'ai implémenté un petit reseau de neurones en java en utilisant joone.
J'ai 4 entrées ce sont des entiers et j'ai un entier en sortie (0 ou 1).
J'ai tenté d'utiliser plusieurs architectures (3 couches linear/sigmoid/simoid, 4 couches ,....), mais mon reseau n'apprend toujours pas , alors qu'il réussi à apprendre le XOR...
Mon échatillon d'apprentissage est parfaitement cohérent.Il ne contient aucune érreur.
On peut facilement faire une fonction qui match à 100% avec l'échantillon d'apprentissage en faisant Si A<5 && B>8 alors sortie=0 else ...
où est le problème ?
Comment faire pour trouver la bonne architecture ???
merci
PS : je suis un noob en RNA
un extrait de l'échantillon de ce que je veux lui faire apprendre :
{4,6,1,0,1},
{4,6,2,0,1},
{4,6,3,0,1},
{4,6,4,0,0},
{4,5,1,0,1},
{4,5,2,0,1},
{4,5,3,0,0},
{4,5,4,0,0},
{3,6,1,0,1},
{3,5,1,0,1},
{3,5,2,0,0},
{3,4,1,0,,1},
{3,4,2,0,0},
{3,3,1,0,1},
{3,2,2,0,0},
....
les 4 1er valeurs sont des entrées, la 5em valeur est la sortie.
J'ai 4 neurones d'entrée avec 1 sigmoide, 4 neurones cachés avec 1 sigmoide, 1 neurone de sortie avec 1 sigmoide.
J'ai un mis un learning rate de 0.4 et un momentum de 0.9.
après 10000 apprentissages , le reseau me sort toujours un résultat proche de 1 quelquesoit ce que je lui donne en entrée .
Où est le problème ???
Partager