Bonjour à tous,
J'utilise la toolbox neural-network de Matlab pour développer des réseaux de neurones.
Après avoir développé un bon modèle pour répondre à mes besoins il me faudrait maintenant être en mesure de retrouver la fonction associé a ce modèle. Pour être le plus clair possible : j'ai mon réseau de neurone entrainé et je souhaite retrouver la fonction générer par le réseau pour pouvoir implémenter à la main une fonction f tel que f(inputs)=outputs.
Cela est possible en retrouvant les poids (net.LW & net.IW), les biais, les fonctions de transferts, etc. Je l'ai donc fait et j'obtiens une fonction f qui fonctionne mais qui est cependant imparfaite. C'est à dire que la courbe obtenue via la fonction sim de la toolbox Matlab n'est pas tout à fait la même que celle obtenue avec une implémentation manuelle de la fonction f.
Mon réseau étant assez complexe je me suis donc attaché a le faire sur un réseau simple.
J'ai remarquer que pour un tel "réseau simple", c'est à dire comportant le strict minimum, a savoir une entrée, une couche cachée de N neurones et une sortie :
- si N=1 les deux courbes coïncident parfaitement.
- si N=5 c'est déjà moins bien
- si N=10 c'est encore pire ...
- (Cas irréel pour le fun) si N=100 les deux courbes n'ont plus rien à voir!
Il doit se passer des choses en coulisse qui ne doivent pas être clairement exprimées dans la doc ( ou simplement je suis passé a côté ... ) lors de l'appel de la fonction sim.
Si quelqu'un a déjà rencontré ce problème et possède un début d'explication ou un prémices de pistes a suivre je suis preneur ...
Merci d'avance.
Partager