Réseaux de neurones : historique, méthodes et applications
Un réseau neuronal est l’association, en un graphe plus ou moins complexe, d’objets élémentaires, les neurones formels. Les principaux réseaux se distinguent par l’organisation du graphe (en couches, complets. . .), c’est-à-dire leur architecture, son niveau de complexité (le nombre de neurones, présence ou non de boucles de rétroaction dans le réseau), par le type des neurones (leurs fonctions de transition ou d’activation) et enfin par l’objectif visé : apprentissage supervisé ou non, optimisation, systèmes dynamiques…
But d’apprentissage supervisé. Les systèmes dynamiques, avec boucle de rétroaction, les réseaux récurrents (LSTM) ainsi que les cartes de Kohonen ou cartes auto-organisatrices pour la classification non supervisée ne sont pas abordés.
Le perceptron multicouche (PMC) est un réseau composé de couches successives. Une couche est un ensemble de neurones n’ayant pas de connexion entre eux. Une couche d’entrée lit les signaux entrant, un neurone par entrée xi, une couche en sortie fournit la réponse du système. Selon les auteurs, la couche d’entrée qui n’introduit aucune modification n’est pas comptabilisée. Une ou plusieurs couches cachées participent au transfert.
Dans un perceptron, un neurone d’une couche cachée est connecté en entrée à chacun des neurones de la couche précédente et en sortie à chaque neurone de la couche suivante.
Un réseau de neurones typique est le réseau feed-forward. Ce réseau propage l’entrée du réseau vers les couches suivantes sans jamais revenir en arrière. En plus du type de réseau de neurones, il faut également choisir une fonction d’erreur et une fonction d’activation pour les neurones. Ces choix sont souvent guidés par le type de données traitées.
Bien entendu, au départ, un réseau de neurones avec des poids initialisés aléatoirement donne de pauvres résultats. C’est pourquoi il y a une étape d’apprentissage, c’est-à-dire d’ajustement des poids du réseau afin que ceux-ci puissent donner de meilleures prédictions.
Une façon de voir le problème est d’essayer de minimiser l’erreur de prédiction du modèle. Cette formulation transforme le problème d’apprentissage en un problème d’optimisation pour lequel plusieurs algorithmes existent. L’optimisation de la fonction d’erreur s’effectue par l’ajustement des paramètres de la fonction, c’est-à-dire les poids et les biais du réseau de neurones.
L’idée de la rétropropagation est de faire circuler l’information sur la dérivée de la fonction d’erreur à partir de la couche de sortie, où l’erreur de prédiction est connue (la différence entre y et c), jusqu’à la couche d’entrée. Pour y arriver, il faut arriver à exprimer la dérivée de la fonction d’erreur d’un nœud en fonction de l’information donnée par les couches suivantes. De cette façon, les valeurs attendues de la couche de sortie pourront être rétropropagées vers l’entrée.
Cours N°2 sur les Réseaux de neurones
Cours N°3 sur les Réseaux de neurones
Cours N°2 sur les Réseaux de neurones
Cours N°5 sur les Réseaux de neurones