Sztuczne Sieci Neuronowe
W semestrze letnim 2024/25 wykład odbywa w poniedziałki o godz. 9:30-11:00 w sali B.1.03 (PK6).
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
- Do poczytania:
- Professor’s perceptron paved the way for AI – 60 years too soon by Melanie Lefkowitz
- Neural Networks Part 1: Setting up the Architecture, Linear Classification - Andrej Karpathy notes
- What is the difference between a Perceptron, Adaline, and neural network model? Machine Learning FAQ
- Using neural nets to recognize handwritten digits - Michael Nielsen, Neural Networks and Deep Learning
-
- 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:
- The Softmax function and its derivative Eli Bendersky's website
-
- 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:
- 5 algorithms to train a neural network by Alberto Quesada, Artelnics.
-
- 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
- Dodatkowe materiały:
- Tensorflow Playground demo MLP z regularyzacją L1 i L2
-
- 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:
- Radial Basis Function Network (RBFN) Tutorial by Chris McCormick
- RBFN Tutorial Part II - Function Approximation by Chris McCormick
-
- Uczenie konkurencyjne, WTA, reguła Kohonenea
- Kwantowanie wektorowe
- Samoorganizujące się odwzorowanie topologiczne Kohonena
- Gaz Neuronowy
- Growing Cell Structures, Growing Neural Gas
- Przykłady zastosowań i wizualizacji
- Samoorganizacja i mapy ekwiprobabilistyczne
- Mapy samoorgnizujące SOM
- Dodatkowe materiały:
- Some Competitive Learning Methods by Bernd Fritzke
- DemoGNG.js by Dr. Bernd Fritzke
- Self-organizing Maps Kevin Pang
- Image Compression with Vector Quantization by Ivan-Assen Ivanov
-
- reguła Hebba
- reguła Oji
- PCA
- Uogólniony algorytm hebbowski
- Uczenie anty-hebbowskie
- APEX
- Dodatkowe materiały:
- Hebb's Learning - Ruye Wang
- Neural Network Implementations for PCA and Its Extensions - by Qiu, Wang, Lu, Zhang and Du
- Multidimensional scaling and Kohonen's self-organizing maps by Duch and Naud (1996)
-
- Sieci ze sprzężeniami zwrotnymi
- Model Hopfielda
- Zastosowania w modelowaniu pamięci autoasocjacyjnej i optymalizacji
- Pamięć heteroasocjacyjna: sieć Hamminga, BAM
- Dodatkowe materiały:
- The Hopfield Model - by Raul Rojas (rozdział 13 książki Neural Networks - A Systematic Introduction)
- Associations and memory, Hopfield Model - Wulfram Gerstner, Werner M. Kistler, Richard Naud and Liam Paninski (rozdziały z książki Neuronal Dynamics)
- Hopfield Networks is All You Need by Johannes Brandstetter
-
- 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:
- What is Deep Learning? by Jason Brownlee
- ConvNetJS Trainer demo on MNIST porównanie alg. uczenia na MNIST
- An overview of gradient descent optimization algorithms by Sebastian Ruder
-
- 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:
- An Introduction to different Types of Convolutions in Deep Learning by Paul-Louis Pröve
- CNN Architectures: LeNet, AlexNet, VGG, GoogLeNet, ResNet and more by Siddharth Das
- An Interactive Node-Link Visualization of Convolutional Neural Networks by Adam W. Harley.
-
- 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:
- Modelowanie języka: CharRNN
- Rozpoznawanie mowy: DeepSpeach 2
- Do poczytania:
- The Unreasonable Effectiveness of Recurrent Neural Networks, Andrej Karpathy blog
- Understanding LSTM Networks - colah's blog
- An LSTM Odyssey by Jim Fleming
-
- 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:
- Unsupervised learning using restricted Boltzmann machines by Kyo Jin Kwon
- Generative Adversarial Networks — A Deep Learning Architecture by Gautam Ramachandra
- Variational Autoencoders Explained VAE in Detail from Another Datum
- Intuitively Understanding Variational Autoencoders by Irhum Shafkat
- Generative Adversarial Networks- History and Overview by Kiran Sudhir
-
- Modelowanie sekwencji za pomocą transformatorów
- Architektura modelu, mechanizm uwagi, warstwy kodera i dekodera
- Uczenie modelu, mechanizm uwagi, self-attention
- Zastosowania: tłumaczenie maszynowe, generowanie tekstu, …
- LLM, BERT, GPT
- ViT - Vision Transformer
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
- Sztuczne Sieci Neuronowe - wykład prof. W. Duch
- Wstęp do Sieci Neuronowych - wykład Jarosław Piersa,
- Raul Rojas, Neural Networks - A Systematic Introduction, 1996
Deep Learning
- Deep Learning, I. Goodfwllow, Y. Bengio, A. Courville, Deep Learning, MIT Press, 2016
- M. Nielsen, Neural Networks and Deep Learning
- Neural Network Tutorials by Geoffrey E. Hinton
- Dive into Deep Learning by A. Zhang, Zack C. Lipton, Mu Li, Alex J. Smola, on GitHub
- Neurocomputing - lectures by Julien Vitay (youtube, slides and notes)
- Artificial Neural Networks Series on Rubik's Code
- AI Experiments with Google
Frameworki DL
- Deep Learning Frameworks https://developer.nvidia.com/deep-learning-frameworks
- TensorFlow (Google)
- 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
- deeplearning4j - Deep Learning for Java