IFT-780 - Réseaux neuronaux


Objectifs du cours

Apprentissage supervisé par réseaux de neurones : classification et régression avec réseaux à propagation avant et prédiction de cibles. Réseaux de neurones classiques : perceptron multi-couches et régression logistique. Réseaux à convolution et architectures profondes ("deep learning") modernes : VGG, InceptionNet, ResNet, UNet, etc. Applications à l'imagerie : reconnaissance, segmentation, localisation, transfert de style, etc. Réseaux de neurones récurrents et applications à l'analyse de texte et d'images. Modèles génératifs adversaires et réseaux de neurones non-supervisés : auto-encodeurs et auto-encodeurs variationnels. Bonnes pratiques : transfert d'entrainement, augmentation de données, normalisation, méthodes d'entrainement modernes, visualisation. Concepts avancés: modèles d'attention, autoML, compression, convolution dilatées.


Manuel

Il est possible de réussir le cours sans acheter un manuel de référence. Cependant, il peut être avantageux d'en faire l'achat car le cours s'appuie en bonne partie sur deux livres à savoir : Deep learning de Goodfellow, Bengio et Courville ainsi que Pattern Recognition and Machine Learning de Christopher Bishop. Il est possible de les commander sur Amazon. Des copies sont également disponibles à la bibliothèque des sciences et de génie.

Pour ces et celles qui ne rechignent pas à l'idée de lire un livre sur un écran d'ordinateur, ceux deux manuels sont disponibles en format pdf: ici et et ici.


Méthode pédagogique

La méthode pédagogique pour ce cours est similaire à celle des autres cours au cycles supérieurs. Ainsi, à chaque semaine sera dispensée une séance magistrale de 3 heures. Par contre, à quelques reprises, nous passerons 1 à 2 heures au laboratoire afin de se familiariser avec le code informatique des travaux pratiques. De plus, dans les 2 ou 3 dernières semaines de la session, les séances magistrales seront remplacées par des présentations orales étudiantes.

Il est à noter que ce cours est à l'intention des élèves ayant des bases solides en techniques d'apprentissage comme le cours IFT603-712 ainsi qu'en programmation python. Si vous n'avez jamais suivi un tel cours, il est fortement suggéré de vous y inscrire.


Notes de cours

Semaine Contenu Sections
des livres
Thème 0 Mise à niveau
 • Tutoriel Python avec interface en ligne
 • Tutoriel Python approfondi
 • Tutoriel Python - Stanford
 • Cours IFT712 sur les techniques d'apprentissage

Presentation [pdf] [pdf]
Thème 1 Concepts de base (rappel du cours IFT712-603 et un peu plus) [pdf] [pdf]

Bishop :3.1, 4.0 à 4.3, 5.0 à 5.3, 5.5.0 à 5.5.2, 5.5.6
Thème 2 Réseaux à convolution [pdf] [pdf] Goodfellow : 9.0 à 9.5
Thème 3 Réseaux à convolution avancés et architectures convolutives modernes [pdf] [pdf]

Voir articles associés.
Thème 4 Segmentation et localisation [pdf] [pdf] Voir articles associés
Thème 5 Réseaux récurrents et transformeurs [pdf] [pdf]
[Mécanisme d'auto-attention (self-attention) Vidéo 1]
[Mécanisme d'auto-attention (self-attention) Vidéo 2]
[Transformeurs (encodeur-décodeur) ]
Goodfellow : 10.1, 10.2, 10.3, 10.10
Thème 6 Autoencodeurs et modèles génératifs adversaires [pdf] [pdf]

Goodfellow : 14.1 à 14.5, 20.10.3, 20.10.4
Thème 8 Visualisation [pdf] [pdf]
T-SNE [ pdf ] + TSNE Video (41:00)
Voir articles associés.
Thème 9 Réseaux de neurones par graph [pdf] [pdf] Voir articles associés.


Présentations orales voir le plan de cours et le document que voici pour plus de détails dont les critères d'évaluation. La date limite pour soumettre le sujet de votre présentation est le 21 février 2025. Aussi, la date limite pour soumettre votre présentation est le 2 avril 2025. N'oubliez pas de remettre également votre formulaire d'intégrité ainsi que votre agenda d'équipe.
Les présentations orales 2025 sont disponibles ici et le sondage pour évaluer la dynamique de votre équipe est ICI


Travaux Pratiques

Veuillez utiliser turninweb pour soumettre vos travaux. Tout retard ou erreur de remise entraînera une pénalité de 10 points par jour et entraîner une note de 0 après 5 jours de retard.
Veuillez également utiliser la plateforme de développement "gitlab" de l'Université. Pour ce faire, connectez-vous une première fois à depot.dinf.usherbrooke.ca et 12 heures plus tard vous pourrez commencer à travailler.

Pour connaître vos partenaires d'équipes, veuillez consulter le document que voici.

NOTE IMPORTANTE 1
: En plus de vos documents de travail, vous devez soumettre un fichier "gitlab.txt" dans lequel vous donnez le lien vers votre dépôt gitlab.
NOTE IMPORTANTE 2 : En plus de vos documents de travail, vous devez remplir, signer et joindre à votre travail le formulaire d'intégrité que voici : formulaire d'intégrité.
NOTE IMPORTANTE 3 : En plus de vos documents de travail, vous devez remplir et joindre à votre travail l'agenda d'équipe que voici : agenda d'équipe
NOTE IMPORTANTE 4 : veuillez bien utiliser git car une mauvaise utilisation pourrait entraîner une perte de points .

Setup Aide à la mise sur pied d'un environnement virtuel python sous Linux requirements.txt
bashrc.txt
Tp1 Description (remise : 14 février)
Softmax et gradient : kit de survie!
code
sondage
Tp2 Description (remise : 7 mars) code
sondage
Tp3 Description (remise : 21 mars code
Fichier à copier dans le répertoire weights/
Formulaire réponses
sondage
Tp4 Description (remise : 11 avril) code
Données à copier dans le répertoire data/
Model préentraîné, à copier dans le répertoire src/
sondage
Examens Intra
Final
Sommaire
Session
Hiver 2025

Professeur
Pierre-Marc Jodoin

Correcteur
Jeremi Lévesque

Périodes de cours
Mardi de 15h30 à 17h20
Jeudi de 16h30 à 17h20

Local
D3-2035

Périodes de disponibilités
Du lundi au vendredi de 9h30 à 17h30

Horaire et plan de cours
(plan ift780)

Created by Pierre-Marc Jodoin