Lexique · Concepts / définitions

Deep Learning : définition, architectures et fonctionnement

La famille du machine learning fondée sur des réseaux de neurones à nombreuses couches : principe d'apprentissage, grandes architectures, exemple avec PyTorch et différences avec le machine learning classique.

Par Équipe Blent· Mis à jour le · 13 min de lecture· Niveau intermédiaire

Deep Learning en bref

Traduction
Apprentissage profond
Brique de base
Le réseau de neurones artificiels
Méthode d'entraînement
Rétropropagation et descente de gradient
Architectures phares
CNN, RNN, Transformer
Matériel
GPU et accélérateurs dédiés
Pionniers
Hinton, LeCun, Bengio (prix Turing 2018)
Frameworks
PyTorch, TensorFlow, JAX

Définition : Deep Learning

Le deep learning, ou apprentissage profond, est une famille de méthodes de machine learning fondée sur des réseaux de neurones artificiels composés de nombreuses couches successives. Chaque couche transforme les données reçues de la précédente, ce qui permet au réseau d'apprendre lui-même des représentations de plus en plus abstraites : contours, formes puis objets pour une image, par exemple. Les paramètres du réseau sont ajustés par rétropropagation du gradient sur de grands volumes de données, généralement à l'aide de GPU. Le deep learning est à l'origine des progrès récents en vision par ordinateur, en reconnaissance vocale, en traduction et en IA générative.

En une phrase : le deep learning entraîne des réseaux de neurones à nombreuses couches qui apprennent seuls à extraire, des données brutes, les caractéristiques utiles à une tâche.

Dans cette définition

Qu'est-ce que le Deep Learning ?

Le deep learning entraîne des réseaux de neurones composés de nombreuses couches. Les premières couches détectent des motifs simples, les suivantes les combinent en motifs plus complexes : pour une photo, des contours, puis des textures, puis des formes, puis des objets entiers. Le réseau construit lui-même cette hiérarchie de représentations à partir des données brutes, là où le machine learning classique s'appuie sur des variables préparées à la main.

Les idées sont anciennes. Le perceptron date de la fin des années 1950, et l'algorithme de rétropropagation qui permet d'entraîner des réseaux multicouches est popularisé en 1986. À la fin des années 1980, Yann LeCun applique les réseaux convolutifs à la lecture de chiffres manuscrits. Mais faute de données et de puissance de calcul, ces réseaux restent longtemps marginaux. Le basculement a lieu en 2012 : le réseau AlexNet, entraîné sur des GPU, remporte le concours de reconnaissance d'images ImageNet avec une avance considérable. Geoffrey Hinton, Yann LeCun et Yoshua Bengio reçoivent le prix Turing 2018 pour leurs travaux fondateurs.

Le deep learning est une sous-famille du machine learning, lui-même branche de l'intelligence artificielle, et c'est sur lui que reposent tous les modèles de l'IA générative. Il partage avec le machine learning classique le principe d'apprentissage à partir d'exemples ; il s'en distingue par la nature du modèle, sa capacité à traiter des données non structurées et ses besoins en données et en calcul.

À retenir : un modèle de deep learning apprend à la fois les caractéristiques pertinentes et la décision. C'est ce qui le rend si performant sur l'image, le son et le texte, et si gourmand en données.

Comment un réseau de neurones profond apprend-il ?

L'entraînement d'un réseau de neurones répète la même boucle des milliers, voire des millions de fois. Chaque passage ajuste légèrement ses paramètres pour réduire son erreur.

  1. Initialiser les poids

    Le réseau est défini par son architecture (nombre et type de couches) et par ses paramètres, les poids, initialisés aléatoirement. À ce stade, ses prédictions sont sans valeur.

  2. Propager les données vers l'avant

    Un lot d'exemples traverse le réseau couche après couche. Chaque neurone calcule une somme pondérée de ses entrées, puis applique une fonction d'activation non linéaire, comme ReLU.

  3. Mesurer l'erreur

    Une fonction de perte compare les prédictions aux réponses attendues : entropie croisée pour une classification, erreur quadratique pour une régression.

  4. Rétropropager le gradient

    La rétropropagation calcule, de la dernière couche vers la première, la contribution de chaque poids à l'erreur. Ce gradient indique dans quel sens modifier chaque paramètre.

  5. Mettre à jour les poids

    Un optimiseur (descente de gradient stochastique, Adam) ajuste les poids d'un petit pas dans la direction qui réduit l'erreur. La boucle reprend sur le lot suivant, époque après époque, sous le contrôle d'un jeu de validation.

Les grandes architectures de réseaux profonds

Une architecture désigne la façon dont les couches sont organisées et connectées. Chacune exploite une structure particulière des données.

Les réseaux convolutifs (CNN)

Les CNN appliquent de petits filtres qui glissent sur l'image et détectent des motifs locaux, quelle que soit leur position. Ils ont longtemps dominé la vision par ordinateur : classification, détection d'objets, segmentation. Notre article Réseaux convolutifs (CNN) : comment ça marche ? détaille leur fonctionnement.

Les réseaux récurrents (RNN)

Les RNN traitent les séquences élément par élément en conservant une mémoire de ce qu'ils ont déjà vu. Leurs variantes LSTM, proposées en 1997, et GRU ont longtemps servi à la traduction, à la reconnaissance vocale et aux séries temporelles. Leur traitement séquentiel limite toutefois la parallélisation et la prise en compte de longues dépendances (voir notre article sur les RNN).

Les Transformers

Publiée en 2017, l'architecture Transformer remplace la récurrence par un mécanisme d'attention qui met en relation tous les éléments d'une séquence en parallèle. Elle s'entraîne efficacement sur GPU et passe très bien à l'échelle. Elle équipe aujourd'hui les grands modèles de langage et s'est étendue à l'image, à l'audio et aux modèles multimodaux.

Les architectures génératives

Les auto-encodeurs, les GAN et les modèles de diffusion apprennent la distribution des données pour en produire de nouvelles. Ils sont au cœur de l'IA générative, qui fait l'objet de sa propre fiche.

Les principaux cas d'usage du Deep Learning

Le deep learning excelle sur les données non structurées, là où les modèles classiques peinent à extraire des caractéristiques pertinentes.

  • Contrôle qualité visuel

    Détecter automatiquement les défauts sur une ligne de production à partir d'images.

  • Imagerie médicale

    Aider à repérer des anomalies sur des radiographies, des scanners ou des lames.

  • Reconnaissance vocale

    Transcrire des appels, des réunions ou des commandes vocales en texte.

  • Traduction automatique

    Traduire des documents et des conversations entre de nombreuses langues.

  • Analyse de documents

    Lire, classer et extraire les informations de factures, contrats ou formulaires.

  • Génération de contenus

    Produire du texte, des images ou du code : c'est le socle de l'IA générative.

Exemple : entraîner un réseau de neurones avec PyTorch

Ce réseau apprend à reconnaître des chiffres manuscrits sur le jeu de données MNIST (70 000 images de 28 × 28 pixels). Le code reprend exactement la boucle d'apprentissage décrite plus haut.

python
import torch
from torch import nn
from torch.utils.data import DataLoader
from torchvision import datasets, transforms

device = "cuda" if torch.cuda.is_available() else "cpu"

train_data = datasets.MNIST(
    "data", train=True, download=True, transform=transforms.ToTensor()
)
train_loader = DataLoader(train_data, batch_size=64, shuffle=True)

model = nn.Sequential(
    nn.Flatten(),
    nn.Linear(28 * 28, 256),
    nn.ReLU(),
    nn.Linear(256, 128),
    nn.ReLU(),
    nn.Linear(128, 10),
).to(device)

loss_fn = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)

for epoch in range(5):
    model.train()
    for images, labels in train_loader:
        images, labels = images.to(device), labels.to(device)
        logits = model(images)            # propagation avant
        loss = loss_fn(logits, labels)    # mesure de l'erreur
        optimizer.zero_grad()
        loss.backward()                   # rétropropagation du gradient
        optimizer.step()                  # mise à jour des poids
    print(f"Époque {epoch + 1} : perte {loss.item():.4f}")

Le modèle empile trois couches linéaires séparées par des activations ReLU, soit environ 235 000 paramètres. Après quelques époques, il reconnaît la grande majorité des chiffres du jeu de test. Remplacer ces couches denses par des couches convolutives (nn.Conv2d) améliore encore la précision, car le réseau exploite alors la structure spatiale de l'image.

La ligne device = "cuda" illustre le rôle du matériel. L'entraînement consiste essentiellement en multiplications de matrices, que les GPU exécutent massivement en parallèle grâce à des plateformes comme CUDA. Sur un modèle de cette taille, la différence reste modeste ; sur un réseau de vision ou un modèle de langage, elle se compte en jours, voire en semaines de calcul.

Quels sont les avantages du Deep Learning ?

La force du deep learning tient à sa capacité à apprendre directement à partir des données brutes.

  • Extraction automatique des caractéristiques, sans feature engineering manuel.
  • Performances de référence sur l'image, le son, le texte et la vidéo.
  • Performances qui progressent avec le volume de données et la taille du modèle.
  • Transfer learning : un modèle pré-entraîné s'adapte avec peu de données.
  • Architectures polyvalentes, réutilisables d'un domaine à l'autre.
  • Écosystème riche de frameworks et de modèles ouverts.

Quelles sont les limites du Deep Learning ?

Ces performances ont un coût en données, en calcul et en transparence.

  • Besoin de grands volumes de données pour un entraînement à partir de zéro.
  • Coût de calcul élevé : GPU, énergie et temps d'entraînement.
  • Modèles peu interprétables, difficiles à justifier dans un cadre réglementé.
  • Sensibilité aux hyperparamètres et entraînement parfois instable.
  • Vulnérabilité aux exemples adverses et aux données hors distribution.
  • Souvent moins efficace que le boosting sur des données tabulaires modestes.

Deep Learning vs Machine Learning : quelles différences ?

Le deep learning fait partie du machine learning, mais on oppose souvent les réseaux profonds aux modèles dits classiques (régressions, arbres de décision, forêts aléatoires, boosting).

CritèreMachine learning classiqueDeep learning
Données de prédilectionTabulaires, structuréesImages, sons, textes, vidéos
CaractéristiquesConstruites à la main (feature engineering)Apprises automatiquement par le réseau
Volume de donnéesQuelques milliers d'exemples peuvent suffireVolumes importants, sauf modèle pré-entraîné
MatérielProcesseur classiqueGPU ou accélérateurs dédiés
Temps d'entraînementSecondes à minutesHeures à semaines
InterprétabilitéSouvent bonneFaible, nécessite des outils dédiés

Dans la pratique, le choix se fait d'abord selon les données. Pour prédire un risque de résiliation à partir d'un tableau de clients, un modèle de gradient boosting est souvent plus précis, plus rapide et plus simple à expliquer. Pour analyser des photos, des enregistrements ou des documents en texte libre, le deep learning est presque toujours la bonne option, le plus souvent en adaptant un modèle pré-entraîné.

Quand privilégier le Deep Learning ?

Le type de données est le premier critère, avant même le volume ou le budget.

Pertinent si

Le Deep Learning s'impose

  • Les données sont des images, des sons, des textes ou des vidéos.
  • Un modèle pré-entraîné existe pour un domaine proche.
  • La performance prime sur l'explicabilité.
  • Des GPU sont disponibles pour l'entraînement ou l'inférence.
Moins adapté si

Un modèle classique suffit

  • Les données sont tabulaires et de taille modeste.
  • Chaque décision doit être expliquée variable par variable.
  • Le budget de calcul et de maintenance est limité.
  • Un modèle simple atteint déjà la performance visée.

Frameworks et outils du Deep Learning

Quelques frameworks concentrent l'essentiel des usages, du prototypage au déploiement sur GPU.

Les concepts à connaître autour du Deep Learning

Ces notions décrivent les briques et les architectures que l'on retrouve dans la plupart des réseaux profonds.

Ressources pour approfondir le Deep Learning

Trois articles du blog Blent pour comprendre les briques du deep learning.

Questions fréquentes

Questions fréquentes

Le terme fait référence à la profondeur du réseau, c'est-à-dire au nombre de couches entre l'entrée et la sortie. Un réseau peu profond n'en compte qu'une ou deux ; un réseau profond peut en empiler des dizaines, voire des centaines, ce qui lui permet d'apprendre des représentations hiérarchiques.

Expertise

À propos de l'auteur

Équipe Blent

Les ingénieurs et mentors Blent conçoivent, évaluent et mettent en production des modèles de machine learning, et forment chaque année des centaines de professionnels à la data et à l'IA.

Sources et méthodologie

  • Rumelhart, Hinton et Williams, Learning representations by back-propagating errors, Nature, 1986
  • Krizhevsky, Sutskever et Hinton, ImageNet Classification with Deep Convolutional Neural Networks, NeurIPS 2012
  • LeCun, Bengio et Hinton, Deep learning, Nature, 2015
  • Goodfellow, Bengio et Courville, Deep Learning, MIT Press, 2016
  • Documentation officielle de PyTorch