Plan Szkolenia
Część 1 - Deep Learning i koncepcje DNN
Wprowadzenie AI, Machine Learning i Deep Learning
-
Historia, podstawowe pojęcia i typowe zastosowania sztucznej inteligencji dalekie od fantazji niesionych przez tę dziedzinę
-
Inteligencja zbiorowa: agregowanie wiedzy współdzielonej przez wielu wirtualnych agentów
-
Algorytmy genetyczne: ewolucja populacji wirtualnych agentów poprzez selekcję
-
Zwykła maszyna ucząca się: definicja.
-
Rodzaje zadań: uczenie nadzorowane, uczenie nienadzorowane, uczenie ze wzmocnieniem
-
Rodzaje działań: klasyfikacja, regresja, grupowanie, szacowanie gęstości, redukcja wymiarowości
-
Przykłady algorytmów Machine Learning: Regresja liniowa, Naiwny Bayes, Drzewo losowe
-
Uczenie maszynowe VS Deep Learning: problemy, w których Machine Learning pozostaje obecnie najnowocześniejszym rozwiązaniem (Random Forests & XGBoosts)
Podstawowe koncepcje sieci neuronowych (zastosowanie: perceptron wielowarstwowy)
-
Przypomnienie podstaw matematycznych.
-
Definicja sieci neuronów: klasyczna architektura, aktywacja i waga poprzednich aktywacji, głębokość.
-
Ważenie poprzednich aktywacji, głębokość sieci
-
Definicja uczenia sieci neuronów: funkcje kosztu, propagacja wsteczna, stochastyczne opadanie gradientu, maksymalne prawdopodobieństwo.
-
Modelowanie sieci neuronowej: modelowanie danych wejściowych i wyjściowych zgodnie z typem problemu (regresja, klasyfikacja ...). Przekleństwo wymiarowości.
-
Rozróżnienie między danymi wielocechowymi a sygnałem. Wybór funkcji kosztu w zależności od danych.
-
Aproksymacja funkcji przez sieć neuronów: prezentacja i przykłady
-
Aproksymacja rozkładu przez sieć neuronów: prezentacja i przykłady
-
Powiększanie danych: jak zrównoważyć zbiór danych
-
Uogólnianie wyników sieci neuronów.
-
Inicjalizacja i regularyzacja sieci neuronowej: Regularyzacja L1 / L2, Normalizacja wsadowa
-
Algorytmy optymalizacji i zbieżności
Standardowe narzędzia ML/DL
Planowana jest prosta prezentacja z zaletami, wadami, pozycją w ekosystemie i zastosowaniem.
-
Narzędzia do zarządzania danymi: Apache Spark, Apache Hadoop Narzędzia
-
Machine Learning: Numpy, Scipy, Sci-kit
-
Frameworki DL wysokiego poziomu: PyTorch, Keras, Lasagne
-
Niskopoziomowe frameworki DL: Theano, Torch, Caffe, Tensorflow
Sieci konwolucyjne Neural Networks (CNN).
-
Prezentacja CNN: podstawowe zasady i zastosowania
-
Podstawowe działanie CNN: warstwa konwolucyjna, użycie jądra,
-
Padding i stride, generowanie mapy cech, łączenie warstw. Rozszerzenia 1D, 2D i 3D.
-
Prezentacja różnych architektur CNN, które przyniosły aktualny stan wiedzy w zakresie klasyfikacji
-
Obrazy: LeNet, VGG Networks, Network in Network, Inception, Resnet. Prezentacja innowacji wprowadzonych przez każdą architekturę i ich bardziej globalnych zastosowań (Convolution 1x1 lub połączenia resztkowe).
-
Wykorzystanie modelu uwagi.
-
Zastosowanie do typowego przypadku klasyfikacji (tekst lub obraz)
-
CNN do generowania: super-rozdzielczość, segmentacja piksel-do-piksela. Prezentacja
-
Główne strategie zwiększania map cech do generowania obrazów.
Sieci rekurencyjne Neural Networks (RNN).
-
Prezentacja RNN: podstawowe zasady i zastosowania.
-
Podstawowe działanie RNN: ukryta aktywacja, wsteczna propagacja w czasie, wersja rozłożona.
-
Ewolucje w kierunku bramkowanych jednostek rekurencyjnych (GRU) i LSTM (długa pamięć krótkotrwała).
-
Prezentacja różnych stanów i ewolucji wprowadzonych przez te architektury
-
Zbieżność i problemy z zanikającym gradientem
-
Architektury klasyczne: Przewidywanie szeregów czasowych, klasyfikacja ...
-
Architektura typu koder-dekoder RNN. Wykorzystanie modelu uwagi.
-
Zastosowania NLP: kodowanie słów/znaków, tłumaczenie.
-
Zastosowania wideo: przewidywanie następnego wygenerowanego obrazu sekwencji wideo.
Modele generacyjne: Variational AutoEncoder (VAE) i Generative Adversarial Networks (GAN).
-
Prezentacja modeli generacyjnych, powiązanie z CNN
-
Auto-enkoder: redukcja wymiarowości i ograniczona generacja
-
Auto-enkoder wariacyjny: model generacyjny i aproksymacja rozkładu danej. Definicja i wykorzystanie przestrzeni ukrytej. Sztuczka reparametryzacji. Obserwowane zastosowania i ograniczenia
-
Generatywne sieci adwersarzy: Podstawy.
-
Podwójna architektura sieci (generator i dyskryminator) z alternatywnym uczeniem, dostępne funkcje kosztu.
-
Zbieżność GAN i napotkane trudności.
-
Ulepszona zbieżność: Wasserstein GAN, Began. Odległość przemieszczania się ziemi.
-
Zastosowania do generowania obrazów lub zdjęć, generowania tekstu, superrozdzielczości.
Deep Reinforcement Learning.
-
Prezentacja uczenia ze wzmocnieniem: kontrola agenta w określonym środowisku
-
Przez stan i możliwe działania
-
Wykorzystanie sieci neuronowej do aproksymacji funkcji stanu
-
Deep Q Learning: odtwarzanie doświadczeń i zastosowanie do kontroli gier wideo.
-
Optymalizacja polityki uczenia się. Polityka włączona i polityka wyłączona. Architektura krytyka aktorów. A3C.
-
Zastosowania: kontrola pojedynczej gry wideo lub systemu cyfrowego.
Część 2 - Theano dla Deep Learning
Podstawy Theano
-
Wprowadzenie
-
Instalacja i konfiguracja
TheanoFunctions
-
Wejścia, wyjścia, aktualizacje, dane
Trening i optymalizacja sieci neuronowej przy użyciu Theano
-
Modelowanie sieci neuronowych
-
Regresja logistyczna
-
Ukryte warstwy
-
Trenowanie sieci
-
Obliczenia i klasyfikacja
-
Optymalizacja
-
Strata logiczna
Testowanie modelu
Część 3 - DNN przy użyciu Tensorflow
Podstawy TensorFlow
-
Tworzenie, inicjowanie, zapisywanie i przywracanie TensorFlow zmiennych
-
Podawanie, odczytywanie i wstępne ładowanie TensorFlow danych
-
Jak korzystać z infrastruktury TensorFlow do trenowania modeli na dużą skalę
-
Wizualizacja i ocena modeli za pomocą TensorBoard
Mechanika TensorFlow
-
Przygotowanie danych
-
Pobieranie
-
Dane wejściowe i symbole zastępcze
-
Tworzenie wykresów
-
Wnioskowanie
-
Strata
-
Trening
-
-
Trenowanie modelu
-
Wykres
-
Sesja
-
Pętla treningu
-
-
Ocena modelu
-
Tworzenie wykresu oceny
-
Wynik analizy
-
Perceptron
-
Funkcje aktywacji
-
Algorytm uczenia perceptronu
-
Klasyfikacja binarna za pomocą perceptronu
-
Klasyfikacja dokumentów za pomocą perceptronu
-
Ograniczenia perceptronu
Od perceptronu do maszyn wektorów nośnych
-
Jądra i sztuczka z jądrem
-
Klasyfikacja z maksymalnym marginesem i wektory nośne
Sztuczne Neural Networks
-
Nieliniowe granice decyzyjne
-
Sztuczne sieci neuronowe ze sprzężeniem zwrotnym i wyprzedzeniem
-
Perceptrony wielowarstwowe
-
Minimalizacja funkcji kosztu
-
Propagacja do przodu
-
Propagacja wsteczna
-
Ulepszanie sposobu uczenia się sieci neuronowych
Sieci konwolucyjne Neural Networks
-
Go als
-
Architektura modelu
-
Zasady
-
Organizacja kodu
-
Uruchamianie i szkolenie modelu
-
Ocena modelu
Podstawowe wprowadzenie do poniższych modułów (krótkie wprowadzenie zostanie zapewnione w zależności od dostępności czasu):
Tensorflow - Zaawansowane użycie
-
Wątkowanie i kolejki
-
Rozproszone TensorFlow
-
Pisanie Documentation i udostępnianie modelu
-
Dostosowywanie czytników danych
-
Manipulowanie plikami modelu TensorFlow
Serwowanie TensorFlow
-
Wprowadzenie
-
Podstawowy samouczek obsługi
-
Samouczek obsługi zaawansowanej
-
Samouczek obsługi modelu początkowego
Wymagania
Doświadczenie w fizyce, matematyce i programowaniu. Zaangażowanie w działania związane z przetwarzaniem obrazu.
Delegaci powinni mieć wcześniejsze zrozumienie koncepcji uczenia maszynowego i powinni pracować z programowaniem i bibliotekami Python.
Opinie uczestników (4)
Tematyka DL nie jest mi obca, udało się poznac kilka optymalizacyjnych smaczków.
Marcin Stasko - LG Energy Solution Wroclaw Sp. z o.o.
Szkolenie - Understanding Deep Neural Networks
Wiedza merytoryczna, zaangażowanie, pasjonujący sposób przekazywania wiedzy. Przykłady praktyczne po wykładzie teoretycznym.
Janusz Chrobot - ING Bank Slaski S.A.; Kamil Kurek Programowanie
Szkolenie - Understanding Deep Neural Networks
ćwiczenia i przykłady na nich realizowane
Pawel Orzechowski - ING Bank Slaski S.A.; Kamil Kurek Programowanie
Szkolenie - Understanding Deep Neural Networks
Duża wiedza teoretyczna i praktyczna prowadzących. Komunikatywność prowadzących. W trakcie kursu można było zadawać pytania i uzyskać satysfakcjonujące odpowiedzi.