Apprentissage machine appliqué profond GINML8
Enseignant:
Email:
Durée totale du cours: 22.5 H
Semestre : 5
Option ingénierie des connaissances
Nombre de crédits : 2
| Modules
spécialisés |
Modules de
base |
Sciences et techniques de
l’ingénierie |
Préparation à la carrière professionnelle |
| X | X |
| Nombre d’heures | Activités hors classe |
| 45 | 38 |
| Code | : GINML8 | Apprentissage machine appliqué profond |
Volume Horaire : 01h:30 Cours intégrés + Travaux pratiques (par semaine)
Aperçu
L’apprentissage automatique/profond a émergé de l’informatique et de l’intelligence artificielle. Il s’appuie sur des méthodes issues d’une variété de sujets connexes, notamment les statistiques, les mathématiques appliquées et des domaines plus spécialisés, tels que la reconnaissance de formes et le calcul de réseaux neuronaux. Ce module offre la théorie et les applications connexes des sujets avancés d’apprentissage profond/machine et un aperçu de leurs applications dans d’autres domaines, tels que le traitement du langage naturel, l’imagerie médicale, la santé, l’audio et la fintech, etc. Les algorithmes d’apprentissage profond qui seront étudiés sont largement utilisé dans l’industrie par les start-ups de l’IA aux géants de la technologie de l’IA, tels que Google, Meta, Microsoft, Amazon, Tesla, etc. texte, audio, etc.
Objectif du module :
L’objectif de ce module est d’offrir une compréhension approfondie des réseaux de neurones profonds modernes et des applications associées. Ces algorithmes modernes d’IA/d’apprentissage en profondeur sont universels et peuvent être appliqués à de nombreux domaines d’application, tels que la vision par ordinateur, les robotocs, le traitement du langage naturel, la sécurité et la surveillance, l’analyse d’images médicales, l’analyse multimodale, la récupération de contenu de grandes archives multimédias, la fintech, etc. L’objectif est de préparer les étudiants à s’attaquer aux problèmes du monde réel en appliquant des algorithmes avancés d’apprentissage en profondeur/IA.
Contenu du cours
Titre du Cours : Apprentissage Machine Appliqué Profond
Durée : 16 semaines
Objectif : Le cours vise à fournir aux étudiants les compétences nécessaires pour comprendre, concevoir et mettre en œuvre des modèles d’apprentissage profond pour résoudre des problèmes du monde réel.
Semaines 1-2 : Fondamentaux de l’Apprentissage Machine
- Introduction à l’apprentissage automatique et l’apprentissage profond
- Bases mathématiques pour l’apprentissage machine
- Prétraitement des données et visualisation
Semaines 3-4 : Réseaux de Neurones Artificiels
- Architecture et fonctionnement des réseaux de neurones
- Entraînement et rétropropagation
- Fonctions d’activation et couches
Semaines 5-6 : Réseaux Convolutifs (CNN)
- Principes des CNN
- Applications en vision par ordinateur
- Transfert d’apprentissage
Semaines 7-8 : Réseaux Récurrents (RNN) et LSTM
- Introduction aux RNN
- Applications en traitement du langage naturel (NLP)
- Réseaux LSTM pour la séquence de modélisation
Semaines 9-10 : Réseaux Génératifs (GAN)
- Compréhension des GAN
- Applications en génération d’images et de texte
- Entraînement et évaluation des GAN
Semaines 11-12 : Méthodes d’Optimisation pour l’Apprentissage Profond
- Optimisation stochastique et descente de gradient
- Régularisation et surajustement (overfitting)
- Méthodes avancées d’optimisation
Semaines 13-14 : Déploiement et Production
- Déploiement de modèles d’apprentissage profond
- Infrastructure et mise à l’échelle
- Gestion des modèles en production
Semaines 15-16 : Projets Pratiques et Évaluation Finale
- Travaux pratiques en équipes sur des projets d’apprentissage machine appliqué
- Présentation des projets et évaluation finale
Méthodes d’enseignement / d’apprentissage
Les méthodes d’apprentissage et d’enseignement comprennent des conférences, des laboratoires, avec des évaluations d’examens et de cours.
Ils sont conçus pour atteindre les objectifs suivants.
– Introduire des concepts avancés d’apprentissage en profondeur et leurs applications pour promouvoir une compréhension approfondie des concepts avancés d’IA, des méthodologies d’ingénierie pour la conception et la mise en œuvre d’algorithmes logiciels. Les sujets incluent : réseau de neurones convolutifs, convolutions séparables, CNN de graphes, attention, transformateurs, MLP, réseau d’attention de graphes, transfert de domaine/généralisation, apprentissage zéro/quelques coups, apprentissage auto-supervisé, analyse multimodale. Introduire des principes d’ingénierie pour la conception de logiciels dans l’apprentissage automatique/profond avancé, ce qui implique l’intégration de composants logiciels liés à la vérification et à la validation.
– Les étudiants apprennent à identifier, classer et décrire les performances des systèmes et composants logiciels grâce à l’utilisation de méthodes analytiques et de techniques de modélisation. Ceux-ci leur permettent d’employer des compromis de performance et l’utilisation de métriques appropriées, pour prédire et évaluer les performances des algorithmes avancés d’apprentissage automatique/profond. Les étudiants apprennent à appliquer des méthodes quantitatives, des modèles mathématiques et informatiques et à utiliser des logiciels (Python, Pytorch) pour résoudre des problèmes de traitement d’images. Les compétences impliquent l’identification et l’analyse des problèmes dans l’apprentissage automatique/profond avancé, et le développement de solutions logicielles pour résoudre les problèmes dans différents domaines d’application de l’apprentissage automatique/profond, par exemple, les soins de santé, la sécurité et le divertissement.
– Les étudiants acquièrent des compétences en programmation et une compréhension des outils logiciels, des environnements de développement, des bibliothèques et des composants réutilisables tels que python, pytorch et d’autres bibliothèques d’apprentissage machine/deep. Ils les utilisent pour effectuer la classification, la segmentation, la localisation, la régression et d’autres tâches avancées d’apprentissage automatique/profond telles que l’apprentissage auto-supervisé et l’analyse multimodale. Nous finaliserons les objectifs après avoir finalisé le contenu du module afin que les choses soient en perspective
- Enseignement frontal (magistral) avec des exemples à résoudre en
- Exercices théoriques et études de cas (présentation et discussion).
- Travaux à faire à domicile (mini-projet, exposé, compte-rendu, …)
La stratégie d’apprentissage et d’enseignement est conçue pour atteindre les objectifs suivants :
Connaissances et compétences pré-requises
- N/A
Références bibliographiques
- Un polycopié (Notes du cours) de l’enseignant sera
- https://readinglists.surrey.ac.uk
- « Deep Learning » par Ian Goodfellow, Yoshua Bengio, and Aaron Courville. (Ce livre est souvent considéré comme une référence fondamentale dans le domaine de l’apprentissage profond).
- « Pattern Recognition and Machine Learning » par Christopher M. Bishop. (Ce livre couvre de nombreux aspects de l’apprentissage automatique et est très utilisé dans l’enseignement).
- « Introduction to Artificial Intelligence » par Wolfgang Ertel. (Il fournit une bonne introduction à de nombreux aspects de l’intelligence artificielle, y compris l’apprentissage machine).
- Articles de revues scientifiques : Des revues telles que le Journal of Machine Learning Research, Neural Networks, et IEEE Transactions on Neural Networks and Learning Systems publient régulièrement des articles de recherche de haute qualité sur l’apprentissage machine appliqué.
- Cours en ligne et tutoriels : Il existe de nombreuses plateformes en ligne qui proposent des cours sur l’apprentissage machine et l’apprentissage profond. Des sites comme Coursera, edX, Udacity, et Khan Academy offrent des cours de grande qualité.
- Articles de conférences : Les conférences majeures dans le domaine de l’apprentissage machine, telles que NeurIPS, ICML, et CVPR, publient des actes de conférence qui contiennent des recherches de pointe dans le domaine.
Stratégie d’évaluation
La stratégie d’évaluation pour ce module est conçu pour fournir aux étudiants la possibilité de démontrer les compétences acquises dans le module.
- Connaissance de diverses théories d’apprentissage automatique et de leurs applications,
- compréhension des méthodologies d’ingénierie pour la conception et la mise en œuvre d’algorithmes logiciels.
- Connaissance des solutions de pointe à différents problèmes d’apprentissage automatique et d’analyse de données, de leurs limites et des exigences pour de meilleures solutions.
- Compétences d’identification, de classification et de description des performances des systèmes et composants logiciels grâce à l’utilisation de méthodes analytiques et de techniques de modélisation.
- Compétences en programmation et compréhension des outils logiciels, des environnements de développement, des bibliothèques et des composants réutilisables tels que les bibliothèques Python, numpy, scikit-learn, PyTorch, etc.L’évaluation sommative de ce module comprend les éléments suivants :40 % de cours
60 % d’examenLes évaluations de cours consisteront en plusieurs questions demandant de mettre en œuvre un extrait de code effectuant différentes tâches liées au traitement et à l’analyse des données, à la reconnaissance des formes et à la classification. Le but du cours est pour les étudiants d’appliquer pratiquement les connaissances théoriques acquises lors des conférences sur un sujet de chacun des thèmes de base de ce module.
L’examen consistera en un examen dans une fenêtre de 4 heures. Il y aura 5 questions chacune de différents domaines du cours. Chaque question se compose de plusieurs sous-questions testant les connaissances, les compétences analytiques et de conception.
Les étudiants recevront une évaluation formative / des commentaireslors des cours magistraux par session de questions-réponses, au moyen de fiches de problèmes de TP, lors de séances de TP supervisées et via des commentaires de rétroaction sur les cours évalués.
Modalité d’évaluation
- 40% Contrôle continu (TP noté, Test, Assiduité, Devoir surveillé, travaux non présentiel, …)
- 60% Examen
Résultat d’apprentissage :
À la fin du cours, vous devriez être capable de :
| 001 | Être capable de démontrer une compréhension des différents principes de l’apprentissage automatique et de l’analyse des données. | T |
| 002 | Être capable de choisir une méthode appropriée à un problème de vision par ordinateur, d’imagerie médicale, de traitement du langage naturel, de fintech, etc. et de prédire le résultat de la méthode appliquée. | CKP |
| 003 | Être capable de proposer une solution théorique aux problèmes de vision par ordinateur, d’imagerie médicale, de traitement du langage naturel et de fintech. | CKT |
| 004 | Être capable d’analyser de nouveaux problèmes de reconnaissance de formes et d’analyse de données, d’établir des modèles statistiques pour leur solution. | CP |
Attributs développés
C – Cognitif/analytique
K – Connaissance du sujet
T – Compétences transférables
P – Compétences professionnelles/pratiques