Навчання класифікаторів зображень

Середній рівень Deep Learning з PyTorch

Michal Oleszak

Machine Learning Engineer

Повертаємось до аугментації даних

Зображення кота.

Середній рівень Deep Learning з PyTorch

Повертаємось до аугментації даних

Зображення кота, відзеркалене горизонтально й повернуте.

Середній рівень Deep Learning з PyTorch

Що не варто аугментувати

Жовтий лимон і зелений лайм виглядають однаково, відрізняються лише кольором.

Середній рівень Deep Learning з PyTorch

Що не варто аугментувати

Жовтий лимон і зелений лайм виглядають однаково, відрізняються лише кольором.

Середній рівень Deep Learning з PyTorch

Що не варто аугментувати

Літера «W» після вертикального віддзеркалення виглядає як літера «M».

  • Аугментації можуть впливати на мітку
  • Чи це збиватиме з пантелику — залежить від завдання
  • Завжди добирайте аугментації з огляду на дані й завдання!
Середній рівень Deep Learning з PyTorch

Аугментації для класифікації хмар

Вибірка фото хмар.

  • Випадкове обертання: показати моделі різні ракурси хмар
  • Горизонтальне віддзеркалення: змоделювати інші точки огляду неба
  • Автоконтраст: змоделювати різне освітлення
train_transforms = transforms.Compose([
    transforms.RandomHorizontalFlip(),
    transforms.RandomRotation(45),
    transforms.RandomAutocontrast(),
    transforms.ToTensor(),
    transforms.Resize((128, 128))
])
Середній рівень Deep Learning з PyTorch

Функція втрат Cross-Entropy

  • Бінарна класифікація: втрата binary cross-entropy (BCE)
  • Багатокласова класифікація: втрата cross-entropy
  • criterion = nn.CrossEntropyLoss()
Середній рівень Deep Learning з PyTorch

Цикл навчання класифікатора зображень

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 з PyTorch

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

Середній рівень Deep Learning з PyTorch

Preparing Video For Download...