Initiation pratique à l’apprentissage profond

Le Deep Learning (Apprentissage Profond en Français) a bénéficié d’une forte visibilité dans le monde de l’apprentissage automatique, grâce notamment aux progrès rapides et importants dans la reconnaissance vocale, la vision par ordinateur, et le traitement automatique du langage naturel. Cette branche du machine learning a suscité des investissements importants de la part des géants de l’internet tels que Google, Microsoft, Facebook et IBM.

 

C’est également en grande partie grâce à l’apprentissage profond que le programme AlphaZero a pu battre les champions de Go et les meilleurs programmes d’échecs en fin 2017.

Le Deep Learning permet de construire des modèles prédictifs hiérarchiques appelés réseaux de neurones artificiels. Grâce à leur structure, ces réseaux construisent automatiquement des représentations de plus en plus abstraites des données.

L’avènement de ces techniques a été rendu possible par le Big Data – grand volume de données pour l’apprentissage ; par la rapide croissance des capacités de calcul, notamment grâce aux GPUs ; et enfin par la meilleure compréhension des techniques d’optimisation des réseaux de neurones.

Programme

Ce cours couvre les techniques pratiques d’optimisation des réseaux de neurones profonds. Il permettra aux étudiants d’être opérationnels pour l’étude et la mise en place de modèles d’apprentissage avancés sur des données complexes, grâce à aux techniques et outils suivants:

  • Bibliothèques Numpy, TensorFlow, Keras
  • Techniques d’optimisation, de transfert et de régularisation
  • Connaissance des architectures classiques et à l’état de l’art

En particulier les étudiants mettront en œuvre ces méthodes pour les applications suivantes :

  • l’analyse de l’image grâce aux réseaux de convolution profonds ;
  • l’analyse du langage par l’apprentissage non supervisé de représentations de mots et les réseaux récurrents ;
  • une ouverture sur d’autres applications tels que les moteurs de recommandation, les modèles génératifs, …

Public visé et prérequis

Ce cours s’adresse aux étudiants ayant déjà étudié le Machine Learning. Il est composé de nombreux travaux pratiques sur machine (prévoir un ordinateur portable).

Les prérequis techniques sont langage python (notamment sous jupyter, notions de numpy et scikit-learn).

Compréhension générale des concepts de l'apprentissage automatique (regression linéaire et logistique, estimateur du maximum de vraisemblance, validation croisée et surapprentissage) et expérience avec les méthodes numériques pour l'algèbre linéaire et l'optimisation convexe.

 

Modalités de contrôle

Contrôle continu en début de session travaux pratiques, et évaluation finale sur machine.




Practical introduction to deep learning

Deep Learning has become a widely used term in the world of artificial intelligence, thanks to rapid and significant advances in voice recognition, computer vision, and natural language processing. This branch of machine learning has attracted significant investment from the internet giants such as Google, Microsoft, Facebook and IBM.
The AlphaGo program that could beat the champion Lee Sedol in March 2016 included a significant Deep Learning component.

Deep Learning algorithms attempt to model high level abstractions in data using an artificial neural networks. Thanks to their hierarchical structure, these networks automatically construct increasingly abstract representations of data.
The advent of Deep Learning was made possible by Big Data – large amounts of data for learning; rapid growth of computing power thanks to GPUs; and finally by the better understanding of the neural network optimization techniques.

Program

This course covers practical techniques of optimization deep neural networks. Students will be able study and implement advanced learning models on complex data, through the following techniques and tools:

  • Libraries Numpy, TensorFlow, Keras
  • optimization techniques, transfer and regularization
  • Understanding of classical model architecture and state of the art

In particular, students will implement methods for the following applications:

  • Image analysis through deep convolutional networks;
  • language analysis by unsupervised learning of representations of words and recurrent networks;
  • other applications such as recommendation engines, generative models …

Audience and prerequisites

This course is for students who have already studied Machine Learning. It consists of many practical sessions (laptop required).
The technical prerequisites are Python language (especially in jupyter, concepts and numpy scikit-learn).

General understanding of machine learning concepts (linear and logistic regression, maximum likelihood estimation, cross-validation, and overfitting) and experience with numerical methods for linear algebra and convex optimization.

Methods of control

Continuous assessment at the beginning of practical work session, and final evaluation (coding session).