Réseaux de Neurones

1. Introduction

Fonctions d'activation

  • seuil : f(s) = 0 si s ⇐ k, f(s)=1 si s>k. On dit qu'on a un réseau neuronal vraiment symbolique
  • linéaire : f(s) = -1 si s ⇐ -1/k, 1 si s > 1/k, k*s ailleurs
  • sigmoide : f(s) = \frac{1}{1+e^{-ks}}. Si k est grand, f(s) est proche de 0 ou de 1 pour presque toutes les valeurs de s. On dit qu'on a un réseau neuronal relativement symbolique
  • ou autre : gaussienne, à valeurs discrètes, etc;

Architecture

  • Deux grandes familles
    • Réseaux bouclés, tel celui de Hopfield; problèmes de stabilité et apprentissage.
    • Réseaux à couches, dont couches cachées ou sans couches cachées.
      • Exemple : perceptron multicouche – neurones d'entrée, connexions pondérées, couche cachée, neurone(s) de sortie.

Apprentissage

C'est la phase pendant laquelle le réseau est paramétré pour produire la transformation souhaitée. On dit aussi “pour obtenir le comportement désiré.” Lorsqu'on tient compte des écarts entre les sorties et les sorties souhaitées pour faire les adaptations et mises au point, on dit que l'apprentissage est supervisé.

Un aspect de l'apprentissage est d'aboutir à une bonne configuration, un bon nombre de neurones répartis en un bon nombre de couches. Il n'y a pas de méthode automatique pour choisir cet architecture du réseau. Il y a une méthode de construction dynamique en cours d'apprentissage : GNG.

La méthode classique suit cette procédure :

  • on présente une donnée en entrée
  • on compare la sortie à ce qui serait “juste”
  • on note l'erreur
  • si l'erreur n'est pas nulle, on ajuste la pondération des connexions pour minimiser (or seulement réduire?) cette erreur : w(t+1) = w(t) + \Delta w(t) avec une fonction corrective \Delta w()

En pratique, on choisit la fonction d'activation (son type, les paramètres viendront de l'apprentissage), le nombre (initial) de neurones et leur répartition en couches, la fonction d'erreur, et un critère d'arrêt.

2. Perceptron

Le perceptron est un réseau unidirectionnel très simple, avec une couche de neurones d'entrée connectés à un neurone de sortie. Le mécanisme est simplement l'application des pondérations aux signaux entre les entrées et la sortie et la comparaison de leur somme à un seuil. \displaystyle 1 \times \left(\left(\sum_{i=1}^{n_e} w_i x_i - w_0\right) \geq 0\right). C'est l'équation d'un hyperplan. Donc, cet appareil est limité à une séparation linéaire. Il peut réussir (en 2d) “OR” mais pas “XOR”, par exemple.

Procédure Adaline

Aussi connue sous le nom “Widrow-Hoff” ou “delta rule.”

  • On initialise les paramètres (poids, dont w_0) à des valeurs quelconques.
  • Pour chaque exemple,
    1. on le présente
    2. on calcule les ajustements des poids en fonction des écarts :
      • \Delta w_j = \epsilon \left(c_i - o_i\right)\left(x_i\right)
      • w_j (t+1) = w_j(t) + \Delta w_j (t)

Logiquement, on augmente le poids si le neurone avant un signal positif mais on n'a pas atteinte le seuil, et on diminue le poids si le neurone avant un signal positif et on a dépassé le seuil alors qu'il ne fallait pas.

c(orrecte) 1 1 1 0 0
o(utput) 1 0 0 1 1
x(signal) 0 1 0 1
correction 0 0 +-\epsilon 0 -\epsilon

Si l'échantillon d'entrée n'est pas linéairement séparable, l'algorithme ne convergera pas vers taux d'erreur nul. Remarque: si les poids prennent deux fois les mêmes valeurs sans que le perceptron ait appris alors que tous les exemples ont été présentés signifie que l'échantillon n'est pas linéairement séparable.

C'est une bonne méthode lorsque les données sont linéairement séparable; il n'y a pas (d'autre) hypothèse sur les données. Mais si le nombre d'exemples (<2n) est insuffisant par rapport au nombre de variable (=n), les exemples sont très souvent linéairment séparable même si les vrais individus ne le sont pas.

3. Perceptrons Multi-couches

 
m1ilc/fouille_2.txt · Dernière modification: 2010/01/03 12:02 par suitable
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante :CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki