Réseau de neurones autoconfigurant

Soyez le premier à donner votre avis sur cette source.

Vue 13 609 fois - Téléchargée 2 110 fois

Description

Si vous avez déjà testé ce genre de logiciel (un réseau de neurones : RN), vous vous êtes sans doute déjà demandé combien de couches votre RN devait avoir, combien de neurones pour chaque couche, combien d'itérations, et d'autres questions encore : c'est inutile de se prendre la tête avec tout ces détails lorsque un méta-RN peut précisément faire à votre place les différents tests que vous feriez pour y répondre.

Le principe du méta-RN est testé avec le XOR : de meilleures configurations avec les paramètres Alpha, Eta et le gain permettent un apprentissage fiable avec moins d'itérations : ça va 100 fois plus vite et la fonction exp() n'est plus utilisée pour la fonction d'activation !
Une généralisation aux autres démos est prévue dans une prochaine version.

Source / Exemple :


Le .zip est là maintenant !

Conclusion :


Au début le .zip ne se trouvait que dans le projet IALib du IALab : "IA : le Laboratoire virtuel" :
www.vbfrance.com/projetcommun.asp?ID=20

mais comme il est inaccessible depuis quelques mois, je le remet ici.

Chaque version aboutie sera mise à jour dans le post original :
Perceptron multicouche et martingale pour le loto
www.vbfrance.com/code.aspx?ID=2181

Version de base :
www.vbfrance.com/code.aspx?ID=5612

Doc en ligne :
http://patrice.dargenton.free.fr/ia/ialab/rnautoconfigurant.html
Version de base :
http://patrice.dargenton.free.fr/ia/ialab/perceptron.html

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
16
Date d'inscription
mardi 28 septembre 2004
Statut
Membre
Dernière intervention
1 mai 2012

ouip salut,
j'aimerai bien essayer ce code pour essayer de discriminer des signatures,
je dispose des files de signatures avec tous les points (x,y) capturés à une fréquence donnée et y compris la pression , avec 5 files de signature par signataires, comment entrainer le perceptron a reconnaitre les signatures ?
une idée un conseil ?
Merci
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

J'ai remis le .zip ici et j'ai corrigé les liens avec les nouveaux ID des sources, qui ont changés avec la mise à jour de VBFrance.
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

J'ai remis le .zip ici et j'ai corrigé les liens avec les nouveaux ID des sources, qui ont changés avec la mise à jour de VBFrance.
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Voir aussi :
IA : RN : VBPerceptron : le code le + simple possible en VB6 & VB .Net
http://www.vbfrance.com/article.aspx?Val=7015
Messages postés
1221
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018

Attention au changement de la fonction d'activation : dans les fonctions rCalculerErreurSortie et RetropropagerErreur, on utilise la dérivée de la fonction d'activation sigmoïde :
m_aCouches(m_prm.iNbCouches - 1).aNeurones(i).rErreur = m_prm.rGainSignal * rSignal * (1 - rSignal) * rDelta
et
m_aCouches(i).aNeurones(j).rErreur = m_prm.rGainSignal * rSignal * (1! - rSignal) * rErreur
Il faut dont également modifier ces deux fonctions si on change la fonction d'activation. Le problème, c'est que les fonctions à seuil ne sont pas dérivables, certains proposent des astuces pour palier à cela, mais en tout cas, il faut faire attention à ce point si on veut que l'apprentissage se passe bien (ce qui veut dire que l'on peut faire en sorte que le RN marche mieux). Par ailleurs, d'autres algos utilisent un biais afin d'améliorer l'apprentissage (pour éviter que la sortie des neurones reste bloquée à zéro), cet algo ne tient pas compte du biais pour le moment.
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.