Executarea unui forward pass

Introducere în Deep Learning cu PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Ce este un forward pass?

$$

  • Datele de intrare parcurg straturile
  • Calcule efectuate la fiecare strat
  • Ultimul strat generează ieșirile

$$

  • Ieșirile sunt produse pe baza ponderilor și biasurilor
  • Utilizate pentru antrenare și predicții

Reprezentarea forward pass-ului

Introducere în Deep Learning cu PyTorch

Ce este un forward pass?

$$

Ieșiri posibile:

  • Clasificare binară
  • Clasificare multi-clasă
  • Regresii

Reprezentarea forward pass-ului cu ieșirea finală evidențiată

Introducere în Deep Learning cu PyTorch

Clasificare binară: forward pass

Bloc de cod cu comentarii adăugate

# 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
)
Introducere în Deep Learning cu PyTorch

Clasificare binară: forward pass

# 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>)
  • Ieșire: cinci probabilități între 0 și 1, câte una pentru fiecare animal

  • Clasificare (prag 0.5):

    • Clasa = 1 (mamifer) pentru valori ≥ 0.5 (0.5188, 0.5015)
    • Clasa = 0 (non-mamifer) pentru valori < 0.5 (0.3761, 0.3718, 0.4633)
Introducere în Deep Learning cu PyTorch

Clasificare multi-clasă: forward pass

  • Clasa 1 - mamifer, clasa 2 - pasăre, clasa 3 - reptilă
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])
Introducere în Deep Learning cu PyTorch

Clasificare multi-clasă: forward pass

multiclass.jpg

  • Suma fiecărui rând este unu
  • Eticheta prezisă = clasa cu probabilitatea cea mai mare
  • Rândul 1 = clasa 1 (mamifer), rândul 2 = clasa 1 (mamifer), rândul 3 = clasa 3 (reptilă)
Introducere în Deep Learning cu PyTorch

Regresie: forward pass

# 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>)
Introducere în Deep Learning cu PyTorch

Să exersăm!

Introducere în Deep Learning cu PyTorch

Preparing Video For Download...