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 ???