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 survey sur les connaissances théoriques sur le Deep Learning est ici. Les fondations mathématiques sont ici.
Une vidéo d'introduction est ici. Des videos très utiles pour ce cours sont ici.
Un excellent cours proposé ici a été élaboré par Charles Ollion et un autre cours super 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. Des codes intéressants sont également ici:
https://www.labri.fr/perso/zemmari/ia_data/html/mnist_keras_cnn.html
https://www.labri.fr/perso/zemmari/ia_data/html/vgg%20keras.html
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. Un lien vers un notebook sur colab est ici, et un lien vers le fine tuning est ici. Une explication grand public que je conseille vivement de consulter est ici. Les aspects théoriques sont détaillés ici et ici (pour les aspects optimisation).
La diffusion stable, qui permet de générer des images à partir de prompts, est bien expliquée ici. Une exploration excellente, assez générale et théorique est ici. Un point de vue original et géométrique est ici.
La prédiction conforme est bien détaillée par Angelopoulos et Bates ici.
L'explicabilité des réseaux de neurones est une sous-discipline qui est détaillée ici et plus spécifiquement, des codes sont 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.