samedi 5 juillet 2008

Réseau de neurones artificiel

Article à mettre en lien avec le précédent : neurone formel.

Un neurone artificiel, précédement détaillé de manière très simpliste, permet d'approcher le fonctionnement d'un neurone naturel. Des entrées correspondants à un influx nerveux, une excitation pour le neurones et une sortie qui varient en fonction de cette fameuse excitation. Cette sortie correspond biologiquement à la "réponse" du neurone.

A partir de là poursuivons le parallèle puisque le corps humain fonctionne bien... Qu'est-ce qu'un cerveau si ce n'est qu'un amas de neurones ? Je vais peut-être faire frémir des biologistes, mais pour mon exemple la réponse est : rien. Comment est-ce que l'on construit un réseau de neurone ?

Tout simplement : les neurones sont structurées en couche (il y en a trois sur l'illustration). Les sorties des neurones d'une couche servent d'entrée à la couche qui suit, la première couche s'appelle la couche d'entrée et la dernière la couche de sortie.

Ce que j'énonce ici, nous donne un système assez plat, car une fois qu'on a notre réseau, on a rien de plus qu'une belle machine qui va nous faire des calculs... Rien de très original, on en a plein des trucs comme ça... Seulement le cerveau peut apprendre, et le réseau de neurones aussi.

Ainsi si on veut un réseau qui sache reconnaitre une forme, c'est a dire dire si a partir d'une image s'il s'agit d'une croix ou d'un rond (problème de classification).

Comment ça se passe : chaque neurone a des pondérations (une par entrée)... Cela ne change pas grand chose a notre problème, imaginez que pour un neurones de trois entrées, on a trois pondérations une pour chaque entrée... Les pondérations vont multipliés les entrées, et ensuite tout comme précédement dans mon explication.

Par exemple :

  • trois entrées sur un réseau ;
  • trois pondérations, ayant par exemple les valeurs 2, 3 et 5 ;
  • si les valeurs 1, 1 et 3 arrivent en entrées. Les pondérations les multiplierons et nous aurons donc 2, 3 et 15.
Notons que les pondérations sont des valeurs internes du réseau : elles ne changent pas avec les entrées, elles sont constantes hors apprentissage.

En effet, lorsque l'on crée un réseau de neurones... il est impossible de mettre les pondérations pour avoir le fonctionnement désiré. L'apprentissage d'un réseau de neurones ne consiste qu'à rechercher les bonnes pondérations pour le réseau. Une des méthodes pourrait être de les rechercher au hasard, ça marcherait, mais c'est long, très long... Il existe donc des méthodes mathématiques basées dur des approches par descente du gradient. Trop compliquées pour que je les maîtrise au poind d'arriver à les vulgariser.

Le réseau détaillé ici fait partie de la famille des perceptrons multicouches (pas d'articles en français), il existe de nombreux autres types de réseaux, mais je ne suis familié qu'avec celui-ci.


Aucun commentaire:

Publier un commentaire

Related Posts with Thumbnails