Informations administratives
Titre | Dérivation et application de la rétropropagation |
Durée | 60 |
Module | B |
Type de leçon | Tutoriel |
Focus | Technique — Deep Learning |
Sujet | Dérivation et mise en œuvre de la rétropropagation |
Mots-clés
Rétropropagation, fonctions d’activation, déviation,
Objectifs d’apprentissage
- Développer une compréhension du gradient et du taux d’apprentissage
- Dérivez la rétropropagation pour les couches cachées et extérieures
- Implimenting Backpropagation débranché et branché à l’aide de différentes fonctions d’activation
Préparation prévue
Événements d’apprentissage à compléter avant
Obligatoire pour les étudiants
- Révision du calcul (dérivés, dérivés partiels, règle de chaîne)
Optionnel pour les étudiants
Aucun.
Références et antécédents pour les étudiants
- John D Kelleher et Brain McNamee. (2018), Fondamentals of Machine Learning for Predictive Data Analytics, MIT Press.
- Michael Nielsen. (2015), Réseaux neuronaux et apprentissage profond, 1. Presse de détermination, San Francisco CA USA.
- Charu C. Aggarwal. (2018), Réseaux neuronaux et apprentissage profond, 1. Springer
- Antonio Gulli, Sujit Pal. Apprentissage profond avec Keras, Packt, [ISBN: 9781787128422].
Recommandé pour les enseignants
Aucun.
Matériel de leçon
Instructions pour les enseignants
- Ce tutoriel présentera aux étudiants les fondamentaux de l’algorithme d’apprentissage de rétropropagation pour un réseau de neurones artificiels. Ce tutoriel consistera en la dérivation de l’algorithme de rétropropagation à l’aide de stylo et de papier, puis l’application de l’algorithme de rétropropagation pour trois fonctions différentes d’activation de couches cachées (Sigmoid, Tan H et ReLu), en utilisant Python avec uniquement la bibliothèque Numpy (pour la manipulation des matrices) et ensuite en utilisant KERAS. Cela s’appuiera sur la compréhension fondamentale des fonctions d’activation variables lorsqu’un réseau neuronal apprend et comment les fonctions d’activation diffèrent dans la complexité informatique et l’application du stylo et du papier, pour coder à partir de zéro en utilisant Numpy, puis en utilisant un module de haut niveau -> Keras.
- Note: La topologie est la même que la Conférence 1/Tutorial 1, mais les poids et les entrées sont différents, vous pouvez bien sûr utiliser les mêmes poids.
- Les étudiants seront confrontés à quatre problèmes (le premier étant facultatif ou en tant que matériel supplémentaire):
- Problème 1: La dérivation de l’algorithme de rétropropagation (en utilisant la fonction Sigmoid pour les fonctions d’activation interne et externe et MSE comme fonction de perte), les étudiants seront invités à dériver la formule de rétropropagation (20 minutes à compléter).
- Problème 2: Les étudiants appliqueront trois fonctions d’activation pour une seule mise à jour du poids (backpropagation SGD), en utilisant le stylo et le papier pour (20 minutes):
- Sigmoïde (couche cachée), Sigmoid (couche extérieure) et MSE
- Tan H (couche cachée), Sigmoid (couche extérieure) et MSE
- ReLU (Couche cachée), Sigmoid (Couche extérieure) et MSE
- Problème 3: Les étudiants seront invités (avec des conseils en fonction de l’expérience de codage précédente) à développer un réseau neuronal à partir de zéro en utilisant uniquement le module Numpy, et les poids et les fonctions d’activation où l’option de choisir parmi une fonction d’activation de couche cachée est fournie pour mettre à jour les poids à l’aide de SGD (20 minutes à compléter).
- Problème 4: Les étudiants seront invités (avec des conseils en fonction de l’expérience de codage préalable) à développer un réseau neuronal en utilisant le module Tensorflow 2.X avec le module inbuild Keras, et les poids et les fonctions d’activation, puis en utilisant des poids aléatoires pour compléter une ou plusieurs mises à jour de poids. S’il vous plaît pas que Keras utilise une légère perte MSE différente, la perte diminue plus rapidement dans l’exemple Keras.
- Keras MSE = perte = carré(y_true — y_pred)
- Tutoriel MSE = perte = (carré(y_true — y_pred))*0.5
- Les sous-objectifs de ces trois problèmes, c’est d’amener les élèves à comprendre l’algorithme de rétropropagation, de l’appliquer afin que pour le réglage hypermétrique, les élèves soient en mesure de mieux comprendre les effets d’hyperparamètre.
Esquisse
Durée (min) | Description |
---|---|
20 (facultatif) | Problème 1: calcul de la formule de rétropropagation en utilisant la fonction Sigmoid pour les fonctions d’activation interne et externe et MSE comme fonction de perte (facultatif) |
20 | Problème 2: Les étudiants appliqueront trois fonctions d’activation pour une seule mise à jour du poids (backpropagation SGD), en utilisant le stylo et le papier pour (20 minutes): |
20 | Problème 3: Les étudiants développeront un réseau neuronal à partir de zéro en utilisant uniquement le module Numpy, où l’utilisateur peut sélectionner parmi l’une des trois fonctions d’activation de couches cachées où le code peut préformer la rétropropagation. |
10 | Problème 4: Les étudiants utiliseront le module Tensorflow 2.X avec le module Keras inbuild, préformer la rétropropagation à l’aide de SGD. |
10 | Récapitulation du processus de transmission de l’avance |
Remerciements
Le programme de master IA centré sur l’humain a été cofinancé par le mécanisme pour l’interconnexion en Europe de l’Union européenne dans le cadre de la subvention CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068.