Cursus
Formation Deep Learning avec Python et Tensorflow
Objectifs
Décrire le fonctionnement général d'un réseau de neurones.
Décrire les principales architectures utilisées en computer vision.
Définir le NLP (Natural Language Processing).
Identifier le mécanisme d'apprentissage par renforcement.
Reconnaître les aspects avancés de configuration de Tensorflow.
Pré-requis
Participants
Programme de formation
INTRODUCTION
Historique
- L'histoire du machine learning et du deep learning
- L'avènement de l'approche Neuronal
- Machine Learning vs Deep Learning : les différences
Pourquoi Python ?
- Rappels Python (le langage, la communauté (PyPi),...)
- Avantages de Python dans le domaine du machine learning
- Rappels NumPy/SciPy/MatPlotLib/Pandas
- Quelques librairies complémentaires OpenCV/Scikit-Image/TQDM/...
- Nos environnements de développement : PyCharm/JupyterLab
- Présentation et installation de TensorFlow
- Comparaison avec PyTorch
Théorie générale : les Math derrière le Machine Learning
- Qu'est-ce qu'un neurone informatique ?
- Le fonctionnement général
- Fonctions d'activation et fonctions de perte
- La notion de rétropropagation
- La notion de dataset
- Le Percetron
- Les principaux types de réseaux de neurones : DNN/CNN/RNN/...
Quelques premiers exemples (Régression, Classification, ...)
- Exemple d'un premier réseau de type DNN
- Exemple d'un premier réseau de type CNN
Persistance des modèles
COMPUTER VISION ET RESEAUX CONVOLUTIFS
Qu'est-ce qu'un réseau convolutif ?
- MNIST CNN Classifier
- Exemple sur des images plus conséquence et utilisation de l'API Sequence
Les différentes API de Tensorflow (API séquentielle, API fonctionnelle)
Modèle d'Inception
ResNet (Réseaux Résiduels) et couches profondes
Réseaux Auto-Encodeur
- Qu'est-ce qu'un réseau Auto-Encodeur (Encodeur/Espace latent/Décodeur) ?
- Débruitage MNIST via AE
- Débruitage MNIST via AE + Classifier
Réseau Auto-Encodeur Variationnel
- Qu'est-ce qu'un réseau Auto-Encodeur Variationnel ?
- Analyse de la distribution dans l'espace latent
- Génération d'images à partir d'un espace latent et d'un décodeur
Les GANs (Generative Adversarial Networks)
Les modèles de diffusions et les outils "text-to-images"
NLP (NATURAL LANGUAGE PROCESSING)
Les IA conversationnelles
- Présentation de ChatGPT et des modèles de GPT
- Présentation de Bard, Claude et Llama2
L'approche RNN (Recurent Neuronal Network)
- Présentation de l'approche récurrente
- Long Short-Term Memory (LSTM)
- La notion d'attention
L'approche Transformer
- Présentation de l'article "Attention is all you need"
- Qu'est-ce qu'un "Transformer" ?
- Mise en oeuvre d'un Transformer
APPRENTISSAGE PAR RENFORCEMENT
Principes et avantages de l'apprentissage par renforcement
Algorithmes populaires : Q-learning, Deep Q Network (DQN), Policy Gradient, etc
Exemples d'application : jeux, optimisation, etc
ASPECTS AVANCES DE TENSORFLOW
Utilisation de callbacks
Utilisation de TensorBoard
Activer le mode GPU
Traitements distribués avec Tensorflow
ANNEXES
Coder son propre réseau de neurones (sans utiliser Tensorflow)