Taux d’apprentissage et dynamique

Introduction au deep learning avec PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Mise à jour des poids avec SGD

  • Former un réseau neuronal = résoudre un problème d’optimisation.

Optimiseur de descente de gradient stochastique (SGD)

sgd = optim.SGD(model.parameters(), lr=0.01, momentum=0.95)
  • Deux arguments :
    • taux d’apprentissage : contrôle la taille du pas
    • momentum : ajoute de l’inertie pour éviter de rester bloqué
Introduction au deep learning avec PyTorch

Impact du taux d’apprentissage : taux d’apprentissage optimal

un exemple de taux d’apprentissage optimal

  • La taille du pas diminue près de zéro à mesure que le gradient devient plus petit
Introduction au deep learning avec PyTorch

Impact du taux d’apprentissage : taux d’apprentissage faible

un exemple de taux d’apprentissage faible

Introduction au deep learning avec PyTorch

Impact du taux d’apprentissage : taux d’apprentissage élevé

une valeur réelle du taux d’apprentissage

Introduction au deep learning avec PyTorch

Fonctions convexes et non convexes

Il s’agit d’une fonction convexe.

un exemple de fonction convexe

Il s’agit d’une fonction non convexe.

un exemple de fonction non convexe

  • Les fonctions de perte ne sont pas convexes
Introduction au deep learning avec PyTorch

Sans momentum

  • lr = 0.01 momentum = 0Après 100 étapes, le minimum est trouvé pour x = -1.23 et y = -0.14

un exemple d’optimisation bloquée dans un minimum local

Introduction au deep learning avec PyTorch

Avec momentum

  • lr = 0.01 momentum = 0.9Après 100 étapes, le minimum est trouvé pour x = 0.92 et y = -2.04

un exemple d’optimisation avec momentum

Introduction au deep learning avec PyTorch

Récapitulatif

$$

Taux d’apprentissage Momentum
Contrôle la taille du pas Contrôle l’inertie
Trop élevé → mauvaise performance Permet d’échapper au minimum local
Trop faible → lenteur de l’entraînement Trop petit → blocage de l’optimiseur
Gamme typique : 0,01 ($10^{-2}$) and 0,0001 ($10^{-4}$) Gamme typique : 0,85 à 0,99
Introduction au deep learning avec PyTorch

Passons à la pratique !

Introduction au deep learning avec PyTorch

Preparing Video For Download...