Réseau de neurones artificiels - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Différents types de réseaux de neurones

L’ensemble des poids des liaisons synaptiques détermine le fonctionnement du réseau de neurones. Les motifs sont présentés à un sous-ensemble du réseau de neurones : la couche d’entrée. Lorsqu’on applique un motif à un réseau, celui-ci cherche à atteindre un état stable. Lorsqu’il est atteint, les valeurs d’activation des neurones de sortie constituent le résultat. Les neurones qui ne font ni partie de la couche d’entrée ni de la couche de sortie sont dits neurones cachés.

Les types de réseau de neurones diffèrent par plusieurs paramètres :

  • la topologie des connexions entre les neurones ;
  • la fonction d’agrégation utilisée (somme pondérée, distance pseudo-euclidienne...) ;
  • la fonction de seuillage utilisée (sigmoïde, échelon, fonction linéaire, fonction de Gauss, ...) ;
  • l’algorithme d’apprentissage (rétropropagation du gradient, cascade correlation) ;
  • d’autres paramètres, spécifiques à certains types de réseaux de neurones, tels que la méthode de relaxation pour les réseaux de neurones (e.g. réseaux de Hopfield) qui ne sont pas à propagation simple (e.g. Perceptron Multicouche).

De nombreux autres paramètres sont susceptibles d’être mis en œuvre dans le cadre de l’apprentissage de ces réseaux de neurones par exemple :

  • la méthode de dégradation des pondérations (weight decay), permettant d’éviter les effets de bord et de neutraliser le sur-apprentissage.

Réseaux à apprentissages supervisés

Sans rétropropagation

Perceptron
ADALINE (ADAptive LInear NEuron)

Le réseau ADALINE est proche du modèle Perceptron, seule sa fonction d'activation est différente puisqu'il utilise une fonction linéaire. Afin de réduire les parasites reçus en entrée, les réseaux ADALINE utilisent la méthode des moindres carrés.

Le réseau réalise une somme pondérées de ses valeurs d'entrées et y rajoute une valeur de seuil prédéfinie. La fonction de transfert linéaire est ensuite utilisée pour l'activation du neurone. Lors de l'apprentissage, les coefficients synaptiques des différentes entrées sont modifiées en utilisant la loi de Widrow-Hoff (en). Ces réseaux sont souvent employés en traitement de signaux, notamment pour la réduction de bruit.

Machine de Cauchy
Non détaillés
  1. Adaptive Heuristic Critic (AHC)
  2. Time Delay Neural Network (TDNN)
  3. Associative Reward Penalty (ARP)
  4. Avalanche Matched Filter (AMF)
  5. Backpercolation (Perc)
  6. Artmap
  7. Adaptive Logic Network (ALN)
  8. Cascade Correlation (CasCor)
  9. Extended Kalman Filter(EKF)
  10. Learning Vector Quantization (LVQ)
  11. Probabilistic Neural Network (PNN)
  12. General Regression Neural Network (GRNN)

Avec rétropropagation

Perceptron multicouche
Non détaillés
  1. Brain-State-in-a-Box (BSB)
  2. Fuzzy Congitive Map (FCM)
  3. Boltzmann Machine (BM)
  4. Mean Field Annealing (MFT)
  5. Recurrent Cascade Correlation (RCC)
  6. Backpropagation through time (BPTT)
  7. Real-time recurrent learning (RTRL)
  8. Recurrent Extended Kalman Filter (EKF)

Réseaux à apprentissage non supervisé

Avec rétropropagation

Carte auto adaptative

Non détaillés
  1. Additive Grossberg (AG)
  2. Shunting Grossberg (SG)
  3. Binary Adaptive Resonance Theory (ART1)
  4. Analog Adaptive Resonance Theory (ART2, ART2a)
  5. Discrete Hopfield (DH)
  6. Continuous Hopfield (CH)
  7. Chaos Fractal
  8. Discrete Bidirectional Associative Memory (BAM)
  9. Temporal Associative Memory (TAM)
  10. Adaptive Bidirectional Associative Memory (ABAM)
  11. Apprentissage compétitif

Dans ce type d'apprentissage non supervisé, les neurones sont en compétition pour être actifs. Ils sont à sortie binaire et on dit qu'ils sont actifs lorsque leur sortie vaut 1. Alors que dans les autres règles plusieurs sorties de neurones peuvent être actives simultanément, dans le cas de l'apprentissage compétitif, un seul neurone est actif à un instant donné. Chaque neurone de sortie est spécialisé pour « détecter » une suite de formes similaires et devient alors un détecteur de caractéristiques. La fonction d’entrée est dans ce cas, h = b-dist(W, X) où b, W et X sont respectivement les vecteurs seuil, poids synaptiques et entrées. Le neurone gagnant est celui pour lequel h est maximum donc si les seuils sont identiques, celui dont les poids sont les plus proches des entrées. Le neurone dont la sortie est maximale sera le vainqueur et sa sortie sera mise à 1 alors que les perdants auront leur sortie mise à 0. Un neurone apprend en déplaçant ses poids vers les valeurs des entrées qui l'activent pour augmenter ses chances de gagner. Si un neurone ne répond pas à une entrée, aucun ajustement de poids n'intervient. Si un neurone gagne, une portion des poids de toutes les entrées est redistribuée vers les poids des entrées actives. L'application de la règle donne les résultats suivants (Grossberg) : Dwij = lr(xj-wij) si le neurone i gagne, Dwij = 0 si le neurone i perd. Cette règle a pour effet de rapprocher le vecteur poids synaptique wij de la forme d'entrée xj.

Exemple : Considérons deux nuages de points du plan que l’on désire séparer en deux classes. x1 et x2 sont les deux entrées, w11 et w12 sont les poids du neurone 1 que l’on peut considérer comme les coordonnées d’un point ‘poids du neurone 1’ et w21 et w22 sont les poids du neurone 2. Si les seuils sont nuls, hi sera la distance entre les points à classer et les points poids. La règle précédente tend à diminuer cette distance avec le point échantillon lorsque le neurone gagne. Elle doit donc permettre à chaque point poids de se positionner au milieu d’un nuage. Si on fixe initialement les poids de manière aléatoire, il se peut que l’un des neurones se positionne près des deux nuages et que l’autre se positionne loin de sorte qu’il ne gagne jamais. Ses poids ne pourront jamais évoluer alors que ceux de l’autre neurone vont le positionner au milieu des deux nuages. Le problème de ces neurones que l’on qualifie de morts peut être résolu en jouant sur les seuils. En effet, il suffit d’augmenter le seuil de ces neurones pour qu’ils commencent à gagner.

Applications : Ce type de réseau et la méthode d'apprentissage correspondant peuvent être utilisés en analyse de données afin de mettre en évidence des similitudes entre certaines données.

Précisions

S’agissant d’un modèle, les réseaux de neurones sont généralement utilisés dans le cadre de simulation logicielle. IMSL et Matlab disposent ainsi de bibliothèques dédiées aux réseaux de neurones. Cependant, il existe quelques implémentations matérielles des modèles les plus simples, comme la puce ZISC.

Page générée en 0.094 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise