- Docente: Said Abdeddaim
- Docente: Arnaud Lefebvre
- Docente: Richard Groult
- Docente: Thierry Lecroq
- Docente: Arnaud Lefebvre
- Docente: Elise Prieur-Gaston
- Docente: Vlad Stefan Barbu
- Docente: Nicolas Vergne
- Docente: Laurent Mouchard
- Docente: Said Abdeddaim
- Docente: Vlad Stefan Barbu
- Docente: Hélène Dauchel
- Docente: Laurent Heutte
- Docente: Laurent Mouchard
- Docente: Romain Coppee
- Docente: Laurence Menu-Bouaouiche
- Docente: Isabelle Milazzo
Descriptif :
Ce module abordera les concepts théoriques et pratiques des réseaux de neurones artificiels profonds. Le cours permettra de comprendre comment les réseaux de neurones sont entraînés en utilisant l'algorithme de descente du gradient et comment cet algorithme est mis en œuvre efficacement en utilisant la différenciation automatique par rétropropagation sur un graphe de tenseurs représentant le réseau neuronal. On étudiera ensuite les différentes architectures de réseaux de neurones telles que les réseaux de neurones à propagation avant, les réseaux de neurones convolutifs, les réseaux de neurones récurrents et les transformateurs. On apprendra aussi à optimiser les performances des réseaux de neurones et à éviter le surapprentissage avec des techniques telles que la régularisation, la normalisation, l'encodage etc.
D'un point de vue pratique, après un apprentissage rapide du langage de programmation Python et sa bibliothèque NumPy, nous aborderons l’implémentation orientée objet des tenseurs et des réseaux neuronaux à partir de zéro, puis leur mise en œuvre à l'aide des bibliothèques TensorFlow/Keras et PyTorch. Des applications concrètes comme la classification d'images, la classification de séquences biologiques, l'analyse des sentiments et la traduction automatique seront entièrement décrites jusqu'aux programmes et leurs applications sur des données réelles.
Les travaux pratiques traiterons de l'implémentation de réseaux neuronaux pour répondre à des problèmes de bioinformatique issues d'articles scientifiques en utilisant le framework TensorFlow/Keras.
Objectifs :
- Comprendre et mettre en œuvre les principes généraux d’un réseau de neurones.
- Comprendre et mettre en œuvre les types d’architectures neuronales et savoir les choisir pour traiter un problème spécifique.
- Savoir entraîner un réseau de neurones, analyser la qualité de ses prédictions et améliorer les performances.
- S’initier aux bibliothèques NumPy, TensorFlow/Keras et PyTorch en Python.
- Résoudre des problèmes de bioinformatique en utilisant l'apprentissage profond.
- Docente: Said Abdeddaim

- Docente: Marie Anglada
- Docente: Quentin Fouville