Szkolenie Convolutional Neural Networks
Poziom
ŚredniozaawansowanyCzas
16h / 2 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie Convolutional Neural Networks
Intensywne, praktyczne szkolenie z zakresu sieci neuronowych konwolucyjnych (CNNs). Podczas tego dwudniowego kursu uczestnicy zdobędą dogłębną wiedzę teoretyczną oraz, co najważniejsze, praktyczne umiejętności w projektowaniu, implementacji i trenowaniu konwolucyjnych sieci neuronowych. Kurs łączy teorię z praktyką, kładąc nacisk na hands-on experience w proporcji 80% warsztatów do 20% wykładów.
Dla kogo jest szkolenie Convolutional Neural Networks?
Szkolenie skierowane jest do programistów, data scientistów, inżynierów uczenia maszynowego oraz badaczy, którzy chcą pogłębić wiedzę o CNN i zdobyć praktyczne umiejętności budowy, trenowania i oceny modeli wizyjnych w PyTorch.
Wymagane umiejętności technologiczne:
Podstawowa znajomość Pythona
Przynajmniej minimalne doświadczenie w pracy z bibliotekami do uczenia maszynowego (np. scikit-learn, TensorFlow lub PyTorch)
Podstawowa wiedza z zakresu sieci neuronowych i uczenia maszynowego
Umiejętność pracy w środowisku Jupyter Notebook
Czego nauczysz się na tym szkoleniu?
- Projektowania i implementacji architektur CNN w PyTorch oraz doboru ich elementów do problemu (konwolucje, pooling, normalizacja)
- Optymalizacji i dostrajania modeli konwolucyjnych: regularyzacja, augmentacja danych, harmonogramy uczenia i dobór hiperparametrów
- Praktycznego zastosowania transfer learningu w zadaniach wizyjnych: użycie modeli wstępnie wytrenowanych i fine-tuning na własnym zbiorze
- Przygotowania modeli CNN do użycia w aplikacjach: optymalizacja inferencji, eksport oraz podstawy oceny ryzyk (bias, drift, odporność)
Program szkolenia
Dzień 1
Wprowadzenie do sieci neuronowych oraz sieci konwolucyjnych
- Podstawy architektury sieci neuronowej (tensory, warstwy, funkcje aktywacji, funkcja straty)
- Architektura CNN (konwolucja, stride, padding, receptive field)
- Porównanie CNN z tradycyjnymi sieciami neuronowymi oraz kontekst CNN vs architektury transformerowe
Warstwy konwolucyjne i pooling
- Implementacja warstw konwolucyjnych w PyTorch (nn.Module, GPU, autograd)
- Projekt warstw pooling i optymalizacja (max/avg/global pooling, wpływ na cechy i stabilność)
Warsztaty: Budowa prostej CNN
- Budowa modelu CNN od podstaw (pipeline danych, normalizacja, augmentacja, trening)
- Analiza wpływu różnych architektur na wydajność (metryki, krzywe uczenia, analiza błędów)
Techniki transfer learning w CNN
- Zastosowanie modeli wstępnie wytrenowanych (feature extractor, backbone, dobór architektury)
- Dostrajanie modeli na własnych danych (freezing, learning rate, regularyzacja)
Dzień 2
Zaawansowane architektury CNN
- Implementacja ResNet i Inception oraz przegląd architektur efektywnych (np. EfficientNet/MobileNet)
- Analiza porównawcza wydajności różnych architektur (jakość vs złożoność, parametry, latency)
Optymalizacja i regulacja CNN
- Techniki regularyzacji: dropout, batch normalization, weight decay, label smoothing
- Strategie optymalizacji hiperparametrów (scheduler, early stopping, powtarzalność eksperymentów)
Warsztaty: Rozwiązania złożonych problemów wizyjnych
- Implementacja modelu do klasyfikacji obrazów (podział danych, metryki, analiza pomyłek, interpretowalność Grad-CAM)
- Budowa systemu detekcji obiektów (pipeline, metryki mAP, NMS, ograniczenia i ryzyka)
Przygotowanie modeli CNN do użycia
- Optymalizacja modeli pod kątem wydajności (TorchScript/ONNX, quantization, batching)
- Integracja CNN z aplikacjami w czasie zbliżonym do rzeczywistego (API/edge) oraz podstawy obserwowalności jakości (sygnały driftu)