Een forward pass uitvoeren

Introductie tot Deep Learning met PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Wat is een forward pass?

$$

  • Invoerdata stroomt door lagen
  • Berekeningen per laag
  • Laatste laag genereert outputs

$$

  • Outputs gebaseerd op gewichten en biases
  • Gebruikt voor training en voorspellingen

Weergave van forward pass

Introductie tot Deep Learning met PyTorch

Wat is een forward pass?

$$

Mogelijke outputs:

  • Binaire classificatie
  • Multiklassenclassificatie
  • Regressies

Weergave van forward pass met eindoutput gemarkeerd

Introductie tot Deep Learning met PyTorch

Binaire classificatie: forward pass

Codeblok met extra commentaar

# 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
)
Introductie tot Deep Learning met PyTorch

Binaire classificatie: 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>)
  • Output: vijf kansen tussen 0 en 1, één per dier

  • Classificatie (drempel 0,5):

    • Klasse = 1 (zoogdier) voor waarden ≥ 0,5 (0.5188, 0.5015)
    • Klasse = 0 (geen zoogdier) voor waarden < 0,5 (0.3761, 0.3718, 0.4633)
Introductie tot Deep Learning met PyTorch

Multiklassenclassificatie: forward pass

  • Klasse 1 - zoogdier, klasse 2 - vogel, klasse 3 - reptiel
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])
Introductie tot Deep Learning met PyTorch

Multiklassenclassificatie: forward pass

multiklassen.jpg

  • Elke rij somt op tot één
  • Voorspeld label = klasse met de hoogste kans
  • Rij 1 = klasse 1 (zoogdier), rij 2 = klasse 1 (zoogdier), rij 3 = klasse 3 (reptiel)
Introductie tot Deep Learning met PyTorch

Regressie: 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>)
Introductie tot Deep Learning met PyTorch

Laten we oefenen!

Introductie tot Deep Learning met PyTorch

Preparing Video For Download...