Poprawa wydajności modelu

Wprowadzenie do uczenia głębokiego z PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Kroki do maksymalizacji wydajności

$$

  • Czy problem jest rozwiązywalny?

  • Ustalenie punktu odniesienia

$$

  • Poprawa wyników na zbiorze walidacyjnym

$$ $$

  • Osiągnięcie najlepszej możliwej wydajności

Krok 1

Krok 2

Krok 3

Wprowadzenie do uczenia głębokiego z PyTorch

Krok 1: przetrenowanie zbioru treningowego

  • Zmodyfikuj pętlę treningową, aby model przetrenował jeden punkt danych

    features, labels = next(iter(dataloader))
    for i in range(1000):
      outputs = model(features)
      loss = criterion(outputs, labels)
      optimizer.zero_grad()
      loss.backward()
      optimizer.step()
    
    • Powinna osiągnąć dokładność 1,0 i stratę 0
  • Następnie przeskaluj do całego zbioru treningowego

    • Zachowaj domyślne hiperparametry
Wprowadzenie do uczenia głębokiego z PyTorch

Krok 2: redukcja przetrenowania

  • Cel: maksymalizacja dokładności walidacyjnej

  • Eksperymentuj z:

    • Dropout
    • Augmentacja danych
    • Regularyzacja wagowa
    • Redukcja pojemności modelu

$$

  • Śledź każdy hiperparametr i dokładność walidacyjną

przetrenowanie

Wprowadzenie do uczenia głębokiego z PyTorch

Krok 2: redukcja przetrenowania

$$

Oryginalny model przetrenowany na danych treningowych oryginalne wyniki

$$

Zaktualizowany model z nadmierną regularyzacją nadmierna regularyzacja

Wprowadzenie do uczenia głębokiego z PyTorch

Krok 3: dostrajanie hiperparametrów

  • Przeszukiwanie siatki
for factor in range(2, 6):
    lr = 10 ** -factor

przeszukiwanie siatki

  • Przeszukiwanie losowe
factor = np.random.uniform(2, 6)
lr = 10 ** -factor

przeszukiwanie losowe

Wprowadzenie do uczenia głębokiego z PyTorch

Czas na ćwiczenia!

Wprowadzenie do uczenia głębokiego z PyTorch

Preparing Video For Download...