Cours 1 - Deep Learning

Motivation

Utilisation des termes :

  • Machine leraning

  • fr : Apprentissage automatique

  • litéralement : Apprentissage machine

Nous utiliserons ces termes de manière interchangeable, ils seront donc considérés comme des synonymes.

Motivation

  • Learning from data

(Apprendre à partir des données)

A l’opposé de formuler des règles, les règles seront induit à partir des données.

Motivation

9 Mai 2025 : The MiCrons Project

Plus grande cartographie d’un cerveau de mammifère : une souris

https://www.geo.fr/sciences/la-plus-grande-cartographie-d-un-cerveau-de-mammifere-revelee-avec-des-millions-de-synapses-225532

Motivation

Octobre 2024 : dizaines d’articles parus dans la revue scientifique Nature

  • Réseau de neurones d’une mouche entièrement cartographié

  • 139 255 neurones, 2 700 513 connexions, 54,5 millions de synapses

  • Site web officiel https://flywire.ai/

  • Article paru le 3 Octobre 2024 dans le monde :

https://www.lemonde.fr/sciences/article/2024/10/03/le-reseau-de-neurones-du-cerveau-d-une-mouche-entierement-cartographie_6342949_1650684.html

Neurone biologique vs. neurone artificiel

Le neurone formel est directement inspiré du neurone biologique.

Neurone biologique :

Source: wikipedia

Neurone artificiel :

Réseau de neurones artificiels et deep learning

  • réseaux de neurones artificiels : un ensemble de noeuds interconnectés. Ces réseaux de neurones sont inspirés de la manière comment fonctionne notre cerveau.

  • Le terme deep learning (apprentissage profond), est devenu populaire dans les années 2010 (bien que le concept et le terme a été introduit déjà bien avant).

Réseau de neurones artificiels et deep learning

Le deep learning utilisant des réseaux de neurones artificiels a explosé dans les dernières 15 ans pour principalement deux raisons :

  • disponibilités de masses de donneées
  • évolution des puissances de calculs des ordinateurs, et du calcul distribué

Le deep learning est une technique spécifique d’apprentissage automatique (machine learning) :

  • basée sur des réseaux de neurones profonds,
  • permettant d’apprendre des représentations complexes grâce à des couches cachées multiples.
  • Le terme profond vient du fait qu’il y a plus de couches cachées que les réseaux de neurones traditionnels, et cela permet d’améliorer la performance car ces réseaux favorisent une structuration de données.
  • Cela permet de modéliser des relations complexes, car l’architecture des couches est primordial dans le deep learning.

Evolution de nombres de paramètres

Paralèllement, les réseaux de neurones artificiels évoluent

  • évolution nombres de paramètres :

Source : Our world in data

https://ourworldindata.org/grapher/artificial-intelligence-parameter-count

Relations avec l’IA

  • Machine Learning : une sous-catégorie de l’IA.
  • Deep Learning : une sous-catégorie du machine learning qui utilise des réseaux de neurones profonds.

Applications

  • Vision par ordinateur :

    • reconnaissance d’images, débruitage, etc.
  • Traitement du langage :

    • traduction, reconnaissance vocale, etc.
  • Finances : prédiction du marché (p.ex. prédiction d’une devise monétaire)

  • Médécine : diagnostic médical

  • Divertissement (et publicités …) :

    • AlphaGo, échecs,
    • Systèmes de recommandation. (netflix, youtube, spotify, …)
  • IA générative

    • modèles de langage comme chatGPT
    • générateur d’images (midjourney, …), bientôt de vidéos ()
    • Chatbots

Défis majeurs

  • besoin en données massives,
  • puissance de calcul,
  • optimisation difficile
  • éthique
    • biais algorithmiques,
    • impact environnemental des gros modèles comme GPT
    • data poisoning

-> il y a des limitations du deep learning et des enjeux très actuels

Historique

  • 1943 : Neurone formel de McCulloch-Pitts
  • 1950 : Turing test (Alain Turing)
  • 1957 : Perceptron
  • 1969 : XOR problème
  • 1986 : le perceptron multicouches: MLP
  • 1989 : LeNet-5 (premier réseau convolutif) (LeCun et al. 1989)
  • 2012 : AlexNet
  • 2014 : GAN (generative adversarial networks)
  • 2017 : Transformers
  • 2020 : GPT3
  • 2022 : sortie publique de ChatGPT

Objectifs (Acquis Apprentissage visés - AAV)

  • Comprendre ce qu’est le deep learning et ses liens avec les réseaux biologiques

  • Connaitre le fonctionnement des modèles les plus connus (FCNN, CNN, RNN, Autoencoders, LLM, …)

  • Apprendre à entraîner des modèles avec TensorFlow/Keras

  • Développer une intuition sur le fonctionnement des modèles que vous utilisez au quotidien, à travers des exemples pratiques

  • Comprendre les problèmes éthiques liés au deep learning, et développer un esprit critique

Organisation + évaluation

Horaires :

  • 4CM de 1h20 (Mardi 14h)
  • 6TD de 1h20
    • Mardi 15:30 Groupe 2
    • Mardi 17:00 Groupe 3
    • Jeudi 15:30 Groupe 1

Évaluation :

  • Contrôle continu :
  • TD à rendre avant la prochaine séance
  • Petits quizs sur moodle
  • Compétitions de deep learning !

Un exemple concret : Reconnaissance d’images sur CIFAR-10 (1)

Source : https://www.cs.toronto.edu/~kriz/cifar.html

CIFAR-10 : jeu de données pour la reconnaissance d’images, largement utilisé pour la recherche en apprentissage automatique :

Données :

  • 60 000 images, 10 classes d’objets, répartition égale (6000 images par classe classe)
  • en couleur, très basse résolutioon (32x32 pixels)

Types de tâches en deep learning

  • Classification : prédire des classes
  • Régression : prédire des valeurs
  • Modèles génératif : générer des données

Types de tâches en deep learning

  • Quiz Wooclap

Solutions et explications

# Exemple Type Explication
1 Shazam Classification Compare l’empreinte audio à une base de données pour identifier la chanson.
2 ChatGPT Génératif Génère du texte nouveau et cohérent à partir d’un prompt.
3 Netflix Régression Prédit la note ou le score de préférence d’un utilisateur.
4 Reconnaissance faciale Classification Identifie à quelle personne appartient une image.
5 Prix de l’immobilier Régression Sortie continue : la valeur du prix.
6 Google Translate Génératif Génère une traduction, mot par mot ou phrase par phrase.
7 Filtrage de spam Classification Classe un e-mail en “spam” ou “non spam”.
8 Prévision météo/température Régression Prédit des valeurs continues comme la température.
9 DALL·E Génératif Crée de nouvelles images à partir d’une description textuelle.

Types de tâches en deep learning : Classificaton

  • Exemple : CIFAR-10

Types d’apprentissage

  • apprentissage supervisé (supervised learning) : les données et les sorties sont connues

  • apprentissage non-supervisé (unsupervised learning): les données sont connues mais pas les sorties, par contre on dispose d’une mesure de similarité qui va permettre de regrouper des données proches

  • apprentissage auto-supervisé (self-supervised learning) : utilise les données d’entrée elles-mêmes, au lieu de se fier aux étiquettes éxternes

  • par renforcement : en interagissant avec son environnement, les données et un signal soit au cours du traitement, soit à la fin (Q-Learning, R-Learning, TD-learning)

Séparation de données

Séparation de données d’entrainement disponibles en parties disjointes

  • A : Données d’entraînements (Training data set), utilisées pour l’entraînement
  • B : Données de validation (Validation data set), utilisé pour ajuster l’architecture et des hyperparameters
  • C : Données de test (Test set), pour évaluer la performance

Séparation de données

Cycle de vie de l’apprentissage profond

  • collecter les données
  • survoler les données
  • préparation des données (nettoyage, transformations, etc.)
  • séparer les données (base d’entraînement et base de test)
  • choisir et entrainer différents modèles
  • évaluation des modèles
  • fine tuning
  • évaluation sur la base de test
  • mettre en production : faire les prédictions
  • maintenance du modèle

Exemple : reconnaissance d’images comme p.ex. CIFAR-10

Cycle de vie de l’apprentissage profond

Evaluation des modèles d’apprentissage

Courbes d’apprentissage pour détécter :

  • Bonne généralisation

  • Sur-apprentissage (overfitting) : le modèle apprend trop bien les données d’entraînement, et ne se généralise pas très bien aux autres données (données de validation p.ex.)

  • Sous-apprentissage (underfitting) : le modèle n’est pas assez complexe pour capturer les motifs dans les données

Exemples d’architecture

  • FCNN - Fully-connected neural network

  • CNN - convolutional neural network

  • Autoencoders

  • RNN - recursive neural networks

  • Transformers

Outils utilisés dans le Deep Learning

Outils de programmation :

  • Jupyter notebooks (hub au CREMI, Google colab, …)
  • Langage python
  • Bibliothèques
    • TensorFlow/Keras, PyTorch
    • Numpy et Pandas pour le traitement des données
    • Matplotlib pour la visualisation de données

Plateformes de données :

  • Kaggle :
  • HuggingFace : spécifique pour les modèles de traitement du langage naturel

Perspectives

  • Avenir du deep learning et les domaines de recherche émergents
    • l’IA générative et les avatars numériques,
    • les impacts sociaux potentiels de l’IA,
    • modèle de conscience artificielle
    • deep learning frugal , …

En recherche,

  • progrès dans l’interprétabilité des modèles (XAI) - explainable artificial intelligence.
  • les réseaux de neurones quantiques
  • l’IA hybridant deep learning avec des approches symboliques.

Programme prévisionnel

  • Cours 1 - Introduction

  • Cours 2 - Apprentissage supervisé : FCNN

  • Cours 3 - CNNs : Réseaux de neurones convolutionels

  • Cours 4 - Autoencodeurs

  • Cours 5 - RNN : Réseaux de neurones récurrents

  • Cours 6 - Word embeddings, Transformers

  • TD1 - Réseau de neurones FCNN

  • TD2 - Réseau de neurones FCNN avec Keras Tensorflow

  • TD3 - CNNs et FCNN

  • TD4 - Autoencoders

  • TD5 - RNN : réseaux de neurones récurrents

  • TD6 - Traitement de langage naturel et plongement lexical

TD1

  • Comprendre les réseaux de neurones à très petite échelle :

Voici une illustration :

  • Jouer avec l’application web interactif Tensorflow Playground pour comprendre

    • architecture (couches + fonctions d’activations)
    • hyperparamètres (learning rate)
    • courbes d’apprentissage
    • sur-apprentissage et sous-apprentissage

https://playground.tensorflow.org/