Bądźmy w kontakcie

Plan Szkolenia

Część 1 – Uczenie głębokie i koncepcje DNN

Wprowadzenie do AI, uczenia maszynowego i uczenia głębokiego

  • Historia, podstawowe pojęcia i typowe zastosowania sztucznej inteligencji z dala od fantazji, którymi ta dziedzina bywa otaczana
  • Inteligencja zbiorowa: agregowanie wiedzy współdzielonej przez wielu wirtualnych agentów
  • Algorytmy genetyczne: ewolucja populacji wirtualnych agentów poprzez selekcję
  • Typowe uczenie maszynowe: definicja.
  • Typy zadań: uczenie nadzorowane, uczenie nienadzorowane, uczenie ze wzmocnieniem
  • Typy działań: klasyfikacja, regresja, grupowanie, estymacja gęstości, redukcja wymiarowości
  • Przykłady algorytmów uczenia maszynowego: regresja liniowa, naiwny klasyfikator bayesowski, las losowy
  • Uczenie maszynowe a uczenie głębokie: problemy, w których uczenie maszynowe pozostaje dziś stanem wiedzy (las losowy i XGBoost)

Podstawowe pojęcia sieci neuronowej (zastosowanie: perceptron wielowarstwowy)

  • Przypomnienie podstaw matematycznych.
  • Definicja sieci neuronów: klasyczna architektura, aktywacja oraz
  • Ważenie wcześniejszych aktywacji, głębokość sieci
  • Definicja uczenia sieci neuronów: funkcje kosztu, propagacja wsteczna, stochastyczny spadek wzdłuż gradientu, największa wiarygodność.
  • 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 o wielu cechach a sygnałem. Wybór funkcji kosztu w zależności od danych.
  • Aproksymacja funkcji przez sieć neuronów: omówienie i przykłady
  • Aproksymacja rozkładu przez sieć neuronów: omówienie i przykłady
  • Augmentacja danych: jak zrównoważyć zbiór danych
  • Generalizacja 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 zalet, wad, pozycji w ekosystemie i zastosowania.

  • Narzędzia do zarządzania danymi: Apache Spark, narzędzia Apache Hadoop
  • Uczenie maszynowe: Numpy, Scipy, Sci-kit
  • Wysokopoziomowe frameworki DL: PyTorch, Keras, Lasagne
  • Niskopoziomowe frameworki DL: Theano, Torch, Caffe, Tensorflow

Splotowe sieci neuronowe (CNN).

  • Omówienie CNN: podstawowe zasady i zastosowania
  • Podstawowe działanie CNN: warstwa splotowa, użycie jądra,
  • Dopełnienie i krok, generowanie map cech, warstwy łączenia. Rozszerzenia 1D, 2D i 3D.
  • Omówienie różnych architektur CNN, które wyznaczyły stan wiedzy w klasyfikacji
  • Obrazy: LeNet, sieci VGG, Network in Network, Inception, Resnet. Omówienie innowacji wprowadzonych przez każdą architekturę i ich bardziej globalnych zastosowań (splot 1x1 lub połączenia resztowe)
  • Użycie modelu uwagi.
  • Zastosowanie do typowego przypadku klasyfikacji (tekstu lub obrazu)
  • CNN do generowania: superrozdzielczość, segmentacja piksel po pikselu. Omówienie
  • Głównych strategii zwiększania map cech na potrzeby generowania obrazów.

Rekurencyjne sieci neuronowe (RNN).

  • Omówienie RNN: podstawowe zasady i zastosowania.
  • Podstawowe działanie RNN: ukryta aktywacja, propagacja wsteczna w czasie, wersja rozwinięta.
  • Ewolucja w kierunku bramkowanych jednostek rekurencyjnych (GRU) i LSTM (długa pamięć krótkoterminowa).
  • Omówienie różnych stanów i ulepszeń wprowadzonych przez te architektury
  • Problemy zbieżności i zanikającego gradientu
  • Klasyczne architektury: przewidywanie szeregu czasowego, klasyfikacja...
  • Architektura RNN typu koder-dekoder. Użycie modelu uwagi.
  • Zastosowania NLP: kodowanie słów / znaków, tłumaczenie.
  • Zastosowania wideo: przewidywanie następnego wygenerowanego obrazu sekwencji wideo.

Modele generatywne: wariacyjny autoenkoder (VAE) i generatywne sieci przeciwstawne (GAN).

  • Omówienie modeli generatywnych, powiązanie z CNN
  • Autoenkoder: redukcja wymiarowości i ograniczone generowanie
  • Wariacyjny autoenkoder: model generatywny i aproksymacja rozkładu danej. Definicja i wykorzystanie przestrzeni ukrytej. Sztuczka reparametryzacji. Zastosowania i zaobserwowane ograniczenia
  • Generatywne sieci przeciwstawne: podstawy.
  • Architektura podwójnej sieci (generator i dyskryminator) z naprzemiennym uczeniem, dostępne funkcje kosztu.
  • Zbieżność GAN i napotykane trudności.
  • Poprawa zbieżności: Wasserstein GAN, Began. Odległość Earth Mover.
  • Zastosowania do generowania obrazów lub fotografii, generowania tekstu, superrozdzielczości.

Głębokie uczenie ze wzmocnieniem.

  • Omówienie uczenia ze wzmocnieniem: sterowanie agentem w zdefiniowanym środowisku
  • Opisanym przez stan i możliwe działania
  • Użycie sieci neuronowej do aproksymacji funkcji stanu
  • Głębokie Q-learning: powtórka doświadczeń i zastosowanie do sterowania grą wideo.
  • Optymalizacja polityki uczenia. On-policy i off-policy. Architektura aktor-krytyk. A3C.
  • Zastosowania: sterowanie pojedynczą grą wideo lub systemem cyfrowym.

Część 2 – Theano w uczeniu głębokim

Podstawy Theano

  • Wprowadzenie
  • Instalacja i konfiguracja

Funkcje Theano

  • wejścia, wyjścia, aktualizacje, dane przekazane (givens)

Trenowanie i optymalizacja sieci neuronowej z użyciem Theano

  • Modelowanie sieci neuronowej
  • Regresja logistyczna
  • Warstwy ukryte
  • Trenowanie sieci
  • Obliczenia i klasyfikacja
  • Optymalizacja
  • Strata logarytmiczna

Testowanie modelu

Część 3 – DNN z użyciem TensorFlow

Podstawy TensorFlow

  • Tworzenie, inicjalizacja, zapisywanie i przywracanie zmiennych TensorFlow
  • Podawanie, odczytywanie i wstępne ładowanie danych TensorFlow
  • Jak używać infrastruktury TensorFlow do trenowania modeli na dużą skalę
  • Wizualizacja i ocena modeli za pomocą TensorBoard

Mechanika TensorFlow

  • Przygotowanie danych
  • Pobieranie
  • Wejścia i symbole zastępcze (placeholdery)
  • Budowanie grafów
    • Wnioskowanie
    • Strata
    • Trenowanie
  • Trenowanie modelu
    • Graf
    • Sesja
    • Pętla trenowania
  • Ocena modelu
    • Budowanie grafu oceny
    • Wynik oceny

Perceptron

  • Funkcje aktywacji
  • Algorytm uczenia perceptronu
  • Klasyfikacja binarna z użyciem perceptronu
  • Klasyfikacja dokumentów z użyciem perceptronu
  • Ograniczenia perceptronu

Od perceptronu do maszyn wektorów nośnych

  • Jądra i sztuczka jądrowa
  • Klasyfikacja z maksymalnym marginesem i wektory nośne

Sztuczne sieci neuronowe

  • Nieliniowe granice decyzyjne
  • Sztuczne sieci neuronowe jednokierunkowe i rekurencyjne
  • Perceptrony wielowarstwowe
  • Minimalizacja funkcji kosztu
  • Propagacja w przód
  • Propagacja wsteczna
  • Poprawa sposobu uczenia się sieci neuronowych

Splotowe sieci neuronowe

  • Cele
  • Architektura modelu
  • Zasady
  • Organizacja kodu
  • Uruchamianie i trenowanie modelu
  • Ocena modelu

Podstawowe wprowadzenia do poniższych modułów (krótkie wprowadzenie w zależności od dostępnego czasu):

TensorFlow – zaawansowane zastosowania

  • Wątki i kolejki
  • Rozproszony TensorFlow
  • Pisanie dokumentacji i udostępnianie modelu
  • Dostosowywanie czytników danych
  • Manipulowanie plikami modeli TensorFlow

TensorFlow Serving

  • Wprowadzenie
  • Podstawowy samouczek serwowania
  • Zaawansowany samouczek serwowania
  • Samouczek serwowania modelu Inception

Wymagania

Wymagana jest znajomość fizyki, matematyki i programowania oraz doświadczenie w przetwarzaniu obrazów.

Uczestnicy powinni wcześniej rozumieć koncepcje uczenia maszynowego oraz mieć doświadczenie w programowaniu w Pythonie i pracy z bibliotekami.

 35 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (4)

Propozycje terminów

Powiązane Kategorie