1

Introduction

Cet article est encore en construction, donc lorsque j'en aurai le temps (oui, je sais, la vieille excuse bidon embarrassed ...), je ferai quelques recherches pour mettre dans cette intro quelques éléments historiques.
Sinon, tout le reste est de moi seul (sauf évidemment tout ce que vous aurez contribué à me faire corriger grin).

Les Réseaux de Neurones Formels, ou RNF, constituent une approche ascendante au problème de l'Intelligence Artificielle (IA) posé par Turing.
Juste pour information grammaticale, c'est le neurone qui est formel, et non le réseau (on parlera donc d'un réseau de neurones formels).

L'approche descendante consiste à écrire des programmes en un langage informatique donné pour tenter d'imiter un comportement donné (par exemple, tenir une conversation la plus humaine possible) : on part du but à atteindre, et on descend en divisant le problème en parties de plus en plus élémentaires jusqu'à atteindre les fonctions du langage utilisé (comparaisons, branchements, ...) qui, une fois associées, permettent de réaliser la tâche voulue ; c'est ce qui est réalisé tous les jours par des millions de programmeurs de par le monde.
L'approche ascendante consiste au contraire à partir des éléments constitutifs du 'langage' en les assemblant de manière plus ou moins dirigée jusqu'à ce que le but soit atteint de manière émergente.

Enoncée comme ceci, l'approche ascendante peut ressembler au fait de tester des chaînes hexadécimales aléatoires jusqu'à trouver par hasard le programme voulu ... ce qui serait effectivement le cas si le langage utilisé était le C ou de l'Assembler CISC.
Pour que l'approche ascendante soit efficace, il faut donc ajouter deux points à la 'définition' donnée ci-dessus :
- rendre le 'langage' le plus 'simple' possible, le plus RISC possible (façon de parler grin)
fleche les neurones formels constituent les 'instructions' d'un 'langage' de type vraiment très RISC, et un réseau de NF constitue le 'programme', donc les RNF sont parfaits pour l'approche ascendante
- ne pas retester à chaque fois un 'programme' totalement aléatoire, mais se servir plutôt de ceux qui, bien que ne fonctionnant pas parfaitement, semblent prometteurs
fleche classiquement, on utilise des algorithmes génétiques (ne vous inquiétez pas, un article sur le sujet est également en préparation hehe)
Il est à noter qu'un autre langage encore plus RISC est le lambda-calcul, et ce n'est pas pour rien que certains chercheurs (oui, oui, c'est bon, je chercherai les noms à l'occasion ...) l'utilisent pour tenter de faire le lien entre l'informatique et la neuropsychologie, et montrer comment certains processus mentaux sont quasiment identiques à certains programmes informatiques ... mais là n'est pas le sujet hehe ...

D'après la théorie darwiniste de l'évolution des espèces, l'intelligence humaine s'est formée de manière ascendante, par évolution du cerveau, lequel est toujours formé à partir de neurones qui n'ont quasiment pas changé depuis les premiers animaux terrestres apparus (me semble-t-il ...).
C'est cette constatation qui, dans le domaine de la cybernétique, a donné l'idée de recréer cette approche ascendante informatiquement avec le même principe de base, à savoir des neurones presque tous identiques et interchangeables, interconnectés en un réseau de plus en plus complexe jusqu'à obtenir une émergence spontanée d'une intelligence artificielle.
Nous n'aborderons pas dans cet article ce Graal de la cybernétique, en nous contentant de donner aux RNF des applications plus simples et concrètes.


Voici le sommaire temporaire de cet article :
Introduction
I/ Le neurone biologique
II/ Le neurone formel
III/ Les réseaux typiques
IV/ L'implémentation mathématique et informatique
V/ Un exemple concret : Rosane
Conclusion
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

2

I/ Le neurone biologique

avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

3

II/ Le neurone formel

avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

4

III/ Les réseaux typiques

avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

5

IV/ L'implémentation mathématique et informatique

avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

6

V/ Un exemple concret : Rosane

avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

7

Conclusion

avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

8

Suite à une demande (mais j'avais bien tendu la perche grin), je commence une série d'articles (ou plutôt un article de plusieurs pages) sur les Réseaux de Neurones Formels ...
S'il y a des erreurs (manifestes ou supposées), des imprécisions ou des points obscurs, merci de me les indiquer pour que j'y remédie au plus vite.
De plus, n'hésitez pas à poser des questions, les réponses que je fournirai permettront d'améliorer l'article.
Mais bon ... attendez tout de même qu'il soit un peu plus fourni avant de vous plaindre hehe !

@++
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

9

Si tu trouves des exemples de code, ca serait interressant. En tout cas , j'ai hate de lire ça.

10

Bon courage Ethaniel et merci pour ton "futur" travail! grin
Cyril Mottier [Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
Tuto sur l'utilisation de Vertel3 : Cliquez ici

11

Mon frangin a fait un tipe en prépa l'an dernier à ce sujet, tu veux que je lui demande ses docs ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

12

J'ai fait mon TIPE de 3/2 dessus, avec visite du Laboratoire d'Informatique de Paris VI love, le LIP6.
J'ai également fait mon Projet d'Ouverture en PG 1A dessus, avec la fameuse Rosane du futur chapitre V : RObot Suiveur à Architecture Neuronale Electronique.
Mais sinon, oui, je ne serais pas contre de jeter un oeil ou deux sur les docs de ton frère hehe !
Ceci me permettra sans doute d'avoir une meilleure base mathématique, puisqu'à part un article succint sur les RNF et un autre sur la rétropropagation du gradient (que j'ai trouvé trop mathématique, inadapté à mes besoins, et surtout incompatible avec les Algorithmes Génétiques grin), j'ai tout appris de manière autodidacte (mais bon, vous verrez que ça n'était pas bien difficile, une fois que tout est bien présenté).
Merci d'avance !

@++
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

13

je lui demanderais (par contre il a pas accès au web...)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

14

Ca serait sympa d'inclure tout ça sur Wikipédia.

15

Ben justement, hier soir, en cherchant quelques infos sur le neurone biologique (j'ai eu mon Bac il y a 5 ans, donc les cours de Terminale sur le système nerveux commencent à être un peu ... lointains dans mon cerveau), j'ai vu que l'article Wikipédia sur le neurone parlait aussi du neurone formel.
Allez donc faire un tour sur l'historique de l'article grin !
C'est un résumé de ce que sera mon chapitre II ici hehe.

@++
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

16

bon je lui ai demandé par tel... j'ai ptet fait des erreurs de copies (je pense à l'url)

vala ses sources

-Recyclage Magazine, article du 10 Juillet 2003 par Catherine Moncel
-Notes de cours de l’université de Lille 3 : «Apprentissage à partir d’exemples» par François Denis et Rémi Gilleron
-Petit cours d’introduction aux réseaux de neurones par William Arrouy : http://www.ie2.u-psud.fr/~coutris/neural/neutm.html
-AVH association – cinquième symposium – Reims – Mars 98 : document sur la spectroscopie infrarouge par Mohamed Mathlouthi
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

17

OK, merci beaucoup hehe !
L'URL fonctionne, pas de problème, je regarderai ceci plus tard pour voir s'il y a des nouveautés par rapport à ce que je compte mettre ici ...

En attendant, pour avoir quelque chose de plus complet que l'introduction actuelle grin, je vous invite à consulter cet article où je fais mes premières armes (et j'ai encore plein d'autres trucs à préciser et ajouter ... bref, de quoi faire un bon gros pavé indigeste comme j'en ai le secret hehe).

@++
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

18

Pour info, la réference en réseaux de neurones:
Simon Haykin: "Neural network, a comprehensive foundation"
La programmation est un art... Ne prétendons pas en être des virtuoses mais tout au plus des adeptes...
ASM Rulez!!