Les réseaux de neurones profonds sont aujourd'hui incontournables pour de nombreuses tâches d'apprentissage, notamment en vision (classification et détection d'objets, génération d'images photoréalistes) et en traitement du langage (reconnaissance de la parole, traduction automatique, génération de texte). Leur capacité remarquable à extraire l'information utile de très larges bases de données en font un outil de choix pour des applications industrielles en informatique, physique, chimie ou encore dans le secteur automobile.
Ce cours propose une présentation approfondie des aspects pratiques et théoriques de l'apprentissage profond, et fournira aux étudiants une maîtrise de l’implémentation Python / Pytorch de ces modèles (implémentation, débuggage, visualisation). De plus, une analyse des fondements théoriques de l'apprentissage profond (différentiation automatique, résultats d'universalité, optimisation non convexe, modèles équivariants,...) viendra complémenter la pratique et permetttre de mieux comprendre les forces et faiblesses de ces modèles d'apprentissage.