Köra ett framåtpass

Introduktion till djupinlärning med PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Vad är ett framåtpass?

$$

  • Indata flödar genom lagren
  • Beräkningar utförs i varje lager
  • Sista lagret genererar utdata

$$

  • Utdata produceras utifrån vikter och bias
  • Används för träning och prediktion

Illustration av ett framåtpass

Introduktion till djupinlärning med PyTorch

Vad är ett framåtpass?

$$

Möjliga utdata:

  • Binär klassificering
  • Multiklassklassificering
  • Regression

Illustration av ett framåtpass med slututdata markerat

Introduktion till djupinlärning med PyTorch

Binär klassificering: framåtpass

Kodblock med tillagda kommentarer

# 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
)
Introduktion till djupinlärning med PyTorch

Binär klassificering: framåtpass

# 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>)
  • Utdata: fem sannolikheter mellan 0 och 1, en per djur

  • Klassificering (tröskel 0,5):

    • Klass = 1 (däggdjur) för värden ≥ 0,5 (0.5188, 0.5015)
    • Klass = 0 (ej däggdjur) för värden < 0,5 (0.3761, 0.3718, 0.4633)
Introduktion till djupinlärning med PyTorch

Multiklassklassificering: framåtpass

  • Klass 1 – däggdjur, klass 2 – fågel, klass 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])
Introduktion till djupinlärning med PyTorch

Multiklassklassificering: framåtpass

multiclass.jpg

  • Varje rad summerar till ett
  • Predikterad etikett = klassen med högst sannolikhet
  • Rad 1 = klass 1 (däggdjur), rad 2 = klass 1 (däggdjur), rad 3 = klass 3 (reptil)
Introduktion till djupinlärning med PyTorch

Regression: framåtpass

# 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>)
Introduktion till djupinlärning med PyTorch

Nu kör vi en övning!

Introduktion till djupinlärning med PyTorch

Preparing Video For Download...