IFT3710/6759, Winter 2025

Projets avancés d'apprentissage automatique

Advanced Machine Learning Projects



Time

  • Mardi : de 10 h 30 à 12 h 29
  • Jeudi : de 10 h 30 à 12 h 29
Veuillez consulter la plateforme Studium pour le lien vers l'espace de travail Slack de ce cours.
Le lien vers les diapositives du cours sera également affiché sur Studium après le cours.

Enseignant et assistant à l'enseignement

Enseignant: Bang Liu (firstname.lastname@umontreal.ca)
Assistant à l'enseignement: Kyle Roth (firstname.lastname@umontreal.ca), Jeremy Qin (firstname.midname.lastname@umontreal.ca)

Description du cours

L'objectif de ce cours est de préparer les étudiants à aborder des projets d'apprentissage machine du monde réel. Pendant le cours, les étudiants travailleront sur les principales étapes des projets d'apprentissage machine, y compris l'acquisition de données, le prétraitement des données, la formation de modèles, les expériences et l'analyse, rédigeront un rapport de projet et présenteront les résultats et les conclusions du projet. Le sujet du projet de cours peut être choisi parmi une liste de candidats fournie par le cours, ou bien il peut être proposé par les étudiants et déterminé après discussion avec l'enseignant. Les compétences développées au cours de ce cours comprennent une revue de la littérature sur un problème particulier, l'apprentissage automatique pratique et théorique, la programmation pour l'apprentissage machine et la science des données avec Python et PyTorch, le contrôle de version avec git et les commandes Linux de base.

Conditions préalables

  • Maîtrise en Python
    Nous utiliserons principalement Python (par exemple, en utilisant NumPy et PyTorch). Si vous avez beaucoup d'expérience en programmation, mais dans un langage différent (par exemple C/C++/Matlab/Java/Javascript), tout ira probablement bien.
  • Calcul universitaire et algèbre linéaire
    Vous devez être à l'aise avec les dérivées (multivariables) et comprendre la notation et les opérations matricielles/vecteurs.
  • Probabilités et statistiques de base
    Vous devez connaître les bases des probabilités, des distributions gaussiennes, de la moyenne, de l'écart type, etc.
  • Fondements de l'apprentissage machine
    Si vous avez déjà des connaissances de base en apprentissage automatique et/ou en apprentissage profond, le cours sera plus facile.

Critères d'évaluation

Les étudiants seront évalués entièrement en fonction de leur travail sur des projets. Chaque étudiant participe à un projet et travaille en équipes de 3 à 4 personnes. Vous pouvez choisir parmi une liste de projets préparés par les professeurs, ou proposer vos propres projets, à condition qu'ils répondent à certains critères. L'évaluation finale tiendra compte des éléments suivants :
  • Difficulté du projet
  • Performances des algorithmes développés
  • Présentation orale
  • Rapport écrit
  • Qualité du code
La note sera binaire (réussite ou échec) et non sur une échelle de lettres.

Plan de cours provisoire

Remarque: l'horaire provisoire est sujet à changement.
Index Sujet
1 Introduction au cours
5 Examen de l'apprentissage automatique
6 Examen de l'apprentissage profond
3 Linux et Python pour l'apprentissage machine
8 Programmation PyTorch et Apprentissage profond
2 Contrôle de version avec git et GitHub
4 Clusters HPC
9 Travaux de projets, présentations d'étudiants


Ressources

Aucun manuel requis. Mais les ressources suivantes, qui peuvent être lues gratuitement en ligne, sont utiles. Le prochain livre est utile pour vous donner plus d'informations sur les réseaux de neurones et le traitement du langage naturel. Le livre suivant est utile pour vous donner plus d'informations sur le traitement du langage naturel si votre projet est lié à ce domaine. Les logiciels ou bibliothèques suivants pourraient être utiles.
  • PyTorch une bibliothèque d'apprentissage profond open source.
  • DGL une bibliothèque open source pour l'apprentissage profond sur les graphiques.
  • HuggingFace Transformers une bibliothèque open source contenant des implémentations PyTorch et Tensorflow, des poids de modèle pré-entraînés, des scripts d' utilisation et des utilitaires de conversion pour une variété de modèles linguistiques pré-entraînés.
  • Aeiva aune bibliothèque open source pour construire des agents LLM.

Reconnaître

La dernière version de ce cours créé par Dr. Alex Hernandez-Garcia est d'une grande aide pour notre cours. Plus précisément, le site Web du cours est très inspirant. La conception de notre cours est basée sur le matériel du site Web du cours : IFT 3710/6759 - Projets (avancés) en apprentissage automatique (H22, Instructeur : Alex Hernandez-Garcia)