Huấn luyện bộ phân loại ảnh

Deep Learning nâng cao với PyTorch

Michal Oleszak

Machine Learning Engineer

Ôn lại tăng cường dữ liệu

Ảnh một con mèo.

Deep Learning nâng cao với PyTorch

Ôn lại tăng cường dữ liệu

Ảnh mèo được lật ngang và xoay.

Deep Learning nâng cao với PyTorch

Không nên tăng cường điều gì

Chanh vàng và chanh xanh giống nhau, chỉ khác màu.

Deep Learning nâng cao với PyTorch

Không nên tăng cường điều gì

Chanh vàng và chanh xanh giống nhau, chỉ khác màu.

Deep Learning nâng cao với PyTorch

Không nên tăng cường điều gì

Chữ "W" sau khi lật dọc trông như chữ "M".

  • Tăng cường có thể ảnh hưởng nhãn
  • Mức độ gây nhiễu tùy bài toán
  • Luôn chọn tăng cường phù hợp dữ liệu và nhiệm vụ!
Deep Learning nâng cao với PyTorch

Tăng cường dữ liệu cho phân loại mây

Mẫu ảnh mây.

  • Xoay ngẫu nhiên: cho mô hình thấy nhiều góc mây khác nhau
  • Lật ngang: mô phỏng góc nhìn bầu trời khác
  • Tự động tăng tương phản: mô phỏng điều kiện sáng khác nhau
train_transforms = transforms.Compose([
    transforms.RandomHorizontalFlip(),
    transforms.RandomRotation(45),
    transforms.RandomAutocontrast(),
    transforms.ToTensor(),
    transforms.Resize((128, 128))
])
Deep Learning nâng cao với PyTorch

Hàm mất mát Cross-Entropy

  • Phân loại nhị phân: hàm mất mát binary cross-entropy (BCE)
  • Phân loại đa lớp: cross-entropy
  • criterion = nn.CrossEntropyLoss()
Deep Learning nâng cao với PyTorch

Vòng lặp huấn luyện bộ phân loại ảnh

net = Net(num_classes=7)

criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(net.parameters(), lr=0.001)


for epoch in range(10): for images, labels in dataloader_train: optimizer.zero_grad() outputs = net(images) loss = criterion(outputs, labels) loss.backward() optimizer.step()
Deep Learning nâng cao với PyTorch

Ayo berlatih!

Deep Learning nâng cao với PyTorch

Preparing Video For Download...