Spis treści

Sztuczne Sieci Neuronowe 2019

W semestrze letnim 2018/2019 wykład odbywa się w każdy wtorek g. 12-14 w sali PK COK.

Zaliczenie wykładu

Zaliczenie odbędzie się na podstawie egzaminu pisemnego oraz dwóch projektów zaliczeniowych.
Wynik egzaminu to 50% oceny końcowej, każdy z projektów to 25% do oceny.
Projekt składa się z aplikacji oraz raportu zawierającego opis metody i implementacji,
opis działania i przykładowe wyniki oraz ich interpretację. Pierwszy projekt to samodzielna implementacja od podstaw wybranej sieci neuronowej.
Drugi projekt będzie zastosowaniem jakiegoś gotowego oprogramowania do głębokiego uczenia do bardziej ambitnych zadań.

Wykład

Sztuczne sieci neuronowe - slajdy ze wszystkich wykładów w jednym pliku (plik aktualizowany w mairę postępu wykładu)

    • CI, AI, ML, NN, DL - definicje, uporządkowanie pojęć
    • rys historyczny;
    • rodzaje uczenia: uczenie nadzorowane, nienadzorowane i uczenie z krytykiem
    • ogólnie o procesie uczenia sieci: architektura + funkcja kosztu + alg. uczenia + ocena jakości sieci
    • ogólne własności modeli neuronowych
    • Biologiczny model neuronu i inspiracje biologiczne
    • Model neuronu McCulloch-Pitts'a
    • Rodzaje sieci: jednokierunkowe, rekurencyjne, dynamiczne, konwolucyjne, …
    • powierzchnie błędu, minima lokalne i globalne
    • dobór współczynnika uczenia, uczenie z momentem, wielokrotny start
    • inicjaliacja wag sieci, przygotowanie danych treningowych
    • algorytmy optymalizacji: Quickprop, RPROP, metoda Newtona, algorytm Levenberg-Marquardta, gradientów sprzężonych
    • Dodatkowe materiały:
    • Generalizacja, ewaluacja treningu, przeuczenie i niedouczenie modelu
    • Zbiór walidacyjny i metoda wczesnego zatrzymania
    • Dobór liczby neuronów sieci
    • Regularyzacja L2, L1
    • Upraszczanie sieci (pruning), metody wrażliwościowe redukcji, Optimal Brain Damage
    • Architektury rozrastające się
      • Korelacja kaskadowa
      • Algorytm piramidowy i wieżeowy
      • Ogóelna metoda sekwencyjna, algorytm nieregularnego podziału, algorytm zamiany etykiet
    • Regularyzacja poprzez modyfikację danych treningowych
    • Kiedy model jest głęboki?
    • Głębokie vs. „płytkie” modele, dlaczego głębokość ma znaczenie?
    • Modele hierarchiczne i uczenie się reprezentacji wiedzy
    • Przykładowe zastosowania: MNIST, CIFAR, ASR, …
    • Modele end-to-end
    • Problemy uczenia głębokich sieci: niestabilny gradient, przeuczenie, koszt pamięci (ilość parametrów uczenia), koszt czasu treningu (duże dane)
    • Głębokie sieci jednokierunkowe (DNN)
    • Sieci z jednostkami ReLU, modyfikacje ReLU (PReLU, ELU, ReLU6), Maxout - przykłady zastosowań
    • Algorytm uczenia SGD z momentem Nesterova, AdaGrad, RMSProp, Adam, AdaDelta
    • Do poczytania:

Literatura i kilka przydatnych odnośników

„Klasyczne” sieci neuronowe

Deep Learning

Frameworki DL