Förbättra modellens prestanda

Introduktion till djupinlärning med PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Steg för att maximera prestanda

$$

  • Kan vi lösa problemet?

  • Sätt ett prestandariktmärke

$$

  • Förbättra prestanda på valideringsdata

$$ $$

  • Uppnå bästa möjliga prestanda

Steg 1

Steg 2

Steg 3

Introduktion till djupinlärning med PyTorch

Steg 1: överanpassa träningsdatan

  • Anpassa träningsloopen för att överanpassa en enskild datapunkt

    features, labels = next(iter(dataloader))
    for i in range(1000):
      outputs = model(features)
      loss = criterion(outputs, labels)
      optimizer.zero_grad()
      loss.backward()
      optimizer.step()
    
    • Bör nå 1.0 i noggrannhet och 0 i förlust
  • Skala sedan upp till hela träningsdatan

    • Behåll standardhyperparametrar
Introduktion till djupinlärning med PyTorch

Steg 2: minska överanpassning

  • Mål: maximera valideringsnoggrannheten

  • Experimentera med:

    • Dropout
    • Dataaugmentering
    • Viktdämpning
    • Minska modellkapaciteten

$$

  • Håll koll på varje hyperparameter och valideringsnoggrannhet

överanpassning

Introduktion till djupinlärning med PyTorch

Steg 2: minska överanpassning

$$

Originalmodell som överanpassar träningsdatan ursprungliga prestanda

$$

Uppdaterad modell med för mycket regularisering för mycket regularisering

Introduktion till djupinlärning med PyTorch

Steg 3: finjustera hyperparametrar

  • Rutnätssökning
for factor in range(2, 6):
    lr = 10 ** -factor

rutnätssökning

  • Slumpmässig sökning
factor = np.random.uniform(2, 6)
lr = 10 ** -factor

slumpmässig sökning

Introduktion till djupinlärning med PyTorch

Nu kör vi en övning!

Introduktion till djupinlärning med PyTorch

Preparing Video For Download...