Avant d’apprendre la rétropropagation, comprenons :
Qu’est-ce que les réseaux neuronaux artificiels ?
Un réseau neuronal est un groupe d’unités d’entrée-sortie connectées où chaque connexion a un poids associé à ses programmes informatiques. Il vous aide à construire des modèles prédictifs à partir de grandes bases de données. Ce modèle s’inspire du système nerveux humain. Il vous aide à réaliser la compréhension d’images, l’apprentissage humain, la parole par ordinateur, etc.
Qu’est-ce que la rétropropagation ?
La rétropropagation est l’essence même de la formation des réseaux neuronaux. Il s’agit de la méthode de réglage fin des poids d’un réseau neuronal en fonction du taux d’erreur obtenu lors de l’époque (c’est-à-dire l’itération) précédente. Un bon réglage des poids permet de réduire les taux d’erreur et de fiabiliser le modèle en augmentant sa généralisation.
La rétropropagation est une forme abrégée de « propagation à rebours des erreurs ». Il s’agit d’une méthode standard de formation des réseaux neuronaux artificiels. Cette méthode permet de calculer le gradient d’une fonction de perte par rapport à tous les poids du réseau.
Dans ce tutoriel, vous apprendrez :
- Qu’est-ce que les réseaux neuronaux artificiels ?
- Qu’est-ce que la rétropropagation ?
- Comment fonctionne la rétropropagation
- Pourquoi avons-nous besoin de la rétropropagation ?
- Qu’est-ce qu’un réseau feed forward ?
- Types de réseaux de backpropagation
- Historique de la backpropagation
- Points clés de la backpropagation
- Bonnes pratiques de la backpropagation
- Inconvénients de l’utilisation de la backpropagation
Comment fonctionne la backpropagation : Algorithme simple
Considérons le schéma suivant
- Les entrées X, arrivent par le chemin préconnecté
- Les entrées sont modélisées à l’aide de poids réels W. Les poids sont généralement choisis de manière aléatoire.
- Calculer la sortie pour chaque neurone de la couche d’entrée, aux couches cachées, à la couche de sortie.
- Calculer l’erreur dans les sorties
ErrorB= Actual Output – Desired Output
- Retourner de la couche de sortie à la couche cachée pour ajuster les poids de telle sorte que l’erreur soit diminuée.
Répéter le processus jusqu’à ce que la sortie désirée soit atteinte
Pourquoi avons-nous besoin de la rétropropagation?
Les avantages les plus importants de la rétropropagation sont :
- La backpropagation est rapide, simple et facile à programmer
- Elle n’a pas de paramètres à régler en dehors des nombres d’entrées
- C’est une méthode flexible car elle ne nécessite pas de connaissances préalables sur le réseau
- C’est une méthode standard qui fonctionne généralement bien
- Elle ne nécessite pas de mention particulière des caractéristiques de la fonction à apprendre.
Qu’est-ce qu’un réseau feed forward ?
Un réseau neuronal feedforward est un réseau neuronal artificiel dont les nœuds ne forment jamais de cycle. Ce type de réseau neuronal possède une couche d’entrée, des couches cachées et une couche de sortie. C’est le premier type de réseau neuronal artificiel et le plus simple.
Types de réseaux de backpropagation
Deux types de réseaux de backpropagation sont :
- Rétro-propagation statique
- Rétro-propagation récurrente
Rétro-propagation statique:
C’est un type de réseau de rétro-propagation qui produit une correspondance d’une entrée statique pour une sortie statique. Il est utile pour résoudre des problèmes de classification statique comme la reconnaissance optique des caractères.
Rétro-propagation récurrente:
La rétro-propagation récurrente est alimentée en avant jusqu’à ce qu’une valeur fixe soit atteinte. Après cela, l’erreur est calculée et propagée en arrière.
La principale différence entre ces deux méthodes est : que la cartographie est rapide dans la rétropropagation statique alors qu’elle est non statique dans la rétropropagation récurrente.
Historique de la rétropropagation
- En 1961, le concept de base de la rétropropagation continue ont été dérivés dans le contexte de la théorie du contrôle par J. Kelly, Henry Arthur, et E. Bryson.
- En 1969, Bryson et Ho ont donné une méthode d’optimisation de systèmes dynamiques à plusieurs étapes.
- En 1974, Werbos a énoncé la possibilité d’appliquer ce principe dans un réseau neuronal artificiel.
- En 1982, Hopfield a apporté son idée de réseau neuronal.
- En 1986, par l’effort de David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, la rétropropagation a gagné en reconnaissance.
- En 1993, Wan a été la première personne à gagner un concours international de reconnaissance de formes à l’aide de la méthode de rétropropagation.
Points clés de la rétropropagation
- Simplifie la structure du réseau par des éléments liens pondérés qui ont le moins d’effet sur le réseau entraîné
- Vous devez étudier un groupe de valeurs d’entrée et d’activation pour développer la relation entre les couches d’entrée et d’unités cachées.
- Il est utile d’évaluer l’impact qu’une variable d’entrée donnée a sur la sortie d’un réseau. Les connaissances acquises à partir de cette analyse doivent être représentées dans des règles.
- La rétropropagation est particulièrement utile pour les réseaux neuronaux profonds travaillant sur des projets sujets aux erreurs, tels que la reconnaissance d’images ou de la parole.
- La rétropropagation tire parti des règles de chaîne et de puissance permet à la rétropropagation de fonctionner avec un nombre quelconque de sorties.
Bonnes pratiques de la rétropropagation
La rétropropagation peut être expliquée à l’aide de l’analogie du « lacet de chaussure »
Trop peu de tension =
- Pas assez contraignant et très lâche
Trop de tension =
- Trop de contraintes (surentraînement)
- Prendre trop de temps (processus relativement lent)
- Plus grande probabilité de rupture
Tirer un lacet plus que l’autre =
- Inconfort (biais)
Inconvénients de l’utilisation de la rétropropagation
- La performance réelle de la rétropropagation sur un problème spécifique dépend des données d’entrée.
- La rétropropagation peut être assez sensible aux données bruyantes
- Vous devez utiliser l’approche matricielle pour la rétropropagation au lieu du mini-batch.
Sommaire
- Un réseau neuronal est un groupe d’unités d’entrées-sorties it connectées où chaque connexion a un poids associé à ses programmes informatiques.
- La rétropropagation est une forme abrégée de « propagation d’erreurs vers l’arrière. » C’est une méthode standard de formation des réseaux neuronaux artificiels
- La rétropropagation est rapide, simple et facile à programmer
- Un réseau neuronal à action directe est un réseau neuronal artificiel.
- Deux types de réseaux de backpropagation sont 1)Back-propagation statique 2) Back-propagation récurrente
- En 1961, le concept de base de la backpropagation continue ont été dérivés dans le contexte de la théorie du contrôle par J. Kelly, Henry Arthur, et E. Bryson.
- La rétropropagation simplifie la structure du réseau en supprimant les liens pondérés qui ont un effet minimal sur le réseau entraîné.
- Elle est particulièrement utile pour les réseaux neuronaux profonds qui travaillent sur des projets sujets aux erreurs, comme la reconnaissance d’images ou de la parole.
- Le plus grand inconvénient du Backpropagation est qu’il peut être sensible pour les données bruyantes.