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.
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.
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.
| 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. |