01 75 60 34 00 | conseil@ensae.fr | Prenez RDV |

Les fondamentaux du Deep learning avec R

DATA SCIENCE & IA 3 jours (18 h) Intermédiaire 2 200 € HT
Les fondamentaux du Deep learning avec R

Objectifs pédagogiques

  • Comprendre et savoir mettre en œuvre les réseaux de neurones denses (DNN), à l’aide de l’algorithme de rétro-propagation (backpropagation)
  • Comprendre et savoir mettre en œuvre les réseaux de neurones convolutifs (CNN) et le transfer learning
  • Comprendre et savoir mettre en œuvre les réseaux de neurones récurrents (RNN)
  • Comprendre et savoir mettre en œuvre les autoencoders (AE)

Programme détaillé

Réseaux de neurones denses – DNN 4h

  • Neurone formel
  • Perceptron multicouches (MLP)
  • Fonctions d’activation
  • Algorithme de retro-propagation
  • Applications sur cas pratiques

Considérations informatiques 2h

  • Frameworks TensorFlow, Keras et PyTorch
  • GPU & cloud computing

Réseaux de neurones convolutifs – CNN 4h

  • Convolution
  • Architectures classiques de CNN
  • Transfer learning
  • Applications sur cas pratiques

Réseaux de neurones récurrents – RNN 4h

  • Neurone récurrent
  • Cellule récurrente
  • LSTM
  • Applications sur cas pratiques

Autoencoders – AE 3h

  • Architecture
  • Applications sur cas pratiques

Introduction aux modèles GAN 1h

Public visé

Data scientists

Prérequis

Approche pédagogique

Moyens pédagogiques
Exposé théorique de concepts Applications pratiques sur ordinateur Échanges sur les pratiques et expériences des participants Temps de questions / réponses Exercices, quiz, etc.
Méthodes pédagogiques
Méthode expositive Méthode active

Deep learning en R : keras3 ou torch ?

Aucun des grands frameworks de deep learning n’est écrit en R : les calculs reposent sur des bibliothèques C++ et CUDA développées d’abord pour Python. R y accède par deux voies, qui calculent la même chose mais ne demandent pas la même installation.

keras3 : R pilote Keras installé en Python

Le package keras, publié par RStudio en 2017, puis keras3, sur le CRAN depuis février 2024 pour suivre Keras 3, sont des interfaces : par l’intermédiaire du package reticulate, le code R pilote une installation Python de Keras. Sur les chiffres manuscrits MNIST (images de 28 × 28 pixels aplaties en vecteurs de 784 valeurs, étiquettes codées par to_categorical()), un perceptron multicouche s’écrit ainsi :

library(keras3)
modele <- keras_model_sequential(input_shape = c(784)) |>
  layer_dense(units = 128, activation = "relu") |>
  layer_dropout(rate = 0.3) |>
  layer_dense(units = 10, activation = "softmax")

modele |> compile(loss = "categorical_crossentropy", optimizer = "adam", metrics = "accuracy")
historique <- modele |> fit(x_train, y_train, epochs = 10, batch_size = 128, validation_split = 0.2)

La syntaxe est celle de Keras en Python, traduite avec le pipe de R. Comme Keras 3, keras3 peut s’appuyer sur plusieurs moteurs de calcul : TensorFlow par défaut, mais aussi JAX ou PyTorch (use_backend()). install_keras() crée l’environnement Python nécessaire, avec prise en charge du GPU s’il en détecte un.

torch : du deep learning sans Python

Le package torch, présenté le 29 septembre 2020, a fait un autre choix : il s’appuie directement sur libtorch, la bibliothèque C++ qui fait tourner PyTorch, sans passer par Python. Les couches, les fonctions d’activation et les optimiseurs sont réécrits en R ; install.packages("torch") télécharge ensuite libtorch, en version CPU ou GPU. Le code est plus proche de PyTorch : plus verbeux pour un réseau standard, plus souple pour une architecture sur mesure, et il n’y a qu’un seul langage à installer et maintenir en production.

Pourquoi le GPU

Entraîner un réseau revient pour l’essentiel à enchaîner des produits de matrices, que les milliers de cœurs d’une carte graphique exécutent en parallèle. En pratique, l’installation des pilotes CUDA est l’écueil le plus fréquent ; les GPU loués à l’heure dans le cloud permettent de s’en dispenser.

La référence pour la voie keras3 est Deep Learning with R (2e édition, Manning, 2022), de François Chollet, Tomasz Kalinowski et J.J. Allaire. L’histoire des architectures au programme, du perceptron aux réseaux convolutifs et récurrents, est retracée dans le bloc de la formation Les fondamentaux du Deep learning avec Python.