Chạy một lượt truyền xuôi

Nhập môn Deep Learning với PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Truyền xuôi là gì?

$$

  • Dữ liệu đầu vào đi qua các tầng
  • Tính toán ở mỗi tầng
  • Tầng cuối tạo đầu ra

$$

  • Đầu ra dựa trên trọng sốđộ lệch
  • Dùng cho huấn luyệndự đoán

Minh họa lượt truyền xuôi

Nhập môn Deep Learning với PyTorch

Truyền xuôi là gì?

$$

Đầu ra có thể là:

  • Phân loại nhị phân
  • Phân loại đa lớp
  • Hồi quy

Minh họa truyền xuôi với đầu ra cuối được tô đậm

Nhập môn Deep Learning với PyTorch

Phân loại nhị phân: truyền xuôi

Khối mã với chú thích

# 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
)
Nhập môn Deep Learning với PyTorch

Phân loại nhị phân: truyền xuôi

# 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>)
  • Đầu ra: năm xác suất trong khoảng 0–1, mỗi con vật một giá trị

  • Phân loại (ngưỡng 0,5):

    • Lớp = 1 (động vật có vú) cho giá trị ≥ 0,5 (0.5188, 0.5015)
    • Lớp = 0 (không phải động vật có vú) cho giá trị < 0,5 (0.3761, 0.3718, 0.4633)
Nhập môn Deep Learning với PyTorch

Phân loại đa lớp: truyền xuôi

  • Lớp 1 - động vật có vú, lớp 2 - chim, lớp 3 - bò sát
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])
Nhập môn Deep Learning với PyTorch

Phân loại đa lớp: truyền xuôi

phân loại đa lớp

  • Mỗi hàng có tổng bằng 1
  • Nhãn dự đoán = lớp có xác suất cao nhất
  • Hàng 1 = lớp 1 (động vật có vú), hàng 2 = lớp 1 (động vật có vú), hàng 3 = lớp 3 (bò sát)
Nhập môn Deep Learning với PyTorch

Hồi quy: truyền xuôi

# 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>)
Nhập môn Deep Learning với PyTorch

Ayo berlatih!

Nhập môn Deep Learning với PyTorch

Preparing Video For Download...