Dùng hàm mất mát để đánh giá dự đoán của mô hình

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

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Vì sao cần hàm mất mát?

  • Cho biết độ tốt của mô hình trong huấn luyện
  • Nhận dự đoán $\hat{y}$ và nhãn đúng $y$
  • Trả về một số float

$$

Sơ đồ hàm mất mát

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

Vì sao cần hàm mất mát?

  • Lớp 0 - thú, lớp 1 - chim, lớp 2 - bò sát
Lông Lông vũ Trứng Sữa Vây Chân Đuôi Thuần hóa Cỡ mèo Lớp
1 0 0 1 0 4 0 0 1 0

$$

  • Dự đoán lớp = 0 -> đúng = loss thấp
  • Dự đoán lớp = 1 -> sai = loss cao
  • Dự đoán lớp = 2 -> sai = loss cao

$$

  • Mục tiêu là giảm thiểu loss
Nhập môn Deep Learning với PyTorch

Khái niệm one-hot encoding

  • $loss = F(y, \hat{y})$
  • $y$ là một số nguyên (nhãn lớp)
    • vd. $y=0$ khi $y$ là thú
  • $\hat{y}$ là tensor (dự đoán trước softmax)
    • Nếu N là số lớp, vd. N = 3
    • $\hat{y}$ là tensor N chiều,
      • vd. $\hat{y}$ = [-5.2, 4.6, 0.8]
Nhập môn Deep Learning với PyTorch

Khái niệm one-hot encoding

  • Chuyển một số nguyên y thành tensor gồm 0 và 1

One-hot encoding

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

Biến đổi nhãn với one-hot encoding

import torch.nn.functional as F

print(F.one_hot(torch.tensor(0), num_classes = 3))
tensor([1, 0, 0])
print(F.one_hot(torch.tensor(1), num_classes = 3))
tensor([0, 1, 0])
print(F.one_hot(torch.tensor(2), num_classes = 3))
tensor([0, 0, 1])
Nhập môn Deep Learning với PyTorch

Hàm mất mát cross entropy trong PyTorch

from torch.nn import CrossEntropyLoss

scores = torch.tensor([-5.2, 4.6, 0.8])
one_hot_target = torch.tensor([1, 0, 0])

criterion = CrossEntropyLoss()
print(criterion(scores.double(), one_hot_target.double()))

$$

tensor(9.8222, dtype=torch.float64)
Nhập môn Deep Learning với PyTorch

Tổng hợp lại

Hàm mất mát nhận:

  • scores - dự đoán của mô hình trước softmax cuối
  • one_hot_target - nhãn đúng mã hóa one-hot

Hàm mất mát xuất ra:

  • loss - một số float

Sơ đồ hàm mất mát với giá trị

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

Ayo berlatih!

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

Preparing Video For Download...