|
![](uploads/b302a03190a3c51184aefc674f67379a/00-fidle-header-03.svg)
|
|
![](uploads/b302a03190a3c51184aefc674f67379a/00-fidle-header-03.svg)
|
|
|
|
|
|
**- Voir ou revoir en ligne -**
|
|
**- En bref -**
|
|
|
|
|
|
https://www.youtube.com/channel/UC4Sukzudhbwr6fs10cXrJsQ
|
|
|
|
|
|
|
|
|
|
Début de la formation : **Jeudi 25 novembre, 14h00**
|
|
|
|
|
|
Voir le **[programme](Fidle à distance/Présentation#programme-)**\
|
|
Voir le **[programme](Fidle à distance/Présentation#programme-)**\
|
|
Pour rester informé : **[Abonnez-vous à la liste !](https://listes.grenoble.cnrs.fr/sympa/info/fidle-a-distance.info)**
|
|
Pour rester informé : **[Abonnez-vous à la liste !](https://listes.grenoble.cnrs.fr/sympa/info/fidle-a-distance.info)**
|
|
|
|
La chaine [YouTube](https://www.youtube.com/c/CNRSFormationFIDLE)
|
|
|
|
|
|
**- Sommaire -**
|
|
**- Sommaire -**
|
|
|
|
|
|
[[_TOC_]]
|
|
[[_TOC_]]
|
|
|
|
|
|
|
|
|
|
# Fidle à distance
|
|
# Fidle, à distance
|
|
|
|
|
|
Faute de pouvoir organiser des sessions en présentiel, nous vous proposons une **session Fidle à distance** :-)
|
|
|
|
|
|
|
|
Les objectifs de cette session à distances sont les mêmes que pour les sessions en présentiel.
|
|
Afin de permettre un accès au plus grand nombre, nous vous proposons une nouvelle session de notre Formation d'Introduction au Deep Learning FIDLE !
|
|
|
|
|
|
Pour des questions de sécurité et à moins que vous ne disposiez déjà d'un compte, les moyens de calcul mutualisés ne peuvant être utilisés en formation à distance.\
|
|
Pour des questions de sécurité et à moins que vous ne disposiez déjà d'un compte, les moyens de calcul mutualisés ne peuvant être utilisés en formation à distance.\
|
|
Chaque participant est donc invité à **[installer localement son environnement Fidle](Using Fidle/Install Fidle)**.
|
|
Chaque participant est donc invité à **[installer localement son environnement Fidle](Using Fidle/Install Fidle)**.
|
... | @@ -53,9 +51,11 @@ Une procédure est disponible dans le [Wiki](Using Fidle/Install Fidle). |
... | @@ -53,9 +51,11 @@ Une procédure est disponible dans le [Wiki](Using Fidle/Install Fidle). |
|
|
|
|
|
Les supports sont en anglais, les présentation en français.
|
|
Les supports sont en anglais, les présentation en français.
|
|
|
|
|
|
A l’issue de chaque séquence, les vidéos seront disponibles en ligne, sur la chaine Youtube de SARI.
|
|
A l’issue de chaque séquence, les vidéos seront disponibles en ligne, sur la chaine Youtube de FIDLE : https://www.youtube.com/c/CNRSFormationFIDLE
|
|
|
|
|
|
La calendrier sera discuté ensemble, à l'issue de la séquence 1, prévue le jeudi 4 février à 14h00.
|
|
La première séquence est prévue : **jeudi 25 novembre 2021, à 14h00**\
|
|
|
|
La diffusion sera effectuée via Zoom.\
|
|
|
|
Les paramètres de diffusion seront communiqués 48h avant, [via la liste de contact](https://listes.grenoble.cnrs.fr/sympa/info/fidle-a-distance.info).
|
|
|
|
|
|
# Prérequis
|
|
# Prérequis
|
|
- Maîtrise raisonnable de Python et de Numpy.\
|
|
- Maîtrise raisonnable de Python et de Numpy.\
|
... | @@ -77,81 +77,124 @@ L'idée est de proposer un **découpage en séquences** relativement courtes, de |
... | @@ -77,81 +77,124 @@ L'idée est de proposer un **découpage en séquences** relativement courtes, de |
|
- Le contenu des séquences pourra être adapté en fonction des demandes ou du contexte :-)
|
|
- Le contenu des séquences pourra être adapté en fonction des demandes ou du contexte :-)
|
|
|
|
|
|
**Note :**\
|
|
**Note :**\
|
|
La première séquence est prévue le **jeudi 4 février, à 14h00**.\
|
|
La première séquence est prévue le **jeudi 25 novembre, à 14h00**.\
|
|
Le calendrier des séquences suivantes sera discuté ensemble.
|
|
|
|
|
|
### Séquence 1 : Contexte et historique, de la régression linéaire aux réseaux de neurones.
|
|
### Séquence 1 : Contexte et historique, de la régression linéaire aux réseaux de neurones.
|
|
|
|
- Introduction du cycle
|
|
* **Historique** et **concepts fondamentaux** des réseaux de neurones\
|
|
- **Historique** et **concepts fondamentaux** des réseaux de neurones<br>
|
|
Fonction de perte - Descente de gradient - Optimisation - Hyperparamètres\
|
|
Fonction de perte - Descente de gradient - Optimisation - Hyperparamètres<br>
|
|
Préparation des données - Apprentissage - Validation - Sous et sur apprentissage\
|
|
Préparation des données - Apprentissage - Validation - Sous et sur apprentissage<br>
|
|
|
|
Fonctions d’activation - softmax
|
|
Fonctions d’activation - softmax
|
|
- Exemples pratiques : Régression et Classification avec des DNN
|
|
* Exemples proposés : Régression et Classification avec des DNN
|
|
- Durée : 3h
|
|
* Durée : 3h
|
|
|
|
|
|
|
|
### Séquence 2 : Réseaux convolutifs, partie 1
|
|
|
|
|
|
### Séquence 2 : Réseaux convolutifs, gestion des données et supervision.
|
|
* Principes et concepts des **réseaux convolutifs (CNN)**
|
|
- Principes et concepts des **réseaux convolutifs (CNN)**
|
|
* Convolutions - Dropout - Pooling
|
|
- Problématiques liées aux **données**
|
|
* Exemple proposé : Classification de chiffres manuscrits
|
|
- Convolutions - Dropout - Pooling - Monitoring et Tensorboard - Augmentation de données<br>
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 3 : Réseaux convolutifs, partie 2
|
|
|
|
|
|
|
|
* Quand les datasets et les calculs grossissent, problématiques liées à la **gestion des données**
|
|
|
|
* Rappel sur les convolutions - Monitoring et Tensorboard - Augmentation de données\
|
|
Passage à l'échelle (du notebook au batch) - Points de reprise (checkpoint)
|
|
Passage à l'échelle (du notebook au batch) - Points de reprise (checkpoint)
|
|
- Exemples pratiques : Classification de chiffres manuscrits et de panneaux routiers
|
|
* Exemple proposé : Classification de panneaux routiers
|
|
- Durée : 2x2h
|
|
* Durée : 2h
|
|
|
|
|
|
### Séquence 3 : Données creuses de dimensions variables : L'exemple des données textuelles
|
|
|
|
- Spécificités et gestion des **données creuses/textuelles**
|
|
|
|
- Principes de **l'Embedding** (Keras, CBOW, Skip-Gram), comment réduire les dimensions.
|
|
|
|
- Exemple proposé : Analyse de sentiment avec une analyse de critique de films.
|
|
|
|
- Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 4 : Données séquentielles ou quand les données sont des séquences temporelles
|
|
|
|
- Données séquentielles et **réseaux récurrents (RNN)**
|
|
|
|
- RNN - LSTM - GRU - Spécificités des données séquentielles - Data Generator
|
|
|
|
- Exemple proposée : Prédiction d'une séquence temporelle avec une prédiction météorologique à 3h et 12h
|
|
|
|
- Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 5 : Autoencodeur (AE) : un exemple d'apprentissage non supervisé
|
|
|
|
- Principes et architecture d'un **autoencodeur (AE)**
|
|
|
|
- Espace latent - Convolution classiques et transposées<br>
|
|
|
|
Programmation procédurale avec Keras - GPU et batch
|
|
|
|
- Exemple proposé : Débruitage d'images fortement bruitées
|
|
|
|
- Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 6 : Variational Autoencoder (VAE) : apprentissage non supervisé, réseau génératif
|
|
|
|
- Principes et architecture d’un **Variational AutoEncodeur (VAE)**
|
|
|
|
- Problématique liée aux **« gros » datasets**
|
|
|
|
- Projection gaussienne - Génération de données - Morphing dans l'espace latent<br>
|
|
|
|
Datasets clusterisés - GPU et batch
|
|
|
|
- Exemple proposé :
|
|
|
|
- Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 7 : Passer à la vitesse supérieure : Jean-Zay et accélération GPU
|
|
|
|
- Présentation de **Jean-Zay** et calcul sur **GPU**
|
|
|
|
- Distribution du calcul - Data Parallelism - Model Parallelism<br>
|
|
|
|
Hybrid Parallelism - Pipelines
|
|
|
|
- Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 8 : Démystifier les outils mathématiques pour l'apprentissage des réseaux de neurones.
|
|
|
|
- Présentation mathématique de l'optimisation par descente de gradient
|
|
|
|
- Principe de la **backpropagation**
|
|
|
|
- Mise en lumière de l'intérêt pratique des méthodes stochastiques
|
|
|
|
- Exemple proposé : Programmation **à la main** de l'apprentissage d'un réseau convolutif
|
|
|
|
- Durée : 2h30
|
|
|
|
|
|
|
|
### Séquence 9 : Un détour par PyTorch.
|
|
|
|
- Présentation générale
|
|
|
|
- Principes et objets clés pour programmer sous PyTorch
|
|
|
|
- Exemples : Classification et regression sous PyTorch
|
|
|
|
- Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 10 : Clôture et bilan
|
|
|
|
- Pour aller au delà de ce premier contact...
|
|
|
|
- Conclusion et bilan
|
|
|
|
- Durée 1h
|
|
|
|
|
|
|
|
|
|
### Séquence 4 : Démystifier les outils mathématiques
|
|
|
|
|
|
![](uploads/fd909e4607c0e9858a8088b5f39f60f5/00-fidle-ender-03.svg)
|
|
* Présentation mathématique de l'optimisation par descente de gradient
|
|
|
|
* Principe de la backpropagation
|
|
|
|
* Mise en lumière de l'intérêt pratique des méthodes stochastiques
|
|
|
|
* Exemple proposé : Programmation à la main de l'apprentissage d'un réseau convolutif
|
|
|
|
* Durée : 2h30
|
|
|
|
|
|
|
|
### Séquence 5 : Données creuses de dimensions variables et stratégies d'évaluation des modèles
|
|
|
|
|
|
|
|
* Stratégies d'évaluation des modèles - Hold out, iterative hold out, k-fold, etc.
|
|
|
|
* Spécificités et gestion des données creuses/textuelles
|
|
|
|
* Principes de l'Embedding (Keras, CBOW, Skip-Gram), comment réduire les dimensions.
|
|
|
|
* Exemple proposé : Analyse de sentiment avec une analyse de critique de films.
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 6 : Données séquentielles : quand les données sont des séquences temporelles
|
|
|
|
|
|
|
|
* Données séquentielles et réseaux récurrents (RNN)
|
|
|
|
* RNN - LSTM - GRU - Spécificités des données séquentielles - Data Generator
|
|
|
|
* Exemple proposée : Prédiction d'une séquence temporelle avec une prédiction météorologique à 3h et 12h
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 7 : "Attention Is All You Need", quand les Transformers changent la donne
|
|
|
|
|
|
|
|
* Nouvelle evolution des modeles
|
|
|
|
* Fine tuning
|
|
|
|
* Cas d'usages : BERT, GPT
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 8 : Autoencodeur (AE) : un exemple d'apprentissage "self supervised"
|
|
|
|
|
|
|
|
* Principes et architecture d'un autoencodeur (AE)
|
|
|
|
* Espace latent - Convolution classiques et transposées
|
|
|
|
* Programmation procédurale avec Keras - GPU et batch
|
|
|
|
* Exemple proposé : Débruitage d'images fortement bruitées
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 9 : Variational Autoencoder (VAE) : apprentissage "self supervised", réseau génératif
|
|
|
|
|
|
|
|
* Principes et architecture d’un Variational AutoEncodeur (VAE)
|
|
|
|
* Problématique liée aux « gros » datasets
|
|
|
|
* Projection gaussienne - Génération de données - Morphing dans l'espace latent
|
|
|
|
* Datasets clusterisés - GPU et batch
|
|
|
|
* Exemple proposé : Génération de portraits
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 10 : Generative Adversarial Networks (GAN)
|
|
|
|
|
|
|
|
* Principes et architecture d'un GAN
|
|
|
|
* Generator - Discriminator - Apprentissage
|
|
|
|
* WGAN et WGAN-GP
|
|
|
|
* Exemple proposé : A définir
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 11 : Un détour par PyTorch.
|
|
|
|
|
|
|
|
* Présentation générale
|
|
|
|
* Principes et objets clés pour programmer sous PyTorch
|
|
|
|
* Exemples : Classification et regression sous PyTorch
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 12 : Passer à la vitesse supérieure : Jean-Zay et accélération GPU
|
|
|
|
|
|
|
|
* Présentation de Jean-Zay et calcul sur GPU
|
|
|
|
* Distribution du calcul - Data Parallelism - Model Parallelism
|
|
|
|
* Hybrid Parallelism - Pipelines
|
|
|
|
* Deepspeed - Optimisation du Data parallelism
|
|
|
|
* Bonnes pratiques pour un apprentissage distribué
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 13 : Introduction au Deep Reinforcement Learning
|
|
|
|
|
|
|
|
* Algorithme de Reinforcement Learning : Q-Learning, SARSA, etc (45 min)
|
|
|
|
* Deep reinforcement Learning : pour passer à des espaces à hautes dimensionalités via des fonctions d'approximation (45 min)
|
|
|
|
* Cas d'usage et résultats (30 min)
|
|
|
|
* Illustrations via des vidéos.
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 14 - AI, droit, société et éthique
|
|
|
|
|
|
|
|
* Interprétabilité, reproductibilité, biais
|
|
|
|
* Cadre légal
|
|
|
|
* Privacy
|
|
|
|
* Session interactive
|
|
|
|
* Durée : 2h
|
|
|
|
|
|
|
|
### Séquence 15 : Clôture et bilan
|
|
|
|
|
|
|
|
* Pour aller au delà de ce premier contact...
|
|
|
|
* Conclusion et bilan
|
|
|
|
* Durée 1h
|
|
|
|
|
|
|
|
|
|
|
|
![](uploads/fd909e4607c0e9858a8088b5f39f60f5/00-fidle-ender-03.svg) |