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



Podobne dokumenty
Deep Learning na przykładzie Deep Belief Networks

AUTO-ENKODER JAKO SKŠADNIK ARCHITEKTURY DEEP LEARNING

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Podstawy Sztucznej Inteligencji (PSZT)

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

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

Optymalizacja ciągła

Uczenie sieci neuronowych i bayesowskich

Uczenie sieci radialnych (RBF)

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

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

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

Elementy inteligencji obliczeniowej

Zastosowania sieci neuronowych

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Metody Sztucznej Inteligencji II

Uczenie sieci typu MLP

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

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Wprowadzenie do sieci neuronowych i zagadnień deep learning

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

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

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

TEORETYCZNE PODSTAWY INFORMATYKI

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

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

Optymalizacja systemów

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

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.

Aby mówić o procesie decyzyjnym Markowa musimy zdefiniować następujący zestaw (krotkę): gdzie:

Podstawy sztucznej inteligencji

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

SZTUCZNA INTELIGENCJA

Co to jest grupowanie

Widzenie komputerowe

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

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

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

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

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

TEORETYCZNE PODSTAWY INFORMATYKI

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Projekt Sieci neuronowe

Inteligentne systemy przeciw atakom sieciowym

Systemy uczące się wykład 2

Spacery losowe generowanie realizacji procesu losowego

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Pattern Classification

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Elementy kognitywistyki III: Modele i architektury poznawcze

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Rozpoznawanie obrazów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

I EKSPLORACJA DANYCH

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Klasyfikacja z milionami etykiet

Metody numeryczne I Równania nieliniowe

Wprowadzenie do uczenia maszynowego

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

SIECI RBF (RADIAL BASIS FUNCTIONS)

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

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

MATLAB Neural Network Toolbox przegląd

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

STRATEGIA DOBORU PARAMETRÓW SIECI NEURONOWEJ W ROZPOZNAWANIU PISMA

Uczenie ze wzmocnieniem

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Pojęcie szeregu nieskończonego:zastosowania do rachunku prawdopodobieństwa wykład 1

SPOTKANIE 9: Metody redukcji wymiarów

Sztuczne Sieci Neuronowe

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Algorytmy MCMC (Markowowskie Monte Carlo) dla skokowych procesów Markowa

Testowanie hipotez statystycznych

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

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

Wprowadzenie do teorii ekonometrii. Wykład 1 Warunkowa wartość oczekiwana i odwzorowanie liniowe

wiedzy Sieci neuronowe (c.d.)

LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów

Prawdopodobieństwo i statystyka

Prof. Stanisław Jankowski

CLUSTERING. Metody grupowania danych

Sztuczne sieci neuronowe (SNN)

KADD Minimalizacja funkcji

Kwantyzacja wektorowa. Kodowanie różnicowe.

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Adrian Horzyk

Transkrypt:

dr Igor T Podolak 19 grudnia 2013, 9 i 16 stycznia 2014 1 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 1/47 47

Potrzeba głębokich architektur podstawowe problemy 1 w problemach klasyfikacji potrzebujemy lepszych reprezentacji 2 jak przejść od poziomu pikseli do poziomu bardziej ogólnych pojęć? 3 cechy wyższego poziomu są zwykle bardzo złożone do opisania 4 głębokie architektury odpowiadają składaniu cech poziomu niższego mózgi ssaków mają pięć do dziesięciu poziomów przetwarzania 5 dodatkowym problemem jest znaczna zmienność funkcji 2 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 2/47 47

Złożoność funkcji a ich uczenie jak głębokiej architektury wymagają funkcje do reprezentacji? funkcja może być reprezentowana w sposób zwarty przez układ o głębokości n jeśli wymaga to wykładniczo wiele elementów obliczeniowych by reprezentować ją układem o głębokości n 1 dla zbioru neuronów jako elementów obliczeniowych, głębokości układu odpowiada liczba warstw liczba elementów obliczeniowych zależy też od liczby przykładów słaba generalizacja jeśli użyjemy zbyt płytkich architektur x * + * f(x,y) y 3 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 3/47 47

Głębokość architektury alternatywa: płytkie czy głębokie 1 przedstawienie funkcji przez układ o niewystarczającej głębokości będzie wymagać wykładniczo wiele elementów obliczeniowych (neuronów) na przykład problem obliczania parzystości 2 może później? PCA pozwala na tworzenie rozproszonych reprezentacji jednak nie pozwoli na utworzenie głębokiej struktury 3 drzewa decyzyjne też właściwie mają dwa poziomy pierwszym jest znalezienie obszaru drugim aproksymacja wewnątrz tego obszaru lasy drzew dodają jeden poziom 4 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 4/47 47

Płytkie architektury typy podejść suma ważona suma ważona suma ważona ustalone funkcje bazowe wzorce proste adaptowalne funkcje bazowe 1 szereg funkcji wykrywających konkretne wzorce nie znamy wszystkich możliwych cech, to nie jest rozsądne rozwiązanie 2 odpowiada architekturze z kernelami f(x) = b + α i K(x, x i ) daje zwartą reprezentację lokalne kernele są niewiele lepsze od predefiniowanych cech kernele globalne źle ekstrapolują lokalne kernele wykorzystują założenie o gładkości, co jednak wymaga definicji odległości gładkość jest niewystarczająca jeśli funkcja ma dużą zmienność 3 podstawowe funkcje uczone w sposób nadzorowany warstwowe sieci neuronowe, sieci RBF, boosting, adaptowalne kernele 5 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 5/47 47

Zmienność funkcji funkcja jest wysoce zmienna gdy aproksymacja jej kawałkami będzie wymagać bardzo wielu elementów obliczeniowych lokalny estymator będzie osiągał dobrą dokładność dla x przy wykorzystaniu punktów w jego okolicach związane z przekleństwem wymiarowości jednak dla dobrej generalizacji ważniejsza jest liczba wariantów funkcji, której chcemy się nauczyć nauczanie jest niepraktyczne dla lokalnych kerneli należy szukać zwartych reprezentacji, które pozwolą na lepszą generalizację 6 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 6/47 47

Rozproszone reprezentacje pojecie rzadkości (sparsity) reprezentacje rzadkie (sparse) mieszczą się gdzieś pośrodku między one out of n i typu log 2 w ludzkim mózgu aktywowanych jest jednocześnie 1 4% neuronów algorytmy klastrujące zwykle budują klastry wykluczające się budowanie rozproszonych reprezentacji można nazwać multi-klastrowaniem PCA też buduje rozproszoną reprezentację wykorzystamy nienadzorowane nauczanie do budowy rozproszonych reprezentacji wykorzystanie maszyny Boltzmanna szereg związanych reprezentacji 7 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 7/47 47

Głębokie architektury organizacja warstw h k = tanh(b k + W k h k 1 ) (1) najwyższa warstwa uczona z wykorzystaniem algorytmu nadzorowanego softmax albo na przykład L(h l, y) = log P(Y = y x) = log h l y metody spadku źle sobie radzą przy wielowarstwowych architekturach 1 często utykają w pozornych minimach lub plateau 2 im głębsza architektura, tym trudniej to wykryć 3 gradient niesie coraz mniej informacji gdy jest propagowany przez wiele warstw 4 wyniki dla gradientowo uczonych głębokich architektur są często słabsze niż dla płytkich h 4 h 3 h 2 h 1 x 8 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 8/47 47

Głębokie architektury problemy uczenia prawdopodobnie problem wynika ze złej inicjalizacji wag przy bardzo dużej liczbie połączeń mamy dużą liczbę płaskich minimów lepsze wyniki można osiągnąć przez wstępny preprocessing w trybie nienadzorowanym wyjście jednego modelu staje się wejściem dla kolejnego ograniczona maszyna Boltzmanna enkoder dekoder końcowy model może być dostrajamy w trybie nadzorowanym h 4 h 3 h 2 h 1 x 9 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 9/47 47

Głębokie architektury optymalizacja czy generalizacja? dla tego samego błędu nauczania nienadzorowane przed-nauczanie poprawia błąd generalizacji [Erhan et al 2009] nienadzorowany preprocessing jest formą regularyzacji czy założonego prior na parametrach ewidentnie lepsza generalizacja niż prosta optymalizacja szczególnie wydatne dla małych zbiorów uczących h 4 h 3 h 2 h 1 x 10 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 10/47 47

Głębokie architektury optymalizacja czy generalizacja? słabe niskie warstwy powodują słabe wyniki także bez preprocessingu głębokie sieci z losową inicjalizacją radzą sobie gorzej na zbiorze trenującym i testującym gdy wysokie warstwy są ograniczone h 4 h 3 nienadzorowane przed-uczenie polepsza generalizację przez dostrojenie niskich warstw nienadzorowane wstępne uczenie jest ograniczone do wyszukiwania regularności w rozkładach wejściowych jeśli P(Y X) i P(X) są nieskorelowane, to dobre modelowanie P(X) nie wspomoże dobrej generalizacji jeśli są skorelowane, to pary (X, Y) dają informację zarówno o P(X) i o P(Y X) 11 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 11/47 47 h 2 h 1 x

Doświadczenie inicjalizacja losowa czy nienadzorowana? 10 1 3 layer net, budget of 10000000 iterations 0 unsupervised + 10000000 supervised 2500000 unsupervised + 7500000 supervised 10 0 Online classification error 10 1 10 2 10 3 10 4 0 1 2 3 4 5 6 7 8 9 10 Number of examples seen x 10 6 12 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 12/47 47

Zwykła inicjalizacja czy nienadzorowana? doświadczenia [Erhan et al 2009] zysk z nienadzorowanej inicjalizacji wzrasta wraz z liczbą wykorzystanych warstw doświadczenia na denoising auto-encoder 13 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 13/47 47

Zwykła inicjalizacja czy nienadzorowana? relacja generalizacji do błędu nauczania przy tym samym błędzie nauczania modele z wstępną inicjalizacją algorytmem nienadzorowanym dają niższy błąd niż inicjalizowane losowo wyniki są szczególnie dobre dla mniejszych zbiorów uczących jest to zdecydowanie efekt raczej generalizacji niż optymalizacji nauczania efekty jak przy dobrej regularyzacji mimo, że nie było takiej explicite model denoising auto-encoder radzi sobie dobrze, gdy wielkość warstwy ukrytej w auto-enkoderze jest większa niż warstwy wejściowej Igor T Podolak, nienadzorowana WMiI UJ igorpodolak@ujedupl inicjalizacjagłębokie pomaga uczenie, nowe przy perspektywy większych uczenia maszynowego warstwach i 14 / 14/47 47

Inicjalizacja których warstw ma największy wpływ? różne sposoby inicjalizowania poszczególnych warstw model z nienadzorowaną inicjalizacją tylko pierwszej warstwy działa prawie tak dobrze jak model w całości inicjalizowany model z nienadzorowaną inicjalizacją drugiej warstwy działa znacznie gorzej podobnie do modelu bez wstępnego nauczania warstwy są uczone do odtwarzania informacji jeśli inicjalizacja pierwszej warstwy jest losowa, to druga nie ma czego odtwarzać 15 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 15/47 47

Inne głębokie architektury sieć konwolucyjna propozycja Fukushimy (Neocognitron), potem rozwinięta przez LeCuna duża głębokość: na zmianę konwolucje i wybór wagi z małego obszaru, a także dzielone przez bardzo długi czas najlepszy wynik na danych MNIST dopiero obecne architektury głębokie osiągnęły lepsze wyniki 16 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 16/47 47

Auto-enkodery kolejno budowane sieci neuronowe z jedną warstwą ukrytą uczące się auto-asocjacji warstwa ukryta jest traktowana jako stratna reprezentacja wejścia nie może być dobrą kompresją wszystkich przykładów pozwala na znalezienie dobrej reprezentacji w sensie dobrej generalizacji jednak nie dla dowolnych wejść! warstwa ukryta ma dodany silny czynnik regularyzacyjny pozwala na radzenie sobie z problemami znacznej przewagi liczby neuronów ukrytych nad przykładami zamiast uczyć się funkcji identycznościowej, wyszukuje regularności dobrą strategią uczenia jest dodawanie szumu do przykładów to przypomina w zachowaniu RBMy 17 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 17/47 47

Sigmoidal Belief Network modele generatywne modele można opisać jako modele grafowe (graphical models) problem explaining away: wiele warstw struktury może pomóc w sigmoidal belief neurony w warstwie są od siebie niezależne przy danych wartościach z warstwy powyżej P(h k i = 1 h k+1 ) = sigm(b k i + j P(x,h 1,, h l ) W k+1 ij h k+1 j ) = P(h l ) ( l 1 P(h k h k+1 ) ) P(x h 1 ) k=1 W h 2 W T W W W T W W T W T v 2 W T h 1 W v 1 W T h 0 W 18 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 18/47 47 v 0

Sigmoidal Belief Network sieć o nieskończonej głębokości dane są generowane od warstwy na nieskończonej głębokości log p(v 0 ) w 00 ij log p(v 0 ) w 00 ij = = h 0 j (v 0 i ^v 0 i ) h 0 j (v 0 i v 1 i ) ponieważ wagi się powtarzają log p(v 0 ) w 00 = ij + v 1 i (h 0 j h 1 j ) h 0 j (v 0 i v 1 i ) + + h 1 j (v 1 i v 2 i ) + wszystkie elementy redukują się do postaci maszyny Boltzmanna W W T h 2 W T W W W T W W T v 2 W T h 1 W v 1 W T h 0 W 19 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 19/47 47 v 0

Maszyna Boltzmanna Energy(x, h) = b T x c T h h T Wx x T Ux h T Vh P(x) = 1 Z exp( Energy(x)) Z = x exp( Energy(x)) V h W U x log P(x) θ = h P(h x) Energy(x, h) + x,h Energy( x, h) P( x, h) θ θ 20 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 20/47 47

Maszyna Boltzmanna nauczanie log P(x) θ = h P(h x) Energy(x, h) + x,h Energy( x, h) P( x, h) θ θ V h W U x w fazie dodatniej (positive) wektor x jest przypisany (clamped) do wektora obserwowalnego i próbkujemy h mając dane x, w fazie ujemnej (negative) oba x oraz h są próbkowane, najlepiej z całego modelu 21 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 21/47 47

Deep Belief Network P(x, h 1,, h l ) = P(h l 1, h l ) ( l 2 P(h k h k+1 ) ) P(x h 1 ) k=1 RBM w górnej warstwie odpowiada sieci o nieskończonej liczbie warstw 1 uczenie W 0 przy założeniu, że wszystkie wagi są związane 2 zamrożenie W 0 i używanie odtąd W T 0 dla uzyskania rozkładów posterior w pierwszej warstwie nawet jeśli zmiany będą oznaczać, że ten rozkład nie będzie prawdziwy 3 utworzenie RBM modelującego dane wyższego poziomu W 2 W T 1 W T 0 h 3 RBM P(h 2, h 3 ) h 2 W 1 h 1 W 0 22 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 22/47 47 x

Ograniczona maszyna Boltzmanna RBM niezależność x ij gdy dane h, oraz h i gdy dane x Energy(x, h) = b T x c T h h T Wx U = 0, V = 0, stąd P(h x) = i P(h i x) oraz P(x h) = i P(x j h) P(h i = 1 x) = exp(c i+w i x) 1+exp(c i +W i x) = sigm(c i + W i x) h W 1 dla każdej wagi w ij mierzymy korelację v 0 i h0 j gdy przykłady są zadane (clamped) na warstwie widzialnej 2 używając próbkowania Gibbsa uruchamiamy łańcuch Markowa aż układ osiągnie stan stabilny i mierzymy wtedy korelację v i h j 3 to daje gradient log p(v0 ) w ij = v 0 i h0 j v i h j jak w logistic belief network! 23 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 23/47 47 x

Ograniczona maszyna Boltzmanna RBM nauczanie Energy(x, h) = b T x c T h h T Wx h W x próbkowanie Gibbsa pełnego modelu Boltzmanna jest bardzo powolne w RBM nie ma potrzeby próbkowania fazy dodatniej, bo gradient może być podany analitycznie próbkowanie: x 1 P(x), h 1 P(h x 1 ), x 2 P(x h 1 ), h 2 P(h x 2 ),, x k+1 P(x h k ) 24 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 24/47 47

Ograniczona maszyna Boltzmanna RBM contrastive divergence h W x 1 próbkujemy po pojedynczym przykładzie uczącym zamiast po wszystkich możliwych częste poprawianie parametrów i tak wprowadza szum uśrednienia i dodatkowa wariancja wprowadzana przez wzięcie jednego albo kilku próbek zamiast pełnej sumy jest uśrednione w procesie w kolejnych poprawek, dodatkowa wariancję jest mniejsza lub porównywalna do wariancji podczas poprawek 25 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 25/47 47

Ograniczona maszyna Boltzmanna RBM contrastive divergence h W x 2 wykonujemy tylko k kroków próbkowania wiadomo, że wraz z k, błąd maleje jeśli rozkład modelu jest bliski do empirycznego, tzn P P, startując z x P, MCMC już zbiegł i wystarczy nam jeden krok by osiągnąć nie obarczoną błędem próbkę z P (ale wciąż skorelowaną z x), okazuje się, że nawet k = 1 wystarcza dla osiągnięcia dobrych rezultatów, 26 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 26/47 47

Ograniczona maszyna Boltzmanna RBM contrastive divergence h W x CD przybliża gradient log-likelihood lokalnie wokół przykładu x 1 x = x k+1 ma rozkład wycentrowany w x 1 i rozszerza się wraz ze wzrostem k aż do osiągnięcia rozkładu modelu, poprawka CD k obniży energię w sąsiedztwie x 1, x ma większą szansę, że jest w obszarach o wyższym prawdopodobieństwie według modelu, można myśleć o nienadzorowanym uczeniu jako wykrywaniu krawędzi decyzyjnej oddzielającej obszary o wysokim prawdopodobieństwie gdzie jest wiele przykładów od reszty 27 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 27/47 47

Ograniczona maszyna Boltzmanna RBM contrastive divergence h W x Twierdzenie Niech x 1 h 1 x 2 h 2 będzie zbieżnym łańcuchem Gibbsa startując od x 1 Wtedy gradient log-likelihood log P(x 1 ) θ = FE(x 1) θ [ ] [ ] FE(xt ) P(xt ) + E + E θ θ i ostatni term dąży do zera wraz z t dążącym do dwa pierwsze termy są właśnie poprawką w CD k ograniczonym to t kroków; w praktyce k = 1 wystarcza 28 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 28/47 47

Dane MNIST na RBM 300 iteracji, 500 ukrytych 29 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 29/47 47

Dane MNIST na RBM po kilku krokach nauczania, 625 ukrytych 30 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 30/47 47

Dane MNIST na RBM 300 iteracji, 625 ukrytych 31 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 31/47 47

Dane MNIST na RBM jeden cykl próbkowania, 625 ukrytych 32 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 32/47 47

Dane MNIST na RBM dziesięć cykli próbkowania, 625 ukrytych 33 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 33/47 47

Dane MNIST na RBM 100 cykli próbkowania, 625 ukrytych 34 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 34/47 47

Dane MNIST na RBM 10000 cykli próbkowania, 625 ukrytych 35 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 35/47 47

Dane MNIST na RBM 100000 cykli próbkowania, 625 ukrytych 36 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 36/47 47

Deep Belief Network down and up 1 DBN jest uczony zachłannie warstwa po warstwie 2 Q(h k h k 1 ) będzie aproksymacją P(h k h k 1 ) implementowaną przez wagi klasyfikujące z dołu do góry 3 wagi z góry na dół są generatywne 4 aby otrzymać albo reprezentację wszystkich warstw 41 próbkujemy h 1 Q(h 1 x) albo ^h 1 = E[Q(h 1 x)] albo próbkowanie albo mean field wektorem prawdopodobieństw ukrytych neuronów, ^h 1 i = sigm(b 1 + Wi 1 x) 42 biorąc h 1 albo ^h 1 jako wejście do kolejnego RBM, obliczamy ^h 2 albo próbkę h 2 aż do najwyższej warstwy, Q(h 2 h 1 ) Q(h 1 x) h 3 P(h 2, h 3 ) RBM P(h 2 h 1 ) P(x h 1 ) 37 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 37/47 47 h 2 h 1 x

Deep Belief Network down and up używając DBN jako modelu generatywnego 1 próbkuj widzialny wektor h l 1 z najwyższego poziomu przez łańcuch próbkowania Gibbsa zamiennie przez h l P(h l h l 1 ) i h l 1 P(h l 1 h l ) jeśli próbkowanie rozpoczniemy od h l 1 uzyskanego z przykładu uczącego x, to prawdopodobnie będzie potrzeba mniej kroków próbkowania 2 dla k = l 1,, 1 próbkowanie h k 1 P(h k 1 h k ), 3 x = h 0 Q(h 2 h 1 ) Q(h 1 x) h 3 P(h 2, h 3 ) RBM P(h 2 h 1 ) h 2 h 1 P(x h 1 ) x 38 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 38/47 47

Deep Belief Network dalsze etapy nauczania po nauczeniu wyższych warstw, wagi na niższych niekoniecznie są optymalne po nauczeniu wszystkich warstw wagi rozpoznające (do góry) są uniezależniane od generatywnych (w dół) DBN wykorzystuje algorytm wake sleep 1 w up pass wybierane są stochastycznie aktywacje każdej zmiennej ukrytej 2 wagi generatywne są modyfikowane dla maksymalizacji likelihood wejścia 3 w przejściu down pass (w dół) wybierane są stochastyczne aktywacje warstw poniżej 4 wagi nieskierowane i wagi generatywne nie są zmieniane 5 wagi rozpoznające są modyfikowane to odpowiednik fazy snu Q(h 2 h 1 ) Q(h 1 x) h 3 P(h 2, h 3 ) RBM P(h 2 h 1 ) h 2 h 1 P(x h 1 ) x 39 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 39/47 47

Deep Belief Network pamięć asocjacyjna pamięć asocjacyjna może być uruchamiana do osiągnięcia stabilności uruchomienie jej na kilka cykli próbkowania Gibbsa będzie odpowiadać podejściu contrastive divergence 1 w ten sposób wagi rozpoznające są uczone dla reprezentacji, które są średnimi aktywacjami podobnych do tych dla prawdziwych przykładów (down pass) 2 jeśli dla danego x aktywacje warstw są zawsze identyczne, to down pass będzie modyfikował tylko wagi związane z tymi stanami nie będą zmieniane wagi związane z innymi stanami równie dobrymi dla generuji (w dół) x Q(h 2 h 1 ) Q(h 1 x) h 3 P(h 2, h 3 ) RBM P(h 2 h 1 ) h 2 h 1 P(x h 1 ) x 40 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 40/47 47

Deep Belief Network poprawa wraz z dodawaniem warstw? wagi W 2 są inicjalizowane na (W 1 ) T N P(v n ; θ) E Q(h 1 v n )[log(p(v n h 1 ; W 1 ))] n n KL(Q(h 1 v n ) P(h 1 ; W 2 )) n h 3 P(h 2, h 3 ) RBM h 2 nauczanie w kierunku gradientu loglikelihood po W 2 W 2 staje się lepszym modelem rozkładu h 1 rozumowanie da się rozwinąć na kolejne warstwy praktycznie używamy dużych przybliżeń rozumowanie tylko pod warunkiem inicjalizacji W 2 na (W 1 ) T Q(h 2 h 1 ) Q(h 1 x) P(h 2 h 1 ) P(x h 1 ) 41 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 41/47 47 h 1 x

Deep Belief Network 42 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 42/47 47

Deep Boltzmann Machine DBN nie są głębokimi sieciami Boltzmanna DBM to układ o energii E(x, h 1, h 2 ; θ) = x T W 1 h 1 h 1 W 2 h 2 w DBN zastąpienie pierwszego RBM 1 P(h 1 v) modelem kolejnej warstwy RBM 2 P(h 1 h 2 ) powinno dać lepsze przybliżenie P(h 1 W 1, W 2 ) 1 h 2 jednak zależy także od v 2 użycie W 1 do góry i W 2 w dół oznaczałoby podwójne zliczanie dowodów konieczna jest sprytna modyfikacja RBM RBM h 2 W 2 W 1 v h 2 W 2 h 1 h 1 W 1 v 43 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 43/47 47

Deep Boltzmann Machine sprytna modyfikacja podwajamy wagi z warstwy widzialnej do ukrytej p(h 1 j = 1 v) =σ( i p(v i = 1 h 1 ) =σ( j W 1 ijv i + i W 1 ijh 1 j ) analogicznie w ostatniej parze warstw p(h 1 j = 1 h 2 ) =σ( m p(h 2 m = 1 h 1 ) =σ( j W 2 jmh 2 m + m W 2 jmh 1 j ) W 1 ijv i ) W 2 jmh 2 m) RBM RBM h 2 W 2 W 1 h 2 W 2 h 1 h 1 W 1 we wszystkich warstwach pośrednich v v wystarczy podzielić wszystkie wagi przez 2 44 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 44/47 47

Deep Boltzmann Machine dla nowego przykładu 1 inferencja w górę aktywacji wszystkich warstw 2 alternatywne próbkowanie nieparzystych i parzystych warstw (z wagami połówkowymi) 3 to odpowiada próbkowaniu Gibbsa modelu DBM warstwy widzialna i ostatnia muszą być zduplikowane 1 widzialna ma aktywacje ustalone na dane 2 ostatnia może mieć różne wartości inicjalizacja warstw dla nowego przykładu możliwa z wagami o podwójnych wartościach nie ma potrzeby pamiętania stanu z poprzedniej aktywacji dla danego przykładu RBM RBM h 2 W 2 W 1 v h 2 W 2 h 1 h 1 W 1 v 45 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 45/47 47

There is always something more to come someday 46 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 46/47 47

Bibliografia Bengio Y, LeCun Y, Scaling learning algorithms towards AI, W: Large-scale kernel machines, Bottou, Chapelle, DeCoste, Weston (ed), MIT, (2007) Bengio Y, Learning deep architectures for AI, Foundations and trends in Machine Learning (2009) Bengio Y, Courville A, Vincent P, Representation learning: a review and new perspectives, arxiv:12065538v2:18 Oct 2012 (2012) Erhan D, Manzagol P-A, Bengio Y, Bengio S, Vincent P, The difficulty of training deep architectures and the effect of unsupervised pre-training, JMLR 5:W&CP 5, AISTATS 2009 (2009) Salakhutdinov, R, Hinton, G, Deep Boltzmann Machines, W: JMLR: W 5&CP 5, AISTATS 2009 (2009) Salakhutdinov, R, Hinton, G, An efficient learning procedure for Deep Boltzmann Machines, MIT-CSAIL-TR-2010-037 (2010) Weston J, Ratle F, Mobahi H, Collobert R, Deep learning via semi-supervised embedding, W; Neural Networks: Tricks of the trade, Montavon et al (eds), LNCS 7700, pp 639 655 (2012) 47 / Igor T Podolak, WMiI UJ igorpodolak@ujedupl Głębokie uczenie, nowe perspektywy uczenia maszynowego 47/47 47