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.
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.
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ère | Machine learning classique | Deep learning |
|---|---|---|
| Données de prédilection | Tabulaires, structurées | Images, sons, textes, vidéos |
| Caractéristiques | Construites à la main (feature engineering) | Apprises automatiquement par le réseau |
| Volume de données | Quelques milliers d'exemples peuvent suffire | Volumes importants, sauf modèle pré-entraîné |
| Matériel | Processeur classique | GPU ou accélérateurs dédiés |
| Temps d'entraînement | Secondes à minutes | Heures à semaines |
| Interprétabilité | Souvent bonne | Faible, 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.
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.
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.
- Framework
PyTorch
Le framework de référence, issu de Meta et aujourd'hui porté par la PyTorch Foundation.
- Framework
TensorFlow
Le framework de Google, très présent dans les déploiements industriels et mobiles.
- API haut niveau
Keras
Une interface concise pour définir et entraîner des réseaux en quelques lignes.
- Framework
JAX
Calcul numérique différentiable et compilé, apprécié en recherche.
- Calcul GPU
CUDA
La plateforme de NVIDIA qui permet d'exploiter les GPU pour l'entraînement.
- Modèles pré-entraînés
Hugging Face
Des milliers de modèles prêts à l'emploi pour le texte, l'image et l'audio.
- Format d'échange
ONNX
Un format ouvert pour exporter un modèle et l'exécuter sur différents moteurs.
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.
- Réseau de neuronesL'empilement de couches de neurones artificiels qui constitue le modèle.
- CNNLe réseau convolutif, spécialiste des images.
- RNNLe réseau récurrent, conçu pour les séquences.
- TransformerL'architecture à base d'attention qui équipe les LLM.
- Auto-encodeurUn réseau qui apprend à compresser puis reconstruire ses données.
- Machine LearningLa discipline dont le deep learning est une sous-famille.
Ressources pour approfondir le Deep Learning
Trois articles du blog Blent pour comprendre les briques du deep learning.
- Fondamentaux
Réseaux de neurones : tout comprendre
Neurones, couches, activations et entraînement expliqués pas à pas.
Lire l'article - Architecture
Réseaux convolutifs (CNN) : comment ça marche ?
Convolutions, pooling et applications à la vision par ordinateur.
Lire l'article - Architecture
Les Transformers, incontournables du Deep Learning
Le mécanisme d'attention et pourquoi il a supplanté les réseaux récurrents.
Lire l'article
Questions fréquentes
Questions fréquentes
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
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.
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.
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.
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.
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.
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.