Deep learning
Czas trwania szkolenia:4 dni (32h)
Kod kursu:DL/N
Poziom zaawansowania:
O szkoleniu Deep learning
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Osoby, które chcą rozpocząć pracę z wykorzystaniem sieci neuronowych lub poszerzyć swoją wiedzę w tym obszarze
- Programiści, analitycy danych, programiści baz danych, statystycy, data scientist z niewielkim doświadczeniem
- Szkolenie adresowane jest do wszystkich osób, które znają podstawy uczenia maszynowego
Wymagania
- Od uczestników szkolenia wymagana jest podstawowa znajomość języka Python oraz znajomość podstaw uczenia maszynowego: wiedza na czym polegają problemy klasyfikacji i regresji, znajomość modeli regresji liniowej i logistycznej. Wymagana jest również podstawowa wiedza matematyczna: działania na macierzach, pochodne funkcji
Zalety
- Poznanie modeli przekraczających możliwości klasycznych algorytmów uczenia maszynowego
- Poznanie metod, które zrewolucjonizowały wiele obszarów biznesowych, w szczególności przetwarzanie obrazów i przetwarzanie języka naturalnego
- Bardzo dokładne omówienie fundamentów, niezbędnych dla zrozumienia algorytmów głębokiego uczenia oraz efektywnej pracy i rozwoju w tym obszarze
- Przedstawienie zaawansowanych zagadnień w przystępny sposób
- Duża dawka praktycznej wiedzy i umiejętności, pozwalających na rozpoczęcie pracy z wykorzystaniem deep learningu
Cele szkolenia
- Zdobycie specjalistycznej wiedzy z obszaru metod głębokiego uczenia - deep learning
- Zdobycie praktycznych umiejętności implementacji i zastosowania omawianych algorytmów z wykorzystaniem biblioteki TensorFlow.Keras
- Poznanie metodologii pracy z sieciami neuronowymi
Program
Wprowadzenie
- Co potrafią sieci neuronowe i kiedy należy je stosować
- Uczenie głębokie a klasyczne uczenie maszynowe
- Wady i zalety sieci neuronowych
Proste sieci neuronowe - perceptron wielowarstwowy
- Inspiracja biologiczna
- Neurony - zasada działania
- Funkcje aktywacji
- Mechanizm uczenia sieci: metoda spadku gradientu, epoka, batch, early stopping
- Zjawisko przeuczenia sieci (ang. *overfitting*)
- Struktury sieci dla problemów regresji, klasyfikacji, klasyfikacji wieloetykietowej
- Implementacja sieci neuronowych w `TensorFlow.Keras`
- Praktyczne wykorzysstanie sieci dla problemów na danych tabelarycznych
Algorytmy uczenia sieci neuronowych
- SGD (metoda stochastycznego spadku gradientu)
- SGD with momentum
- Nesterov Accelerated Gradient
- Adagrad
- RMSProp
- Adam
Strojenie procesu uczenia sieci
- Inicjalizacja wag sieci
- Regularyzacja klasyczna: l1, l2
- Regularyzacja dropout
- Normalizacja gradientu
- Gradient clipping (przycinanie gradientu)
- Batch normalization (normalizacja wsadowa)
- Manipulacja wielkością współczynnika uczenia
Przetwarzanie obrazów: konwolucyjne sieci neuronowe
- Operacja splotu (konwolucji) w kontekście przetwarzaniu obrazów
- Operacja poolingu
- Wielowarstwowe sieci konwolucyjne
- Klasyfikacja obrazów
- Data augmentation - techniki rozszerzania zbioru uczącego w przetwarzaniu obrazów
- Transfer learning - wykorzystanie gotowych, potężnych sieci neuronowych, uczonych na gigantycznych zbiorach danych
Przetwarzania języka naturalnego (NLP): rekurencyjne sieci neuronowe
- Sieć rekurencyjna prosta
- Sieć LSTM
- Sieć GRU
- Klasyfikacja tekstów
Wektorowe reprezentacje słów
- Zanurzenia słów (ang. *word embeddings*)
- Model word2vec, CBOW, skip-gram
- Własności zanurzeń słów
Sieci neuronowe o nielinearnej strukturze
- Implementacja sieci z rozgałęzieniami - Functional API
- Obsługa danych wielomodalnych - sieci o wielu kanałach wejściowych
- Multitasking - sieci wykonujące wiele zadań jednocześnie, klasyfikacja wieloetykietowa
Uzupełniające praktyczne i techniczne aspekty pracy z sieciami neuronowymi
- Optymalizacja struktury i hiperparametrów sieci
- Checkpoints - serializacja modelu w trakcie uczenia
- Zapis i wczytywanie modelu
Podsumowanie
- Co dalej - przegląd technik zaawansowanych
- Przegląd najnowszych osiągnięć deep learningu