Taux d'apprentissage et momentum

Introduction au Deep Learning avec PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Mise à jour des poids avec SGD

  • Entraîner un réseau de neurones = résoudre un problème d'optimisation.

Optimiseur Stochastic Gradient Descent (SGD)

sgd = optim.SGD(model.parameters(), lr=0.01, momentum=0.95)
  • Deux arguments :
    • learning rate : contrôle la taille du pas
    • momentum : ajoute de l'inertie pour éviter de se coincer
Introduction au Deep Learning avec PyTorch

Impact du learning rate : taux optimal

un exemple de taux d'apprentissage optimal

  • La taille du pas diminue près de zéro quand le gradient devient plus petit
Introduction au Deep Learning avec PyTorch

Impact du learning rate : petit taux

un exemple de petit taux d'apprentissage

Introduction au Deep Learning avec PyTorch

Impact du learning rate : taux élevé

une valeur trop élevée du taux d'apprentissage

Introduction au Deep Learning avec PyTorch

Fonctions convexes et non convexes

Ceci est une fonction convexe.

un exemple de fonction convexe

Ceci est une fonction non convexe.

un exemple de fonction non convexe

  • Les fonctions de perte sont non convexes
Introduction au Deep Learning avec PyTorch

Sans momentum

  • lr = 0.01 momentum = 0, après 100 pas : minimum trouvé pour x = -1.23 et y = -0.14

exemple d'optimiseur coincé dans un minimum local

Introduction au Deep Learning avec PyTorch

Avec momentum

  • lr = 0.01 momentum = 0.9, après 100 pas : minimum trouvé pour x = 0.92 et y = -2.04

exemple d'optimisation avec momentum

Introduction au Deep Learning avec PyTorch

Résumé

$$

Learning Rate Momentum
Contrôle la taille du pas Contrôle l'inertie
Trop élevé → faibles performances Aide à sortir d'un minimum local
Trop faible → entraînement lent Trop petit → l'optimiseur se coince
Plage typique : 0,01 ($10^{-2}$) à 0,0001 ($10^{-4}$) Plage typique : 0,85 à 0,99
Introduction au Deep Learning avec PyTorch

Passons à la pratique !

Introduction au Deep Learning avec PyTorch

Preparing Video For Download...