Réseau de neurones autoconfigurant

0/5 (7 avis)

Vue 14 212 fois - Téléchargée 2 162 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
hcadieu Messages postés 16 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 1 mai 2012
2 oct. 2009 à 07:37
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
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
31 janv. 2004 à 09:39
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.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
31 janv. 2004 à 09:37
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.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
10 janv. 2003 à 09:54
Voir aussi :
IA : RN : VBPerceptron : le code le + simple possible en VB6 & VB .Net
http://www.vbfrance.com/article.aspx?Val=7015
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
30 mai 2002 à 09:36
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.