Introduction au Deep Learning avec PyTorch
Code Formation: 7106
| Ajouter aux favorisCompétence principale visée
Développer, entraîner et évaluer un modèle de deep learning avec PyTorchObjectifs pédagogiques
-
Comprendre les principes du deep learning, manipuler les tenseurs PyTorch et construire une boucle d'entraînement complète
-
Entraîner, évaluer et diagnostiquer un réseau de neurones, en appliquant les techniques adaptées
-
Utiliser et adapter des modèles pré-entraînés en vision et NLP, puis sauvegarder et exporter les modèles pour la production.
Public
- Data scientists
- AI engineers
Prérequis
- Connaissances Python, Machine Learning et mathématiques (algèbre linéaire et calcul différentiel)
JOUR 1 - COMPRENDRE LE DEEP LEARNING ET DÉCOUVRIR PYTORCH
PARTIE 1 - Fondamentaux du Deep Learning
- Apprentissage de représentations :
- ce qui distingue le deep learning du Machine Learning classique
- ce que la construction automatique des features change concrètement
- Critères de pertinence :
- volume de données,
- puissance de calcul et nature du problème,
- identifier les situations où le deep learning n'apporte pas de gain
- Familles d'architectures :
- réseaux denses,
- convolutifs et transformers,
- leurs domaines d'application respectifs
- Contraintes matérielles :
- rôle du GPU
- ordres de grandeur de coût d'entraînement
TRAVAUX PRATIQUES - Prise en Main de PyTorch
-
Tenseurs :
-
création,
-
manipulation,
-
opérations et exécution sur CPU ou GPU
-
-
Différenciation automatique :
-
mécanisme d'autograd,
-
graphe de calcul dynamique
-
rôle de la méthode backward
-
-
Manipulation de tenseurs et opérations de base, avec bascule CPU / GPU
-
Calcul automatique de gradients sur des expressions simples
-
Implémentation d'une descente de gradient minimale, sans couche d'abstraction
PARTIE 2 - Construire & Entraîner un Réseau de Neurones
- Structuration d'un modèle :
- nn.Module,
- couches disponibles
- fonctions d'activation
- Objectif d'apprentissage :
- fonctions de perte
- choix de l'optimiseur
- Gestion des données :
- Dataset et DataLoader,
- chargement par lots et mélange des échantillons
- Anatomie d'une boucle d'entraînement :
- passe avant,
- calcul de la perte,
- rétropropagation
- mise à jour des poids
TRAVAUX PRATIQUES - Premier réseau de bout en bout
-
Construction d'un réseau dense sur un jeu de données tabulaires
-
Écriture complète de la boucle d'entraînement, sans abstraction de haut niveau
-
Entraînement, suivi de la perte et premières prédictions
PARTIE 3 - Diagnostic, Régularisation & Hyperparamètres
- Lecture des courbes d'apprentissage :
- interprétation conjointe des courbes d'entraînement et de validation,
- identification du surapprentissage
- Techniques de régularisation :
- dropout,
- weight decay et augmentation de données
- Hyperparamètres :
- taux d'apprentissage,
- techniques de normalisation
- taille des lots
- Débugage :
- symptômes et causes de la non-convergence et des gradients instables,
- outils de suivi des entraînements
TRAVAUX PRATIQUES - Diagnostiquer et améliorer un modèle
-
Reprise du réseau précédent et mise en évidence du surapprentissage à partir des courbes d'apprentissage
-
Application successive de techniques de régularisation et mesure de leur effet sur la performance en validation
-
Analyse critique des résultats et arbitrage entre complexité du modèle et capacité de généralisation
JOUR 2 - RÉUTILISER DES MODÈLES PRÉ-ENTRAÎNÉS EN VISION ET EN TRAITEMENT DU TEXTE
PARTIE 4 - Computer Vision : Convolutions & Transfer Learning
- Réseaux convolutifs :
- principe de la convolution,
- cartes de caractéristiques et opérations de pooling, présentés sans formalisme mathématique
- Modèles pré-entraînés : catalogue torchvision et nature des représentations apprises sur de grands corpus d'images
- Stratégies de réutilisation :
- gel des couches et remplacement de la tête de classification,
- affinage (fine-tuning)
- critères de choix entre les deux
- Préparation des données d'image :
- transformations,
- normalisation et augmentation de données.
TRAVAUX PRATIQUES - Système multi-agents
-
Chargement d'un modèle pré-entraîné et adaptation de sa tête de classification au problème traité
-
Entraînement sur un jeu de données d'images restreint et suivi des performances
-
Comparaison avec un réseau convolutif entraîné depuis zéro : mise en évidence du gain apporté par le transfer learning
PARTIE 5 - Modèles Transformers Pré-entraînés
- Architecture transformer :
- mécanisme d'attention
- structure conceptuelle d'un transformer
- Écosystème des modèles pré-entraînés :
- modèles disponibles,
- articulation avec PyTorch
- principe de la tokenisation
- Stratégies d'utilisation :
- exploitation directe d'un modèle
- affinage sur des données spécifiques
- Contraintes pratiques :
- tailles de modèles,
- empreinte mémoire
- faisabilité selon le matériel disponible
TRAVAUX PRATIQUES - Classification de textes avec un transformer pré-entraîné
-
Chargement d'un modèle pré-entraîné et préparation des données textuelles
-
Adaptation au problème de classification et entraînement
-
Analyse des performances obtenues et des erreurs du modèle
PARTIE 6 - Évaluation & Mise en Production
- Protocole d'évaluation :
- constitution des jeux de validation et de test,
- choix des métriques au regard du cas d'usage
- analyse des erreurs résiduelles
- Sauvegarde d'un modèle :
- enregistrement et rechargement des poids,
- distinction entre le modèle et son code de définition
- Export vers la production :
- principe de l'export vers un format interopérable
- vérification de la cohérence des prédictions après export
- Bonnes pratiques :
- éléments à versionner aux côtés du modèle pour garantir la reproductibilité
TRAVAUX PRATIQUES - Évaluation et export d'un modèle
-
Évaluation d'un des modèles entraînés dans la journée et analyse de ses erreurs
-
Sauvegarde du modèle et export vers un format exploitable en production
-
Rechargement et vérification du modèle exporté sur de nouvelles données
Evaluation des acquis de formation
Evaluation des acquis des apprenants réalisée en fin de formation, par un questionnaire contextualisé.Taux de réussite
94.3% des apprenants ont acquis la compétence principale visée
Résultat obtenu pour 177 participants évalués ayant suivi une formation dans la thématique sur les 5 dernières années
Évaluation de la satisfaction
Evaluation du ressenti des participants en fin de formation (Niveau 1 KIRKPATRICK)
Résultats de l’évaluation
Le niveau de satisfaction globale est évalué à 4.3/5 par les participants.
Evaluations réalisées auprès des 199 participants ayant suivi une formation dans la thématique sur les 5 dernières années
