Inlärningshastighet och momentum

Introduktion till djupinlärning med PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Uppdatera vikter med SGD

  • Att träna ett neuralt nätverk = lösa ett optimeringsproblem.

Stochastic Gradient Descent (SGD) optimizer

sgd = optim.SGD(model.parameters(), lr=0.01, momentum=0.95)
  • Två argument:
    • inlärningshastighet: styr stegstorleken
    • momentum: tillför tröghet för att undvika att fastna
Introduktion till djupinlärning med PyTorch

Inlärningshastighetens effekt: optimal hastighet

ett exempel på optimal inlärningshastighet

  • Stegstorleken minskar nära noll i takt med att gradienten krymper
Introduktion till djupinlärning med PyTorch

Inlärningshastighetens effekt: låg hastighet

ett exempel på låg inlärningshastighet

Introduktion till djupinlärning med PyTorch

Inlärningshastighetens effekt: hög hastighet

ett exempel på alltför hög inlärningshastighet

Introduktion till djupinlärning med PyTorch

Konvexa och icke-konvexa funktioner

Det här är en konvex funktion.

ett exempel på en konvex funktion

Det här är en icke-konvex funktion.

ett exempel på en icke-konvex funktion

  • Förlustfunktioner är icke-konvexa
Introduktion till djupinlärning med PyTorch

Utan momentum

  • lr = 0.01 momentum = 0, efter 100 steg hittades minimum för x = -1.23 och y = -0.14

ett exempel på optimeraren som fastnar i ett lokalt minimum

Introduktion till djupinlärning med PyTorch

Med momentum

  • lr = 0.01 momentum = 0.9, efter 100 steg hittades minimum för x = 0.92 och y = -2.04

ett exempel på optimering med momentum

Introduktion till djupinlärning med PyTorch

Sammanfattning

$$

Inlärningshastighet Momentum
Styr stegstorleken Styr tröghet
För hög → sämre prestanda Hjälper till att undvika lokala minima
För låg → långsam träning För litet → optimeraren fastnar
Typiskt intervall: 0,01 ($10^{-2}$) och 0,0001 ($10^{-4}$) Typiskt intervall: 0,85 till 0,99
Introduktion till djupinlärning med PyTorch

Nu kör vi en övning!

Introduktion till djupinlärning med PyTorch

Preparing Video For Download...