Wykonywanie przejścia w przód

Wprowadzenie do uczenia głębokiego z PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Czym jest przejście w przód?

$$

  • Dane wejściowe przepływają przez warstwy
  • Obliczenia wykonywane w każdej warstwie
  • Ostatnia warstwa generuje wyniki

$$

  • Wyniki zależą od wag i biasów
  • Używane do trenowania i prognozowania

Reprezentacja przejścia w przód

Wprowadzenie do uczenia głębokiego z PyTorch

Czym jest przejście w przód?

$$

Możliwe wyniki:

  • Klasyfikacja binarna
  • Klasyfikacja wieloklasowa
  • Regresja

Reprezentacja przejścia w przód z wyróżnionym wynikiem końcowym

Wprowadzenie do uczenia głębokiego z PyTorch

Klasyfikacja binarna: przejście w przód

Blok kodu z komentarzami

# Create binary classification model
model = nn.Sequential(
  nn.Linear(6, 4), # First linear layer
  nn.Linear(4, 1), # Second linear layer
  nn.Sigmoid() # Sigmoid activation function
)
Wprowadzenie do uczenia głębokiego z PyTorch

Klasyfikacja binarna: przejście w przód

# Pass input data through model
output = model(input_data)
print(output)
tensor([[0.5188], [0.3761], [0.5015], [0.3718], [0.4663]], 
    grad_fn=<SigmoidBackward0>)
  • Wynik: pięć prawdopodobieństw z przedziału 0–1, po jednym dla każdego zwierzęcia

  • Klasyfikacja (próg 0,5):

    • Klasa = 1 (ssak) dla wartości ≥ 0,5 (0.5188, 0.5015)
    • Klasa = 0 (nie ssak) dla wartości < 0,5 (0.3761, 0.3718, 0.4633)
Wprowadzenie do uczenia głębokiego z PyTorch

Klasyfikacja wieloklasowa: przejście w przód

  • Klasa 1 - ssak, klasa 2 - ptak, klasa 3 - gad
n_classes = 3


# Create multi-class classification model model = nn.Sequential( nn.Linear(6, 4), # First linear layer nn.Linear(4, n_classes), # Second linear layer
nn.Softmax(dim=-1) # Softmax activation )
# Pass input data through model output = model(input_data) print(output.shape)
torch.Size([5, 3])
Wprowadzenie do uczenia głębokiego z PyTorch

Klasyfikacja wieloklasowa: przejście w przód

multiclass.jpg

  • Suma w każdym wierszu wynosi jeden
  • Przewidywana etykieta = klasa z najwyższym prawdopodobieństwem
  • Wiersz 1 = klasa 1 (ssak), wiersz 2 = klasa 1 (ssak), wiersz 3 = klasa 3 (gad)
Wprowadzenie do uczenia głębokiego z PyTorch

Regresja: przejście w przód

# Create regression model
model = nn.Sequential(
  nn.Linear(6, 4), # First linear layer
  nn.Linear(4, 1) # Second linear layer
)

# Pass input data through model
output = model(input_data)

# Return output
print(output)
tensor([[0.3818],
        [0.0712],
        [0.3376],
        [0.0231],
        [0.0757]], 
        grad_fn=<AddmmBackward0>)
Wprowadzenie do uczenia głębokiego z PyTorch

Czas na ćwiczenia!

Wprowadzenie do uczenia głębokiego z PyTorch

Preparing Video For Download...