Deep Learning
Cours:
Vous trouverez ici des ressources alternatives pour le cours (transparents, vidéos et notebooks). Des exercices très bien fait pour se préparer aux contrôles sont ici.
Un excellent cours est aussi proposé par Arthur Douillard et je vous recommande également les notes du cours de Tubingen par Andreas Geiger. J'ai aussi beaucoup aimé le livre Understanding Deep Learning par Simon Prince ainsi que le livre très complet Dive into Deep Learning.
Ce survey sur les algorithmes d'optimisation est vraiment très bien : stochastic gradient, Nesterov, ADAM, etc
Quelques notes explicatives sur la backpropagation :
https://cs230.stanford.edu/section/2/
Un code en pytorch avec diverses versions de niveaux de sophistications est ici.
ainsi que quelques exercices d’entrainement avec solutions :
https://cs230.stanford.edu/winter2020/section3_exercises.pdf
Pour les CNN, les slides sont ici et les notebooks sont ici et ici.
Les réseaux de neurones récurents sont très bien traités ici: slides (première partie), slides (deuxième partie) et application en analyse de données textuelles. Une video sur les RNN est ici (une autre en français est ici) et une sur les LSTM ici. Un texte expliquant les LSTM est ici. Une implémentation avec Keras est ici et une avec pytorch est ici.
Introduction aux transformers : slides et slides et un lien vers le fine tuning est ici.
Projets:
Les sujets de projets à réaliser en binômes ou trinômes pour cette année sont ci-dessous. Le travail consistera à tester les codes présentés dans ces articles et d'expliquer leur fonctionnement. Pour enrichir votre rapport, vous pourrez ajouter des tests sur des données différentes, évaluer si la méthode est robuste lorsque l'on perturbe les données par du bruit, proposer de potentielles directions d'amélioration ou de généralisation, etc ...
Yolo : un code classique pour identifier des éléments dans un film
Stable diffusion : un code pour générer des images par une des méthodes les plus à la mode actuellement
Quantification des incertitudes pour le deep learning : un code implémentant la méthode SWA
Reconstruction d'images en tomographie : un des codes les plus performants pour estimer le modèle physique et faire une reconstruction très efficace
Alignement de points 3D par deep learning : un code très efficace pour aligner des points de deux ensembles différents, un problème récurrent et très difficile en robotique et en vision
Graph transformers : un projet beaucoup plus difficile qui utilise les notions de transformers pour les données de type graphe
Données temporelles et prédiction par Temporal Fusion Transformers: prédiction de séries temporelles.