Wrocław University of Technology. Uczenie głębokie. Maciej Zięba

Podobne dokumenty
Wprowadzenie do sieci neuronowych i zagadnień deep learning

Rozpoznawanie obrazów

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Elementy inteligencji obliczeniowej

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Metody systemowe i decyzyjne w informatyce

SPOTKANIE 4: Klasyfikacja: Regresja logistyczna

Deep Learning na przykładzie Deep Belief Networks

Optymalizacja systemów

Rozpoznawanie obrazów

AUTO-ENKODER JAKO SKŠADNIK ARCHITEKTURY DEEP LEARNING

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Metody systemowe i decyzyjne w informatyce

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

WYKŁAD 2. Problem regresji - modele liniowe

WYKŁAD 3. Klasyfikacja: modele probabilistyczne

WYKŁAD 4. Podejmowanie decyzji dla modeli probabilistycznych Modelowanie Gaussowskie. autor: Maciej Zięba. Politechnika Wrocławska

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Metody systemowe i decyzyjne w informatyce

Podstawy Sztucznej Inteligencji (PSZT)

Sieć przesyłająca żetony CP (counter propagation)

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Uczenie sieci neuronowych i bayesowskich

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

SPOTKANIE 2: Wprowadzenie cz. I

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Rozpoznawanie obrazów

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

STRATEGIA DOBORU PARAMETRÓW SIECI NEURONOWEJ W ROZPOZNAWANIU PISMA

SPOTKANIE 3: Regresja: Regresja liniowa

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

METODY INŻYNIERII WIEDZY

TEORETYCZNE PODSTAWY INFORMATYKI

Metody klasyfikacji danych - część 2 p.1/55

Metody systemowe i decyzyjne w informatyce

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Machine learning Lecture 6

Klasyfikacja z milionami etykiet

Uczenie sieci typu MLP

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

SID Wykład 8 Sieci neuronowe

Technologie cyfrowe semestr letni 2018/2019

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

SPOTKANIE 11: Reinforcement learning

Wprowadzenie do uczenia maszynowego

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

Wrocław University of Technology. Wprowadzenie cz. I. Adam Gonczarek. Rozpoznawanie Obrazów, Lato 2015/2016

dr Igor T. Podolak 19 grudnia 2013, 9 i 16 stycznia 2014

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

Wstęp do sieci neuronowych, wykład 01 Neuron biologiczny. Model perceptronu prostego.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Politechnika Warszawska

Wprowadzenie do uczenia maszynowego. Wstęp. (c) Marcin Sydow

Komitety sieci konwolucyjnych w zagadnieniu klasyfikacji przy jednoczesnym zaszumieniu danych wejściowych oraz etykiet klas. Stanisław Kaźmierczak

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Praca dyplomowa magisterska

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

UCZENIE WIELOWARSTWOWYCH SZEROKICH SIECI NEURONOWYCH Z FUNKCJAMI AKTYWACJI TYPU RELU W ZADANIACH KLASYFIKACJI

Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej. Adam Żychowski

6. Perceptron Rosenblatta

Wprowadzenie do Sieci Neuronowych Laboratorium 06 Algorytm wstecznej propagacji błędu

Metody systemowe i decyzyjne w informatyce

Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe

Prof. Stanisław Jankowski

Metody Sztucznej Inteligencji II

MATLAB Neural Network Toolbox przegląd

Definicja perceptronu wielowarstwowego

Zastosowania sieci neuronowych

Ewolucja sieci Sztuczna inteligencja i uczenie maszynowe

SYSTEM WSPOMAGAJĄCY ROZPOZNAWANIE ZNAKÓW JĘZYKA MIGOWEGO OPARTY NA SZTUCZNEJ SIECI NEURONOWEJ

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

1. Logika, funkcje logiczne, preceptron.

Pattern Classification

tum.de/fall2018/ in2357

Algorytmy wstecznej propagacji sieci neuronowych

Uczenie ze wzmocnieniem aplikacje

Sieci neuronowe i ich ciekawe zastosowania. Autor: Wojciech Jamrozy III rok SMP / Informatyka

Projekt Sieci neuronowe

Wprowadzenie do uczenia maszynowego. Jakub Tomczak

Sztuczne sieci neuronowe (SNN)

Rozpoznawanie obrazów

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Jądrowe klasyfikatory liniowe

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Podstawy sztucznej inteligencji

Systemy agentowe. Uczenie ze wzmocnieniem. Jędrzej Potoniec

Optymalizacja ciągła

8. Neuron z ciągłą funkcją aktywacji.

A Zadanie

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Bayesian graph convolutional neural networks

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Transkrypt:

Wrocław University of Technology Uczenie głębokie Maciej Zięba

UCZENIE GŁĘBOKIE (ang. deep learning) = klasa metod uczenia maszynowego, gdzie model ma strukturę hierarchiczną złożoną z wielu nieliniowych warstw 2/28

3/28

3/28

3/28

Wpływ uczenia głębokiego 4/28

Obszary zastosowań Widzenie komputerowe Wyszukiwanie informacji Rozpoznawanie mowy Analiza języka naturalnego Systemy rekomendacji Projektowanie leków 5/28

Trzy filary uczenia głębokiego 6/28

Trzy filary uczenia głębokiego 6/28

Trzy filary uczenia głębokiego 6/28

Przypomnienie: Regresja logistyczna Model binarnej regresji logistycznej (ang. logistic regression): p(y = 1 x, w) = σ(w T φ(x)). Funkcja sigmoidalna (ang. sigmoid function): σ(a) = 1 1 + exp( a) Parametry modelu: w R M. 7/28

Przypomnienie: Regresja logistyczna Model wieloklasowej regresji logistycznej (ang. logistic regression): p(y x, W) = softmax(wφ(x)). Funkcja softmax (ang. softmax function): softmax(a) i = exp(a i) j exp(a j ) Parametry modelu: W R K M. 7/28

Model Multilayer Perceptron 8/28

Model Multilayer Perceptron 8/28

Model Multilayer Perceptron h 1 = σ(w 1 x + b 1 ) 8/28

Model Multilayer Perceptron h 2 = σ(w 2 h 1 + b 2 ) 8/28

Model Multilayer Perceptron y = softmax(w 3 h 2 + b 3 ) 8/28

Model Multilayer Perceptron h 2 traktujemy jako cechy wyekstrahowane z x 8/28

Model Multilayer Perceptron Predyktor to np. wieloklasowa regresja logistyczna 8/28

Model Multilayer Perceptron 8/28

Typowe funkcje aktywacji neuronów Funkcja sigmoidalna: σ(a) = Wartości: σ(a) (0, 1) 1 1 + exp( a) Pochodna: σ(a) = σ(a)(1 σ(a)) Tangens hiperboliczny: tgh(a) = exp(a) exp( a) exp(a) + exp( a) Wartości: tgh(a) ( 1, 1) Pochodna: tgh(a) = 1 tgh 2 (a) 9/28

Automatyczna ekstrakcja cech Cechy na kolejnych warstwach reprezentują coraz wyższy poziom abstrakcji: krawędzie, części obiektu, grupy części. Lee et al. Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations. ICML 2009 10/28

Automatyczna ekstrakcja cech Cechy na kolejnych warstwach reprezentują coraz wyższy poziom abstrakcji: krawędzie, części obiektu, grupy części. Pożądane własności cech: Informacyjne (np. dyskryminujące) Odporne (ang. robust) Niezmiennicze (ang. invariant) Lee et al. Convolutional Deep Belief Networks for Scalable Unsupervised Learning of Hierarchical Representations. ICML 2009 10/28

Czy głębokość ma znaczenie? Twierdzenie o uniwersalnej aproksymacji Niech D R N ; Niech f : R N R będzie ciągła i skończona na D. Dodatkowo niech y(x) = i g(w T i x), gdzie g jest ciągła, ograniczona i monotoniczna. Wówczas dla każdego ε > 0 istnieje taki zbiór {w i }, że dla każdego x R N zachodzi: y(x) f(x) < ε Wystarczy zatem tylko jedna warstwa jednostek ukrytych, aby z dowolną precyzją aproksymować każdą funkcję ciągłą. Ale... 11/28

Czy głębokość ma znaczenie? W praktyce modele hierarchiczne potrzebują dużo mniej jednostek ukrytych (a zatem dużo mniej parametrów) do uzyskania wysokiej jakości aproksymacji. 12/28

Czy głębokość ma znaczenie? W praktyce modele hierarchiczne potrzebują dużo mniej jednostek ukrytych (a zatem dużo mniej parametrów) do uzyskania wysokiej jakości aproksymacji. Przykładem może być problem parzystości ciągu bitów. Model płaski potrzebuje 2 N jednostek ukrytych, model głęboki N(N 1)/2. 12/28

Uczenie sieci neuronowej Niech p(y k = 1 x, θ) k-te oznacza wyjście z sieci, gdzie θ = {W 1, b 1, W 2,...}. Wtedy warunkowa wiarygodność to: N K p(y X, θ) = p(y k = 1 x n, θ) y nk n=1 k=1 Biorąc ujemny logarytmy i dzieląc przez N dostajemy kryterium uczenia zwane entropią krzyżową (ang. cross-entropy): L(θ) = 1 N K y nk log p(y k = 1 x n, θ) N n=1 k=1 Uczyć możemy z użyciem stochastycznego gradientu prostego. Potrzebny gradient po wszystkich parametrach metoda propagacji wstecznej (ang. backpropagation). 13/28

Uczenie i propagacja wsteczna 14/28

Uczenie i propagacja wsteczna Np. entropia krzyżowa L(y, t) = k t k log y k 14/28

Uczenie i propagacja wsteczna w ij 3 w ij 3 η L y i y i w ij 3 14/28

Uczenie i propagacja wsteczna w ij 2 w ij 2 η L h i 2 h i 2 w ij 2 14/28

Uczenie i propagacja wsteczna w ij 2 w ij 2 η k L y k h i 2 y k h i 2 w ij 2 14/28

Uczenie i propagacja wsteczna w ij 1 w ij 1 η L h i 1 h i 1 w ij 1 14/28

Uczenie i propagacja wsteczna w ij 1 w ij 1 η l k L y k h l 2 h i 1 y k h l 2 h i 1 w ij 1 14/28

Problem zanikającego gradientu Dla typowych funkcji aktywacji σ(x) i tgh(x) wartości pochodnych są zawsze w [0, 1]. 15/28

Problem zanikającego gradientu Dla typowych funkcji aktywacji σ(x) i tgh(x) wartości pochodnych są zawsze w [0, 1]. W konsekwencji wyrażenia typu:... hi t+1 h j t często będą bliskie zeru. h j t h k t 1 h k t 1... h l t 2 15/28

Problem zanikającego gradientu Dla typowych funkcji aktywacji σ(x) i tgh(x) wartości pochodnych są zawsze w [0, 1]. W konsekwencji wyrażenia typu:... hi t+1 h j t często będą bliskie zeru. h j t h k t 1 h k t 1... h l t 2 Jest to zjawisko zanikającego gradientu (ang. vanishing gradient) i powoduje problem z wyuczeniem cech na niższych warstwach. 15/28

Problem zanikającego gradientu Dla typowych funkcji aktywacji σ(x) i tgh(x) wartości pochodnych są zawsze w [0, 1]. W konsekwencji wyrażenia typu:... hi t+1 h j t często będą bliskie zeru. h j t h k t 1 h k t 1... h l t 2 Jest to zjawisko zanikającego gradientu (ang. vanishing gradient) i powoduje problem z wyuczeniem cech na niższych warstwach. Był to jeden z głównych powodów spowolnienia rozwoju sieci neuronowych w latach 90. 15/28

Pre-training i fine-tuning Problem zanikającego gradientu można rozwiązać stosując tzw. pre-training, czyli uczenie wstępne. Hinton, Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks. Science 2006 16/28

Pre-training i fine-tuning Problem zanikającego gradientu można rozwiązać stosując tzw. pre-training, czyli uczenie wstępne. Polega to na nauczeniu warstwa po warstwie modelu nienadzorowanego złożonego z warstw sieci, np. głębokiego autokodera. Hinton, Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks. Science 2006 16/28

Pre-training i fine-tuning Problem zanikającego gradientu można rozwiązać stosując tzw. pre-training, czyli uczenie wstępne. Polega to na nauczeniu warstwa po warstwie modelu nienadzorowanego złożonego z warstw sieci, np. głębokiego autokodera. Wyczuone parametry traktujemy jako punkt startowy dla algorytmu backpropagation. Jest to tzw. fine-tuning. Hinton, Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks. Science 2006 16/28

Jednostki ReLU Jednostki ReLU (ang. Rectified Linear Unit) są to funkcje aktywacji o postaci: f(x) = max(0, x) Nair, Hinton. Rectified Linear Units Improve Restricted Boltzmann Machines. ICML 2010 17/28

Jednostki ReLU Jednostki ReLU (ang. Rectified Linear Unit) są to funkcje aktywacji o postaci: Dzięki nim: f(x) = max(0, x) Nie ma zanikającego gradientu i nie potrzeba uczenia wstępnego Uczymy się bardziej odpornych cech dzięki rzadkiej (ang. sparse) aktywacji jednostek Uczenie trwa dużo szybciej Nair, Hinton. Rectified Linear Units Improve Restricted Boltzmann Machines. ICML 2010 17/28

Dropout Dropout jest szczególną techniką regularyzacji. Srivastava et al. Dropout: A simple way to prevent neural networks from overfitting. JMLR 2014 18/28

Dropout Dropout jest szczególną techniką regularyzacji. Z prawdopodobieństwem p wybieramy poszczególne jednostki podczas jednego kroku algorytmu uczącego (np. SGD) Srivastava et al. Dropout: A simple way to prevent neural networks from overfitting. JMLR 2014 18/28

Dropout Dropout jest szczególną techniką regularyzacji. Z prawdopodobieństwem p wybieramy poszczególne jednostki podczas jednego kroku algorytmu uczącego (np. SGD) Wyuczone cechy są bardziej odporne na niewielkie perturbacje w danych, dzięki czemu uzyskujemy wyższą jakość końcowego klasyfikatora. Srivastava et al. Dropout: A simple way to prevent neural networks from overfitting. JMLR 2014 18/28

Sieci konwolucyjne CNN (ang. convolutional nets) Liczba parametrów w warstwie: l. kanałów szerokość filtra wysokość filtra l. filtrów Liczba jednostek ukrytych w warstwie: szerokość obrazu wysokość obrazu l. filtrów Sieci uczą się cech niezmienniczych na translacje. LeCun et al. Gradient-Based Learning Applied to Document Recognition. Proc. of IEEE 1998 19/28

Warstwa konwolucyjna Filtry są nakładane na zasadzie okna przesuwnego. Idea współdzielenia parametrów (ang. parameter sharing). Warstwy konwolucyjne ekstrahują cechy z lokalnych fragmentów. Używa się standardowych funkcji aktywacji: ReLU, sigmoida, tanh. Images from S. Lazebnik presentation 20/28

Pooling Pooling służy do lokalnego skompresowania informacji. Zmniejsza liczbę parametrów, uodparnia sieć na drobne lokalne zaburzenia na obrazie i zbiera informację z szerszego obszaru. Używa się funkcji max albo sum na lokalnym fragmencie. Images from S. Lazebnik presentation 21/28

Normalizacja map cech Normalizacja może być wewnątrz pojedynczej mapy cech z lokalnego otoczenia dla każdego piksela albo poprzez przekrój kilku map cech dla każdego piksela osobno. Normalizacja ma na celu wyrównanie znaczenia aktywacji o różnej sile. Images from S. Lazebnik presentation 22/28

Sieć ImageNet Model, który zwyciężył w konkursie ImageNet w 2012. 5 warstw konwolucyjnych + 2 warstwy pełne Jednostki ReLU i Dropout w najwyższej warstwie 60 milionów parametrów. 1.2 mln obrazów treningowych. Klasyfikacja do 1000 klas. Uczenie na dwóch GPU przez tydzień. Błąd 16.4%, drugie miejsce 26.2%. Krizhevsky et al. ImageNet Classification with Deep Convolutional Neural Networks. NIPS 2012 23/28

Sieć ImageNet filtry konwolucyjne Filtry wyuczone na pierwszej warstwie konwolucyjnej 24/28

Sieć ImageNet filtry konwolucyjne Zeiler, Fergus. Visualizing and Understanding Convolutional Networks. ECCV 2014 25/28

Sieć ImageNet filtry konwolucyjne 26/28

Sieć ImageNet filtry konwolucyjne 27/28

Sieć ImageNet wyniki 28/28