Logo ÉTS
Session
Cours
Responsable(s) Eric Paquette

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Eric Paquette


PLAN DE COURS

Automne 2021
MTI880 : Sujets spéciaux en technologies de l'information (3 crédits)
Apprentissage profond pour la vision par ordinateur





Préalables
Aucun préalable requis




Descriptif du cours

Sujets d'intérêt majeur dans le domaine destechnologies de l’information et familiarisation avec les derniers développements technologiques dans un ou plusieurs domaines de pointe. Sujets particuliers dans différentes spécialités du domaine des technologies de l’information.




Objectifs du cours

L'objectif du cours est de comprendre tous les détails du fonctionnement des réseaux de neurones profonds et ses applications dans le domaine de la reconnaissance visuelle.


Plus précisément, a la fin de ce cours, les étudiants seront capables de :

  • comprendre en détail le fonctionnement des réseaux de neurones convolutifs,

  • discuter des avantages et inconvénients de ces approches pour des applications vision par ordinateur,

  • construire un système basé sur des CNNs et les utiliser pour créer leurs propres applications,

  • d'utiliser les outils appropriés pour valider et évaluer la performance de ces systèmes.

Les thèmes suivants seront abordés :

introduction à l'apprentissage machine, rappels d'algèbre linéaire et de calcul différentiel, perceptron et son apprentissage, réseau de neurones et son apprentissage, fonctions d'activation, propagation avant et propagation arrière, problèmes de l'apprentissage, régularisation, fonctions de coût, problèmes avec les gradients, apprentissage semi-supervisé, apprentissage faiblement supervisé, auto-apprentissage, classification d'images, segmentation d'images, interpretabilité des predictions, apprentissage en continue.




Stratégies pédagogiques

Trois heures et demie (3h ½) heures de cours par semaine. Dans la première partie de chaque séance, des aspects théoriques seront abordés. La deuxième partie servira pour montrer des exemples pratiques (c.à.d, implémentation) qui visent l'assimilation des notions vues au cours. Certains documents pertinents au cours (mémos, exercices, solutionnaires, énoncés de travaux, fichiers d'exemples, etc.) seront placés régulièrement sur le site Web du cours. Il est de la responsabilité de l'étudiant(e) de consulter régulièrement ce site.

 




Utilisation d’appareils électroniques

Puisque le cours aura un partie pratique, les ordinateurs sont permis lors de l'enseignement magistral. 

Aucun enregistrement (photographie, film ou audio) n'est permis sans permission préalable de l'enseignant.




Horaire
Groupe Jour Heure Activité
01 Lundi 08:30 - 12:00 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Jose Dolz Activité de cours Jose.Dolz@etsmtl.ca A-3417



Cours

Cette section présente le plan de cours prévu. Il est à noter que le contenu des thématiques abordées peut légèrement changer au cours du trimestre. Référez-vous au site web du cours (Moodle) pour les documents à jour.

 

A - INTRODUCTION

1 - Introduction (3 heures)

  • Présentation des types de problèmes classiques de vision par ordinateur (classification, détection, segmentation). 

  • Définition de l’apprentissage machine.

  • Contexte historique. 

  • Applications. 

  • Organisation du cours.

  • Introduction à python/numpy

2 - Réseaux de Neurones - recap (3 heures) 

  • Classification linéaire

  • Perceptron

  • Fonctions d’activation.

  • Règle Delta.

  • MLP (Perceptron multi-couche)

  • Entrainer un perceptron/MLP.

 

B - APPRENTISSAGE

 

3 - Rétropropagation  (3 heures) 

  • Descente de gradient.

  • Regle de la chain

  • Retropropagation, apprentissage en suivant le gradient.

  • Réseaux de neurones en python I (Descente de gradient)

 

4 - Optimization (3 heures) 

  • Fonction de coût

  • Optimisateurs (SGD,Momentum, Nesterov,Adam, etc.) 

  • Réseaux de neurones en python (Descente de gradient, Descente de gradient stochastique, effet des différentes optimisateurs.)

 

5 - Réseaux de neurones convolutifs : Mise en place de l'architecture  (3 heures) 

  • Notions/elements basics : convolutions, 2D/3D, pooling, padding, strided/dilated convolutions

  • Fonctions d’activations

  • Example CNN simple

  • Introduction à pyTorch et création d’une CNN simple. (ex. Classification MNIST)

 

6 - Réseaux de neurones convolutifs: Babysitting le processus d’apprentissages (3 heures)

  • Regularisation (norms L1 et L2, drop-out)

  • Normalisation par lot

  • Initialization de poids (aleatoire, zero, Xavier)

  • Pré-traitement de données. 

  • Techniques pour améliorer les réseaux de neurones (Augmentation de données, hyperparameter tuning, transfer learning, ensemble)

 

C - APPLICATIONS

7 - Classification: reconnaître chiens et chats (3 heures)

  • Introduction à la tâche. 

  • CNNs pour classification. 

  • Metriques d’evaluation.

  • Fonctions de coût pour la classification.

  • Défis de la tâche.

  • Étude de cas: Classification d’ImageNet  

 

8,9 - Segmentation: quoi, où et comment? (6 heures)

  • Introduction à la tâche. 

  • CNNs pour segmentation (2D/3D). 

  • Metriques d’evaluation.

  • Fonctions de coût pour la classification.

  • Défis de la tâche.

  • Étude de cas : Segmentation d’images médicales ou des images de la conduite autonome. 

 

10 - Apprentissage faiblement supervisé (3 heures)

  • Apprentissage supervisé vs apprentissage faiblement supervisé.

  • À prioris (à priori axé sur la connaissance, à priori axé sur les données).

  • Modèles et optimisation.

  • Étude de cas : fonction de coût basée sur la taille.

 

11 - Apprentissage semi-supervisé (3 heures)

  • Contexte.

  • Comment utilisons-nous les données non étiquetées?

    • Pseudo-masques

    • Self-training.

    • Co-training.

  • Étude de cas: self-training avec des tâches auxiliaires.

 

12 - Visualisation et interprétabilité (3 heures)

  • Visualisation des filtres.

  • Visualisation des activations.

  • Visualisation des features (Montée de gradient, DeepDream)

  • Exemples contradictoires (Adversarial exemples).

  • Transfert de style.

  • Saliency maps.

  • Cartes d'activations de la classification.

Étude de cas: Interprétabilité des prédictions de classification (a.k.a., classification activation maps).

 

13 -  Sujets avancés (3 heures)

  • À définir avec les étudiants. Dans la séance 5 ou 6, plusieurs sujets seront présentés et les étudiants vont décider ce qu'ils préfèrent pour la dernière séance. (exemples: adaptation de domaines, apprentissage continue, estimation de l'incertitude des prédictions, distillation des connaissances, détection non-supervisé d'anomalies, etc  )

  • Présentations




Laboratoires et travaux pratiques

Projet de session

  • Le projet de session consiste à la participation dans un challenge relié aux thèmes vus dans le cours et la présentation du travail. 
  • Ce projet devra être effectué en équipe de 3 ou 4 et une partie de la dernière séance de la session sera consacrée à vos présentations.
Projet de recherche 40 %
 Rapport 20 % 
 Présentation 10 %
 Résultats de la competition 10 %

 




Évaluation

En équipe :

  • Projet de session (Challenge) et présentation : 40 %

Individuellement (60 %) :

  • Intra : 35 %
  • Deux Quiz : 20 % 
  • Présence : 5 %

 




Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 18 octobre 2021



Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Les dates de remise des travaux doivent être respectées. Une pénalité de 20 % par jour de retard sera applicable aux travaux qui ne sont pas remis à temps.




Absence à un examen
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur de département. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat ou autre) à un examen entraînera l’attribution de la note (0).



Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

Aucune documentation obligatoire. Les notes de cours seront écrites au tableau et sont la seule documentation nécessaire pour le cours.




Ouvrages de références

Livres

  • Bishop, C., Pattern Recognition and Machine Learning. 2006 Feb;128(9)
  • Lay, D.C., 2003. Linear algebra and its applications 2003 (5th edition).
  • Nielsen, M.A., 2015. Neural networks and deep learning (Vol. 2018).

Articles

  • À donner dans le cours.



Adresse internet du site de cours et autres liens utiles

Moodle: https://ena.etsmtl.ca/