Description
Cette formation démystifie le fonctionnement des réseaux de neurones : leurs mécanismes sont compris en profondeur, et pas seulement utilisés. La progression part des principes fondamentaux et va jusqu’à leur mise en œuvre en code, sans qu’aucun mécanisme ne reste opaque.
La formation propose :
- Un fil conducteur orienté ingénierie. Chaque notion est reliée à une intuition et à une décision concrète : choisir le bon modèle, la bonne architecture et les bons réglages.
- 60 % de pratique sur du code réel (Python / PyTorch) et des jeux de données représentatifs, avec une montée en compétence progressive et guidée.
- Une place centrale accordée au diagnostic : interpréter les courbes d’apprentissage, identifier le sur- ou le sous-apprentissage, ajuster l’optimisation, etc, des compétences qui font gagner un temps précieux en conditions réelles.
Tarif adhérent : Sur devis
Intra-entreprise : Sur devis
Objectifs de la formation
À l’issue de la formation les participants seront en mesure de :
- Expliquer le fonctionnement interne d’un réseau de neurones, du neurone unique aux réseaux profonds, sans se limiter à une utilisation « boîte noire ».
- Choisir une architecture adaptée à un problème donné et savoir justifier ce choix.
- Entraîner un modèle et diagnostiquer son comportement (sur-apprentissage, mauvaise convergence, etc.) à partir des courbes d’apprentissage.
- Régler méthodiquement les principaux hyperparamètres (taux d’apprentissage, taille de batch, régularisation, choix de l’optimiseur, etc.).
- Mettre en œuvre une chaîne de traitement complète en PyTorch, de la préparation des données à l’évaluation du modèle.
- Identifier les situations où le deep learning n’est pas la solution la plus pertinente, etc.
Profil des béneficiaires
Pour qui
- Ingénieurs R&D, ingénieurs logiciel et ingénieurs data souhaitant comprendre en profondeur les réseaux de neurones pour les mettre en œuvre.
- Data scientists et data analysts souhaitant consolider leurs bases théoriques au-delà du simple usage des bibliothèques.
- Chefs de projet et responsables techniques amenés à cadrer, évaluer ou piloter des projets fondés sur le deep learning.
Prérequis
- Formation accessible sans expérience en deep learning, mais reste exigeante sur la rigueur et la compréhension des mécanismes avec des prérequis en :
- Mathématiques : bases en algèbre linéaire (vecteurs, matrices), en dérivation (dérivées, règle de la chaîne) et notions de probabilités et statistiques.
- Programmation : pratique de Python (fonctions, tableaux NumPy). Aucune connaissance préalable d’un cadre de deep learning n’est requise.
Contenu de la formation
-
Partie 1 — Du neurone au réseau : comprendre la mécanique (apports théoriques)
- Positionnement IA / ML / DL: définitions, familles de tâches, panorama des usages industriels et critères pour décider (ou non) de recourir au deep learning.
- Le neurone formel: du modèle statique au perceptron apprenant; formalisation mathématique, panorama des fonctions d’activation, liens avec les régressions linéaire et logistique, et limite fondamentale du perceptron.
- Le perceptron multicouche (MLP) : pourquoi empiler des couches, rôle indispensable de la non-linéarité, théorème d’approximation universelle
-
Partie 1 — Du neurone au réseau : comprendre la mécanique (ateliers et travaux pratiques)
- Établir pas à pas le calcul du gradient sur un cas simple de classification, puis le vérifier en Python pour assimiler durablement le principe de la descente de gradient.
- Apprentissage des poids : fonctions de coût, principes de la descente de gradient, règle de la chaîne et rétropropagation expliquée pas à pas.
- Implémentation d’un réseau, sans bibliothèque spécialisée, pour un problème de régression. Mettre en évidence ses limites ainsi que l’effet des fonctions d’activation et de la profondeur.
-
Partie 2 — Entraîner, régler, diagnostiquer : maîtriser la boîte noire (apports théoriques)
- Choisir la sortie et la fonction de coût adaptées : MSE, cross-entropy, softmax, etc. adéquation de la fonction de coût à la tâche.
- Le sur-apprentissage et ses parades : apprentissage par mini-batch, régularisation L1 / L2, dropout, early stopping, batch normalization, etc.
- Les difficultés de l’optimisation par le gradient : minima locaux, plateaux, points-selles; heuristiques modernes (décroissance du taux d’apprentissage, momentum, AdaGrad, RMSProp, Adam); disparition et explosion du gradient, rôle de l’initialisation et de la normalisation.
-
Partie 2 — Entraîner, régler, diagnostiquer : maîtriser la boîte noire (ateliers et travaux pratiques)
- Construction et entraînement d’un MLP en PyTorch sur données réelles: apprentissage par mini-lots, comparaison d’optimiseurs, effet des régularisations, réglage des hyperparamètres et bonnes pratiques (découpage entraînement / validation / test, reproductibilité).
- Interpréter et diagnostiquer des courbes d’apprentissage (entraînement / validation). Reconnaître le sur- et le sous-apprentissage, taux d’apprentissage mal réglé, etc. ; méthodologie de réglage des hyperparamètres.
-
Partie 3 – Architectures profondes (CNN, RNN, autoencodeurs, Transformers) (apports théoriques)
- Réseaux convolutifs (CNN) : intuition de la convolution et du pooling, partage de poids et invariances, raisons de leur efficacité sur l’image et le signal ; architectures de référence et transfer learning.
- Réseaux récurrents (RNN) : spécificité des données séquentielles, RNN / LSTM / GRU et leurs limites.
- Transformers et mécanisme d’attention : intuition de l’attention, raisons pour lesquelles les Transformers ont largement supplanté les RNN sur les séquences et s’imposent aussi en vision (ViT).
- Autoencodeurs : principe encodeur-décodeur ; usages industriels (réduction de dimension, détection d’anomalies, débruitage, compression, etc.).
-
Partie 3 – Architectures profondes (CNN, RNN, autoencodeurs, Transformers) (ateliers et travaux pratiques)
- Classification d’images avec un CNN et transfer learning (PyTorch).
- Modèle séquentiel (RNN / LSTM) sur série temporelle / court corpus de texte.
- Détection d’anomalies par autoencodeur (PyTorch) : un schéma directement transposable à la maintenance prédictive et au contrôle qualité.
-
Partie 4 – Efficacité des réseaux de neurones (apports théoriques)
- Métriques d’efficacité : énergie consommée et empreinte carbone, temps de calcul et latence, mémoire et taille du modèle, nombre d’opérations, etc.
- Entraînement et inférence : coût ponctuel de l’entraînement vs coût récurrent de l’inférence, et leviers d’optimisation associés ; vue d’ensemble des grandes familles d’approches.
- Focus sur la compression de modèles : élagage (pruning) structuré ou non structuré, quantification, distillation de connaissances, etc.
- Focus sur la conception et recherche d’architectures efficaces : recherche automatique d’architecture (NAS), neural growing, etc.
- Aperçu des autres familles de solutions pour l’efficacité.
-
Partie 4 – Efficacité des réseaux de neurones (ateliers et travaux pratiques)
- Compression d’un réseau (PyTorch) : à partir d’un modèle déjà entraîné, appliquer et comparer plusieurs techniques de compression, avec mesure du compromis taille / latence / performance.
- Synthèse et clôture : Quel modèle et quelle architecture pour quel problème, grille de choix des hyperparamètres, points de vigilance pour la mise en production (coût de calcul, sobriété, robustesse).
Équipe pédagogique
-
Pr. Walid BECHKIT
Suivi de l’exécution et évaluation des résultats
- QCM de validation en fin de module
- Attestation de formation remise à l’issue des 3 jours, précisant les compétences acquises.
Ressources techniques et pédagogiques
- alternance d’apports théoriques et d’ateliers dirigés et de travaux pratiques sur machine.
- Supports : diaporamas, notebooks Python / PyTorch commentés, jeux de données réels.
Accessibilité
- Des aménagements peuvent être étudiés afin d’adapter les modalités pédagogiques et les conditions de formation aux besoins spécifiques de chacun.