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
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.).
Wykład
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, …
-
Perceptron Rosenblatta
Reguły uczenia: reguła perceptronowa, Widrowa-Hoffa, reguła delta
Algorytm uczenia perceptronu, algorytm kieszonkowy, algortym kieszonkowy z zapadką
Klasyfikacja binarna wzorców za pomocą perceptronu, separacja liniowa, problem XOR
Funkcje aktywacji: binarna, liniowa, sigmoidalna, tanh, ReLU
Sieć wieżowa, sieć piramidalna
Uczenie metodą największego spadku gradientu
Klasyfikacja wieloklasowa, Adeline, maszyna liniowa
Do poczytania:
-
budowa i działanie sieci wielowarstwowej
algorytm wstecznej propagacji błędu, uogólniona reguła delta
własności wielowarstwowych perceptronów
funkcje kosztu MSE i Cross Entropy
softmax w wyjściu sieci
dobór architektury i funkcji kosztu do typowych zadań
Dodatkowe materiały:
-
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
Sieci rozrastające się: korelacja kaskadowa
Regularyzacja poprzez modyfikację danych treningowych
Dodatkowe materiały:
-
relacje lokalne vs. nie-lokalne
Radialne funkcje bazowe
Teoria RBF, aproksymacja i klasyfikacja RBF
Reularyzacja RBF
Inicjalizacja i adaptacja centrów i rozmyć funkcji radialnych
Rozrastające się sieci RBF
Dodatkowe materiały:
-
Uczenie konkurencyjne, WTA, reguła Kohonenea
Kwantowanie wektorowe
Samoorganizujące się odwzorowanie topologiczne Kohonena
Gaz Neuronowy
Growing Cell Structures, Growong Neural Gas
Przykłady zastosowań i wizualizacji
Samoorganizacja i mapy ekwiprobabilistyczne
Mapy samoorgnizujące SOM
Dodatkowe materiały:
-
-
Sieci ze sprzężeniami zwrotnymi
Model Hopfielda
Zastosowania w modelowaniu pamięci autoasocjacyjnej i optymalizacji
Pamięć heteroasocjacyjna: sieć Hamminga, BAM
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:
-
splot 1D, 2D, 3D, mapy cech, pola recepcyjne
warstwa pooling, max pooling, avg pooling
porównanie z sieciami MLP
sygnały wejściowe sieci konsolacyjnych: audio, obrazy, video - jedno/wielo-kanałowe
Architektury : LeNet-5, AlexNet, GoogleNet/Inception, VGG Net, ResNet
Batch Normalization, Dropout, połączenia skrótowe, zwielokrotnianie danych weksciowych, splot filtrem 1×1
Do poczytania:
-
Modelowanie sekwencji za pomocą sieci jednokierunkowych, MLP + dane z kontekstem, TDNN
Algorytm wstecznej propagacji w czasie (BPTT)
Rodzaje architektur: generowanie sekwencji, przekształcanie sekwencji, klasyfikacja sekwencji, ..
Modele encoder-decoder (seq2seq)
Sieci RNN jednokierunkowe/dwukierunkowe
Jednostki Long-Short Term Memory (LSTM), Gate Recurrent Unit (GRU)
Funkcja kosztu CTC
Zastosowania:
Do poczytania:
-
autoenkodery i kodowanie sygnału
kompresja sygnału, feature extraction
Denoising Autoencoders
stacked autoencoders
autoenkodery konwolucyjne, rekurencyjne
Deep Belief Networks (DBNs), sieci składające się z warstw Restricted Boltzmann Machines (RMBs)
greedy pryer-wise e-training
sieci GAN
Do poczytania:
Literatura i kilka przydatnych odnośników
„Klasyczne” sieci neuronowe
J. Żurada, M. Barski, W., Jędruch Sztuczne sieci neuronowe, Wydawnictwo Naukowe PWN 1996
Osowski S.: Sieci neuronowe w ujęciu algorytmicznym, Wydawnictwo Naukowo-Techniczne, Warszawa 1996
Tadeusiewicz R.: Sieci neuronowe, Akademicka Oficyna Wydawnicza RM, Warszawa 1993
-
-
-
Deep Learning
Deep Learning, I. Goodfwllow, Y. Bengio, A. Courville,
Deep Learning, MIT Press, 2016
-
-
-
-
Frameworki DL
-
-
-
Keras - high-level neural networks
API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano.
-
Lasagne - Lightweight library to build and train neural networks in Theano
-
-
Torch (Facebook AI)
PyThotch zawiera m. in .Coffe 2 (Facebook AI)
-
-