Propagation arrière dans un réseau neuronal : algorithme d'apprentissage automatique
Avant d'apprendre le réseau neuronal à propagation arrière (BPNN), comprenons :
Qu’est-ce que les réseaux de neurones artificiels ?
Un réseau neuronal est un groupe d'unités d'E/S connectées où chaque connexion a un poids associé à ses programmes informatiques. Il vous aide à créer des modèles prédictifs à partir de grandes bases de données. Ce modèle s'appuie sur le système nerveux humain. Il vous aide à comprendre les images, l'apprentissage humain, la parole informatique, etc.
Qu'est-ce que la rétropropagation ?
Rétropropagation est l’essence de la formation aux réseaux neuronaux. Il s'agit de la méthode permettant d'affiner les poids d'un réseau neuronal en fonction du taux d'erreur obtenu à l'époque précédente (c'est-à-dire l'itération). Un réglage approprié 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 dans un réseau neuronal est une forme abrégée de « propagation vers l'arrière des erreurs ». Il s'agit d'une méthode standard de formation de réseaux de neurones artificiels. Cette méthode permet de calculer le gradient d'une fonction de perte par rapport à tous les poids du réseau.
Comment fonctionne l'algorithme de rétropropagation
L'algorithme de rétro-propagation dans le réseau neuronal calcule le gradient de la fonction de perte pour un seul poids par la règle de la chaîne. Il calcule efficacement une couche à la fois, contrairement à un calcul direct natif. Il calcule le dégradé, mais ne définit pas comment le dégradé est utilisé. Il généralise le calcul dans la règle delta.
Considérez l'exemple de diagramme de réseau neuronal de rétro-propagation suivant pour comprendre :
- Entrées X, arrivent par le chemin préconnecté
- L'entrée est modélisée à l'aide de poids réels W. Les poids sont généralement sélectionnés de manière aléatoire.
- Calculez la sortie pour chaque neurone depuis la couche d'entrée, jusqu'aux couches cachées, jusqu'à la couche de sortie.
- Calculer l'erreur dans les sorties
ErrorB= Actual Output – Desired Output
- Revenez de la couche de sortie à la couche cachée pour ajuster les pondérations de manière à réduire l'erreur.
Continuez à répéter le processus jusqu'à ce que le résultat souhaité soit atteint
Pourquoi avons-nous besoin d’une rétropropagation ?
Les avantages les plus importants de la rétropropagation sont :
- La rétropropagation est rapide, simple et facile à programmer
- Il n'a aucun paramètre à régler en dehors des nombres d'entrées
- C'est une méthode flexible car elle ne nécessite aucune connaissance préalable du réseau.
- C'est une méthode standard qui fonctionne généralement bien
- Il n’est pas nécessaire de mentionner spécialement les 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 dans lequel les nœuds ne forment jamais un cycle. Ce type de réseau neuronal comporte une couche d’entrée, des couches cachées et une couche de sortie. Il s’agit du premier et du plus simple type de réseau neuronal artificiel.
Types de réseaux de rétropropagation
Il existe deux types de réseaux de rétropropagation :
- Rétropropagation statique
- Rétropropagation récurrente
Rétropropagation statique
Il s'agit d'un type de réseau de rétropropagation qui produit un mappage 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 de caractères.
Rétropropagation récurrente
La rétro-propagation récurrente dans l'exploration de données est répercutée jusqu'à ce qu'une valeur fixe soit atteinte. Après cela, l’erreur est calculée et propagée vers l’arrière.
La principale différence entre ces deux méthodes est la suivante : le mappage est rapide en rétro-propagation statique alors qu'il est non statique en rétro-propagation récurrente.
Histoire de la rétropropagation
- En 1961, le concept de base de rétropropagation continue a été dérivé dans le contexte de la théorie du contrôle par J. Kelly, Henry Arthur et E. Bryson.
- En 1969, Bryson et Ho ont proposé une méthode d’optimisation de système dynamique en plusieurs étapes.
- En 1974, Werbos évoquait la possibilité d'appliquer ce principe dans un réseau de neurones artificiels.
- En 1982, Hopfield a présenté son idée de réseau neuronal.
- En 1986, grâce aux efforts de David E. Rumelhart, Geoffrey E. Hinton et Ronald J. Williams, la rétropropagation a été reconnue.
- En 1993, Wan a été la première personne à remporter un concours international de reconnaissance de formes grâce à la méthode de rétropropagation.
Points clés de la rétropropagation
- Simplifie la structure du réseau par des éléments de liens pondérés qui ont le moins d'effet sur le réseau formé
- 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 les unités cachées.
- Il permet d'évaluer l'impact d'une variable d'entrée donnée sur une sortie du réseau. Les connaissances acquises grâce à cette analyse doivent être représentées dans des règles.
- La rétropropagation est particulièrement utile pour les réseaux de neurones profonds travaillant sur des projets sujets aux erreurs, tels que la reconnaissance d'images ou de parole.
- La rétropropagation tire parti de la chaîne et les règles de puissance permettent à la rétropropagation de fonctionner avec n'importe quel nombre de sorties.
Meilleure pratique de rétropropagation
La rétropropagation dans le réseau neuronal peut être expliquée à l’aide de l’analogie « Shoe Lace »
Trop peu de tension =
- Pas assez contraignant et très lâche
Trop de tension =
- Trop de contrainte (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
- Les performances réelles de la rétropropagation sur un problème spécifique dépendent des données d'entrée.
- L'algorithme de rétro-propagation dans l'exploration de données peut être très sensible aux données bruyantes
- Vous devez utiliser l'approche matricielle pour la rétropropagation au lieu du mini-lot.
Résumé
- Un réseau de neurones est un groupe d'unités d'E/S connectées où chaque connexion a un poids associé à ses programmes informatiques.
- La rétropropagation est une forme abrégée de « propagation vers l'arrière des erreurs ». C'est une méthode standard de formation des réseaux de neurones artificiels
- Algorithme de rétro-propagation dans machine learning est rapide, simple et facile à programmer
- Un réseau BPN feedforward est un réseau de neurones artificiels.
- Deux types de réseaux de rétropropagation sont 1) la rétropropagation statique 2) la rétropropagation récurrente
- En 1961, le concept de base de rétropropagation continue a été dérivé dans le contexte de la théorie du contrôle par J. Kelly, Henry Arthur et E. Bryson.
- Rétropropagation dans data mining simplifie la structure du réseau en supprimant les liens pondérés qui ont un effet minimal sur le réseau formé.
- Il est particulièrement utile pour les réseaux de neurones profonds travaillant sur des projets sujets aux erreurs, tels que la reconnaissance d'images ou de parole.
- Le plus gros inconvénient de la rétropropagation est qu’elle peut être sensible aux données bruitées.