Запуск прямого проходу

Вступ до Deep Learning з PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Що таке прямий прохід?

$$

  • Вхідні дані проходять крізь шари
  • На кожному шарі виконуються обчислення
  • Останній шар формує виходи

$$

  • Виходи базуються на вагах і зміщеннях
  • Використовуються для тренування та прогнозування

Схема прямого проходу

Вступ до Deep Learning з PyTorch

Що таке прямий прохід?

$$

Можливі виходи:

  • Бінарна класифікація
  • Багатокласова класифікація
  • Регресія

Прямий прохід з підсвіченим фінальним виходом

Вступ до Deep Learning з PyTorch

Бінарна класифікація: прямий прохід

Блок коду з коментарями

# 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
)
Вступ до Deep Learning з PyTorch

Бінарна класифікація: прямий прохід

# 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>)
  • Вихід: п'ять імовірностей між 0 і 1, по одній для кожної тварини

  • Класифікація (поріг 0,5):

    • Клас = 1 (ссавець) для значень ≥ 0.5 (0.5188, 0.5015)
    • Клас = 0 (не ссавець) для значень < 0.5 (0.3761, 0.3718, 0.4633)
Вступ до Deep Learning з PyTorch

Багатокласова класифікація: прямий прохід

  • Клас 1 — ссавець, клас 2 — птах, клас 3 — плазуни
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])
Вступ до Deep Learning з PyTorch

Багатокласова класифікація: прямий прохід

multiclass.jpg

  • Кожен рядок сумується до одиниці
  • Прогнозована мітка = клас із найбільшою імовірністю
  • Рядок 1 = клас 1 (ссавець), рядок 2 = клас 1 (ссавець), рядок 3 = клас 3 (плазуни)
Вступ до Deep Learning з PyTorch

Регресія: прямий прохід

# 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>)
Вступ до Deep Learning з PyTorch

Давайте потренуємось!

Вступ до Deep Learning з PyTorch

Preparing Video For Download...