Sztuczne Sieci Neuronowe

W semestrze letnim 2021/22 wykład odbywa w poniedziałki o godz. 11:30-13:00 w sali PK6.
W razie przejścia na zdalne nauczanie wykład odbędzie się za pośrednictwem platformy Moodle.
Adres kursu w Moodle: https://moodle.umk.pl/WFAIIS/course/view.php?id=41

Zaliczenie wykładu się na podstawie egzaminu 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 zastosowanej metody , opis aplikacji (funkcjonalności, wymagania dotyczące instalacji i uruchamiania aplikacji), opis symulacji i rezultatów działania aplikacji z przykładami.
Pierwszy projekt to samodzielna implementacja od podstaw wybranej sieci neuronowej, np. demonstracja działania wybranego algorytmu z wykładu (np. MLP, SOM).
Drugi projekt wymaga użycia oprogramowania lub frameworku umożliwiającego trening głębokich sieci neuronowych (np. TensorFlow, Keras) do realizacji bardziej ambitnego zadania (np. rozpoznawanie twarzy, generowanie muzyki, detekcja obiektów na obrazach, itp.).

Sztuczne sieci neuronowe - slajdy ze wszystkich wykładów w jednym pliku.
Uwaga: plik jest aktualizowany w miarę 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, …
    • 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
    • Sieci rozrastające się: korelacja kaskadowa
    • Regularyzacja poprzez modyfikację danych treningowych
    • Dodatkowe materiały:
    • 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:

„Klasyczne” sieci neuronowe

Deep Learning