1 pièce(s) jointe(s)
Perceptron simple et multi-couche
Bonjour,
Je sais qu'il y a déjà des discussions à ce sujet sur le forum mais cela ne m'a pas aidé à trouver les réponses que je cherchais.
Je tiens aussi à préciser que j'ai qu'un CFC d'informatique donc je ne suis pas ingénieur ou scientifique (donc nul dans le domaine ;)).
PS: J'ai lu le tutoriel sur les réseaux de neurones présent sur ce site. J'ai aussi consulter environ une trentaine de document traitant à ce sujet pour faire un perceptron simple.
A) Voilà, mes différentes questions concernant le perceptron simple :
1) Dans mon premier projet concernant l'apprentissage d'un perceptron au 14 fonctions logiques (OR, AND, NOR, etc) j'ai eu un problème à trouver un seuil et des poids valide pour le calcul du NOR, NAND et du NO. En effet, d'après mes observations lors de l'apprentissage, le perceptron devrait trouver un seuil et des poids inférieur à 0 (Je me sers de la fonction d'activation: Heaviside).
NOR:
0 - 0 = 1
0 - 1 = 0
1 - 0 = 0
1 - 1 = 0
Seuil du perceptron après l'apprentissage = -0.109134
Poids synaptiques = -0.324819 et -0.128077
Etant donné que le seuil est initialisé (aléatoire entre 1 et -1) au début de mon algorithme, il m'était impossible de pouvoir trouver toutes les fonctions "NO". Donc pour remediez à ça, j'ai donc permis à l'algorithme de redéfinir le seuil (aléatoirement entre -1 et 1) lors de la correction des poids.
Est-ce correcte de ma part de rendre le seuil modifiable étant donné que ça donne des résultats plutôt satisfaisant de mon points de vue ?
B) Voilà, mes différentes questions concernant le perceptron multi-couche :
1) Comment serait disposé (schématiquement) les neurones, combien y en auraient-ils dans un réseau servant à calculer le XOR ?
2) Je ne comprends vraiment pas le fonctionnement de la retropropagation par gradient. Si quelqu'un à le pouvoir de rendre ça compréhensible par l'humain lambda je le remercie d'avance ;)
Je pense que je vais m'arrêter là avec les questions, je me permettrais de boucler cette discussion seulement au moment ou j'aurais les connaissances pour créer un Perceptron capable d'apprendre le XOR et le XNOR. Je mettrais surement la source ici pour les autres qui s'y intéresse.
En attendant, je vous remets déjà un zip contenant le fichier Main.cpp contenant les sources de mon perceptron simple puis l'exécutable ;).
Amusez-vous bien avec mon perceptron maison (oui j'en suis un minimum fière je dois l'avouer).
Merci d'avance pour vos réponses !