Spuštění dopředného průchodu

Introduction to Deep Learning with PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Co je dopředný průchod?

$$

  • Vstupní data procházejí vrstvami
  • V každé vrstvě probíhají výpočty
  • Poslední vrstva generuje výstupy

$$

  • Výstupy závisí na vahách a biasech
  • Slouží k trénování a předpovědím

Znázornění dopředného průchodu

Introduction to Deep Learning with PyTorch

Co je dopředný průchod?

$$

Možné výstupy:

  • Binární klasifikace
  • Vícetrídní klasifikace
  • Regrese

Znázornění dopředného průchodu se zvýrazněným výstupem

Introduction to Deep Learning with PyTorch

Binární klasifikace: dopředný průchod

Blok kódu s komentáři

# 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
)
Introduction to Deep Learning with PyTorch

Binární klasifikace: dopředný průchod

# 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>)
  • Výstup: pět pravděpodobností mezi 0 a 1, jedna pro každé zvíře

  • Klasifikace (práh 0.5):

    • Třída = 1 (savec) pro hodnoty ≥ 0.5 (0.5188, 0.5015)
    • Třída = 0 (není savec) pro hodnoty < 0.5 (0.3761, 0.3718, 0.4633)
Introduction to Deep Learning with PyTorch

Více tříd: dopředný průchod

  • Třída 1 - savec, třída 2 - pták, třída 3 - plaz
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])
Introduction to Deep Learning with PyTorch

Více tříd: dopředný průchod

multiclass.jpg

  • Součet každého řádku je jedna
  • Predikovaná třída = třída s nejvyšší pravděpodobností
  • Řádek 1 = třída 1 (savec), řádek 2 = třída 1 (savec), řádek 3 = třída 3 (plaz)
Introduction to Deep Learning with PyTorch

Regrese: dopředný průchod

# 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>)
Introduction to Deep Learning with PyTorch

Pojďme si procvičit!

Introduction to Deep Learning with PyTorch

Preparing Video For Download...