Plan Szkolenia

Część 1 – Głębokie uczenie i koncepcje DNN

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

  • Historia, podstawowe koncepcje i typowe zastosowania sztucznej inteligencji poza fantazjami związanymi z tą dziedziną
  • Inteligencja zbiorowa: agregowanie wiedzy udostępnianej przez wiele wirtualnych agentów
  • Algorytmy genetyczne: ewolucja populacji wirtualnych agentów poprzez selekcję
  • Typowe uczenie maszynowe: definicja.
  • Rodzaje zadań: uczenie nadzorowane, nienadzorowane, uczenie ze wzmocnieniem
  • Rodzaje działań: klasyfikacja, regresja, grupowanie, estymacja gęstości, redukcja wymiarowości
  • Przykłady algorytmów uczenia maszynowego: regresja liniowa, Naive Bayes, Drzewo losowe
  • Uczenie maszynowe VS głębokie uczenie: problemy, w których uczenie maszynowe pozostaje dziś stanem sztuki (Random Forests & XGBoosts)

Podstawowe koncepcje sieci neuronowej (Zastosowanie: wielowarstwowy perceptron)

  • Przypomnienie podstaw matematycznych.
  • Definicja sieci neuronowej: klasyczna architektura, aktywacja i
  • Wagi poprzednich aktywacji, głębokość sieci
  • Definicja uczenia sieci neuronowej: funkcje kosztu, wsteczna propagacja, stochastyczny spadek gradientu, maksymalna wiarygodność.
  • Modelowanie sieci neuronowej: modelowanie danych wejściowych i wyjściowych w zależności od rodzaju problemu (regresja, klasyfikacja...). Klątwa 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ć neuronową: prezentacja i przykłady
  • Aproksymacja rozkładu przez sieć neuronową: prezentacja i przykłady
  • Zwiększanie danych: jak zrównoważyć zbiór danych
  • Generalizacja wyników sieci neuronowej.
  • 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, narzędzia Apache Hadoop
  • Uczenie maszynowe: Numpy, Scipy, Sci-kit
  • Wysokopoziomowe frameworki DL: PyTorch, Keras, Lasagne
  • Niskopoziomowe frameworki DL: Theano, Torch, Caffe, Tensorflow

Konwolucyjne sieci neuronowe (CNN).

  • Prezentacja CNN: podstawowe zasady i zastosowania
  • Podstawowe działanie CNN: warstwa konwolucyjna, użycie jądra,
  • Dopełnienie i krok, generowanie mapy cech, warstwy łączenia. Rozszerzenia 1D, 2D i 3D.
  • Prezentacja różnych architektur CNN, które przyczyniły się do stanu sztuki w klasyfikacji
  • Obrazy: LeNet, sieci VGG, Network in Network, Inception, Resnet. Prezentacja innowacji wprowadzonych przez każdą architekturę i ich bardziej globalnych zastosowań (Konwolucja 1x1 lub połączenia resztkowe)
  • Użycie modelu uwagi.
  • Zastosowanie do typowego przypadku klasyfikacji (tekst lub obraz)
  • CNN do generowania: super-rozdzielczość, segmentacja piksel do piksela. Prezentacja
  • Głównych strategii zwiększania map cech dla generowania obrazów.

Rekurencyjne sieci neuronowe (RNN).

  • Prezentacja RNN: podstawowe zasady i zastosowania.
  • Podstawowe działanie RNN: ukryta aktywacja, wsteczna propagacja w czasie, rozwinięta wersja.
  • Ewolucja w kierunku jednostek z bramkami (GRUs) i LSTM (Long Short Term Memory).
  • Prezentacja różnych stanów i ewolucji wprowadzonych przez te architektury
  • Problemy zbieżności i zanikania gradientu
  • Klasyczne architektury: Prognozowanie szeregów czasowych, klasyfikacja...
  • Architektura typu RNN Encoder Decoder. Użycie modelu uwagi.
  • Zastosowania w NLP: kodowanie słów / znaków, tłumaczenie.
  • Zastosowania wideo: prognozowanie kolejnego wygenerowanego obrazu sekwencji wideo.

Modele generatywne: Variational AutoEncoder (VAE) i Generative Adversarial Networks (GAN).

  • Prezentacja modeli generatywnych, powiązanie z CNN
  • Autoenkoder: redukcja wymiarowości i ograniczone generowanie
  • Variational Auto-encoder: model generatywny i aproksymacja rozkładu danych. Definicja i użycie przestrzeni latentnej. Trik reparametryzacji. Zastosowania i obserwowane ograniczenia
  • Generative Adversarial Networks: Podstawy.
  • Architektura podwójnej sieci (Generator i dyskryminator) z alternatywnym uczeniem, dostępne funkcje kosztu.
  • Zbieżność GAN i napotkane trudności.
  • Poprawa zbieżności: Wasserstein GAN, Began. Odległość przenoszenia Ziemi.
  • Zastosowania do generowania obrazów lub fotografii, generowania tekstu, super-rozdzielczości.

Głębokie uczenie ze wzmocnieniem.

  • Prezentacja uczenia ze wzmocnieniem: kontrola agenta w zdefiniowanym środowisku
  • Poprzez stan i możliwe działania
  • Użycie sieci neuronowej do aproksymacji funkcji stanu
  • Deep Q Learning: powtarzanie doświadczeń i zastosowanie do kontroli gry wideo.
  • Optymalizacja polityki uczenia. On-policy && off-policy. Architektura Actor critic. A3C.
  • Zastosowania: kontrola pojedynczej gry wideo lub systemu cyfrowego.

Część 2 – Theano do głębokiego uczenia

Podstawy Theano

  • Wprowadzenie
  • Instalacja i konfiguracja

Funkcje Theano

  • dane wejściowe, wyjściowe, aktualizacje, dane podane

Trenowanie i optymalizacja sieci neuronowej przy użyciu Theano

  • Modelowanie sieci neuronowej
  • Regresja logistyczna
  • Warstwy ukryte
  • Trenowanie sieci
  • Obliczenia i klasyfikacja
  • Optymalizacja
  • Logarytmiczna strata

Testowanie modelu

Część 3 – DNN przy użyciu 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
  • Dane wejściowe i placeholdery
  • Budowanie grafu
    • Inferencja
    • Strata
    • Trenowanie
  • Trenowanie modelu
    • Graf
    • Sesja
    • Pętla treningowa
  • Ocena modelu
    • Budowanie grafu oceny
    • Wynik oceny

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 trik z jądrem
  • Klasyfikacja z maksymalnym marginesem i wektory nośne

Sztuczne sieci neuronowe

  • Nieliniowe granice decyzyjne
  • Sztuczne sieci neuronowe typu feedforward i feedback
  • Wielowarstwowe perceptrony
  • Minimalizacja funkcji kosztu
  • Propagacja w przód
  • Propagacja wsteczna
  • Poprawa sposobu uczenia sieci neuronowych

Konwolucyjne sieci neuronowe

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

Podstawowe wprowadzenia do poniższych modułów (Krótkie wprowadzenie zostanie przedstawione w zależności od dostępności czasu):

Zaawansowane użycie TensorFlow

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

TensorFlow Serving

  • Wprowadzenie
  • Podstawowy tutorial serwowania
  • Zaawansowany tutorial serwowania
  • Tutorial serwowania modelu Inception

Wymagania

Tło w fizyce, matematyce i programowaniu. Zaangażowanie w działania związane z przetwarzaniem obrazów.

Uczestnicy powinni posiadać wcześniejszą wiedzę na temat koncepcji uczenia maszynowego oraz powinni mieć doświadczenie w programowaniu w Pythonie i korzystaniu z bibliotek.

 35 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (4)

Propozycje terminów

Powiązane Kategorie