L’overfitting est un problème fréquent lors de l’entraînement d’un modèle de Deep Learning, mais une technique existe pour le contrer : le Dropout.
C’est une méthode de Regularization expliquée dans un papier de recherche en 2014.
La Regularization est un ensemble de méthode qui permet à la fois d’optimiser l’apprentissage d’un modèle de Deep Learning et de contrer l’overfitting (manque de généralisation).
Une de ces méthodes s’appelle la L2 Regularization expliquée dans cet article.
Aujourd’hui, on se penche sur la technique du Dropout !
Qu’est-ce que le Dropout ?
Le Dropout est une technique permettant de réduire l’overfitting lors de l’entraînement du modèle.
Le terme » Dropout » fait référence à la suppression de neurones dans les couches d’un modèle de Deep Learning.
En fait, on désactive temporairement certains neurones dans le réseau, ainsi que toutes ses connexions entrantes et sortantes :


Le choix des neurones à désactiver est aléatoire. On attribue une probabilité p à tous les neurones qui détermine leur activation.
Lorsque p = 0.1, chaque neurone a une chance sur 10 d’être désactivé.
À chaque epoch, on applique cette désactivation aléatoire. C’est-à-dire qu’à chaque passe (forward propagation) le modèle apprendra avec une configuration de neurones différentes, les neurones s’activant et se désactivant aléatoirement.
Cette procédure génère effectivement des modèles légèrement différents avec des configurations de neurones différentes à chaque itération.
L’idée est de perturber les caractéristiques apprises par le modèle. Habituellement, l’apprentissage du modèle repose sur la synchronicité des neurones… avec le Dropout, le modèle doit exploiter chaque neurone individuellement, ses voisins pouvant être désactivés aléatoirement à tout instant.
Attention : le Dropout est actif uniquement durant l’entraînement du modèle. Lors des tests, chaque neurone reste actif et son poids est multiplié par la probabilité p.
LA MÉTHODE PARÉ POUR FAIRE DU DEEP LEARNING !
Reçois tes 7 JOURS De Formation GRATUITE Pour Apprendre À Créer TA PREMIÈRE INTELLIGENCE ARTIFICIELLE !
Pendant les 7 prochains jours je vais te montrer comment utiliser les Réseaux de neurones.
Tu vas comprendre ce qu'est le Deep Learning avec des exemples concrets qui vont te rester dans la tête.
ATTENTION, cette série d’email ne s’adresse pas à tout le monde. Si tu es du genre à aimer les cours théoriques et scolaires tu peux passer ta route.
Mais si tu souhaite apprendre la méthode PARÉ pour faire du Deep Learning, clique ici :

Comment utiliser le Dropout ?
Sur Keras & Tensorflow
Son utilisation est vraiment simple sur l’ensemble des librairies.
Avec Keras & Tensorflow il suffit d’ajouter une couche Dropout est d’indiquer la probabilité de désactivation souhaitée.
La probabilité par défaut est de 0.5, ici on prend 0.2 :
tf.keras.layers.Dropout(0.2)
Il est à utiliser comme une couche du réseau de neurones, c’est à dire qu’après (ou avant) chaque couche on peut ajouter un Dropout qui va désactiver certains neurones.
Sur PyTorch
Sur PyTorch, l’utilisation est tout aussi rapide :
torch.nn.Dropout(p=0.2)
Ici aussi la valeur par défaut est de 0.5.
Essayons concrètement cette couche !
Prenons un tenseur avec des valeurs aléatoires :
import torch
input = torch.randn(3, 2)
Créons notre couche de Dropout :
import torch.nn as nn
drop = nn.Dropout(p=0.2)
Et appliquons-la à notre tenseur :
drop(input)
Essayez sur votre environnement de développement et vous verrez le résultat !
Vous devriez avoir certaines valeurs de votre tenseur qui se sont désactivées (transformées en zéro) suite au Dropout.
C’est tout pour cet article ! Si vous voulez continuer à voir des méthodes de Regularization c’est par ici.
Photo by Leon Ephraïm on Unsplash
source :
- L. Antiga, Deep Learning with PyTorch (2020, Manning Publications) – notre lien affilié
LA MÉTHODE PARÉ POUR FAIRE DU DEEP LEARNING !
Reçois tes 7 JOURS De Formation GRATUITE Pour Apprendre À Créer TA PREMIÈRE INTELLIGENCE ARTIFICIELLE !
Pendant les 7 prochains jours je vais te montrer comment utiliser les Réseaux de neurones.
Tu vas comprendre ce qu'est le Deep Learning avec des exemples concrets qui vont te rester dans la tête.
ATTENTION, cette série d’email ne s’adresse pas à tout le monde. Si tu es du genre à aimer les cours théoriques et scolaires tu peux passer ta route.
Mais si tu souhaite apprendre la méthode PARÉ pour faire du Deep Learning, clique ici :