Ecole d'ingénieur et centre de recherche en Sciences du numérique

Apprentissage profond

[DeepLearning]
T Enseignement Technique


Résumé

L' apprentissage profond (Deep Learning) est une nouvelle approche de l'apprentissage automatique qui permet de construire des modèles qui ont montré des performances supérieures pour un large éventail d'applications, en particulier la vision par ordinateur et le traitement du langage naturel. Grâce à la disponibilité conjointe de grands corpus de données et d'une puissance de traitement abordable, l'apprentissage profond a relancé l'ancien domaine des réseaux de neurones artificiels et provoqué la «Renaissance» de l'intelligence artificielle (IA). L'objectif de ce cours est de fournir un aperçu approfondi du domaine de l'apprentissage profond, en commençant par les architectures de réseaux de neurones simples et en poursuivant avec les pratiques contemporaines et les modèles de l'état de l'art. Le cours est organisé en une combinaison de cours où la théorie est exposée et discutée, et des sessions pratiques (laboratoires) où les expérimentations sont effectuées pour mettre en pratique les concepts théoriques.

Enseignement et méthodes d'apprentissage :

Règles du cours :  La présence à tous les cours est obligatoires.

Bibliographie

Ian Goodfellow, Yoshua Bengio, and Aaron Courville (2016). Deep Learning. MIT Press.

Deng, L.; Yu, D. (2014). "Deep Learning: Methods and Applications". Foundations and Trends in Signal Processing. 7 (3-4): 1-199. doi:10.1561/2000000039.

Bengio, Yoshua; LeCun, Yann; Hinton, Geoffrey (2015). "Deep Learning". Nature. 521: 436-444. doi:10.1038/nature14539

Préalable Requis

Connaissance de base en Data Science

Description

Le cours vise à exposer les étudiants aux développements récents dans le domaine des Réseaux de Neurones Artificiels Profonds (Deep Artificial Neural Networks - DANN). Il commencera par un bref rappel sur la théorie des réseaux de neurones et passera ensuite à la présentation de l'évolution des DANN introduits ces dernières années.

L'étude débutera avec l'architecture perceptron multicouche (Multilayer Perceptron) et le célèbre algorithmes de retro-propagation ainsi que ses divers paramètres et variantes car ils constituent la base des avancées les plus récentes. Ensuite, le cours explorera les problèmes spécifiques aux réseaux profonds, et quelques-unes des solutions proposées pour les surmonter, telles que l'élagage (drop-Out) et les ReLU (Unité linéaire rectifiée). Cela comprend aussi une approche non supervisée utilisant des auto-encodeurs. Ensuite les architectures spécifiques impliquées dans les réseaux profonds, comme les réseaux de neurones convolutifs (Convolutional Neural Networks - CNN) pour le traitement d'images, les réseaux résiduels qui permettent des réseaux très profonds, les réseaux de neurones récurrents (Recurrent Neural Networks - RNN) pour la modélisation du langage et les réseaux avec mémoire à long-court terme (Long Short Term Memory - LSTM) pour l'apprentissage de dépendance à long terme, seront décrites. Le cours présentera et détaillera les techniques spécifiques impliquées dans leurs applications, telles que l'apprentissage par transfert et le raffinement des réseaux profonds, la rétro-propagation à travers le temps, ainsi que les questions qui apparaissent dans leur mise en oeuvre et leur utilisation pratique.

Tout au long du cours, les applications des différentes topologies de réseau sont discutées afin d'illustrer leur utilisation. Certains des environnements de développement pour l'apprentissage profond, tels que Caffe et Tensorflow, seront utilisés pour les sessions de travaux pratiques.

Résultats d'apprentissage :

-      connaitre les problèmes clefs actuels dans le domaine des réseaux de neurones et de l'apprentissage profonds.

-      maitriser les différentes étapes relatives à la définition, l'apprentissage et l'utilisation des réseaux de neurones profonds.

Evaluation :Travaux pratiques, et examen écrit.

Nombre d'heures: 21.00
Nombre d'heures par semaine: 3.00