Głębokie uczenie, nowe perspektywy uczenia maszynowego
Transkrypt
Głębokie uczenie, nowe perspektywy uczenia maszynowego
. . dr Igor T. Podolak 19 grudnia 2013, 9 i 16 stycznia 2014 1 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 1/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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 2/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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 3/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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 4/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, xi ) ◦ ◦ ◦ ◦ 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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 5/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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 6/47 . . Rozproszone reprezentacje pojecie rzadkości (sparsity) • reprezentacje rzadkie (sparse) mieszczą się gdzieś pośrodku między one–out–of–n i typu log2 • 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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 7/47 . . Głębokie architektury organizacja warstw hk = tanh(bk + W k hk−1 ). (1) h4 • najwyższa warstwa uczona z wykorzystaniem . algorytmu nadzorowanego h3 ◦ softmax albo na przykład L(hℓ , y) = −log P(Y = y|x) = −log hℓy • metody spadku źle sobie radzą przy h2 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 h1 x 8 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 8/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 h4 . h3 preprocessing w trybie nienadzorowanym • wyjście jednego modelu staje się wejściem dla kolejnego h2 ◦ ograniczona maszyna Boltzmanna ◦ enkoder–dekoder h1 • końcowy model może być dostrajamy w trybie nadzorowanym x 9 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 9/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 h4 . h3 h2 h1 x 10 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 10/47 . . Głębokie architektury optymalizacja czy generalizacja? • słabe niskie warstwy powodują słabe wyniki także bez preprocessingu h4 • głębokie sieci z losową inicjalizacją radzą sobie gorzej na zbiorze trenującym i testującym gdy wysokie warstwy są ograniczone . h3 • nienadzorowane przed-uczenie polepsza h2 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) Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego h1 x 11 /47 11/47 . . Doświadczenie inicjalizacja losowa czy nienadzorowana? 3–layer net, budget of 10000000 iterations 1 10 0 unsupervised + 10000000 supervised 2500000 unsupervised + 7500000 supervised 0 Online classification error 10 −1 10 −2 10 −3 10 −4 10 0 1 2 3 4 5 6 7 8 9 Number of examples seen Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego 10 6 x 10 12 /47 12/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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 13/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 • nienadzorowana inicjalizacjaGłębokie pomaga przy większych warstwach i [email protected] uczenie, nowe perspektywy uczenia maszynowego Igor T. Podolak, WMiI UJ 14 /47 14/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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 15/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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 16/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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 17/47 . . Sigmoidal Belief Network modele generatywne • modele można opisać jako modele grafowe (graphical models) • problem explaining away: wiele W ⇑ ... ⇓ WT WT ⇑ . h2 ⇓ W W ⇑ v2 ⇓ WT WT ⇑ h1 ⇓ W W ⇑ v1 ⇓ WT 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(hki = 1|h k+1 ) = sigm(bki + ∑ ) Wijk+1 hk+1 j j 1 ℓ P(x,h , . . . , h ) (∏ ℓ−1 = P(hℓ ) ) P(hk |hk+1 ) P(x|h1 ) WT ⇑ k=1 Igor T. Podolak, WMiI UJ [email protected] h0 ⇓ W v0 18 Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 18/47 . . Sigmoidal Belief Network sieć o nieskończonej głębokości • dane są generowane od warstwy na “nieskończonej” głębokości W ⟩ ∂ log p(v0 ) ⟨ 0 0 0 = h (v − ^ v ) j i i ∂ w00 ij p(v0 ) ∂ log ∂ w00 ij ⟨ = h0j (v0i − v1i ) WT ⇑ . ⟩ W • ponieważ wagi się powtarzają ⟩ ⟨ ⇑ WT ⇑ ⟩ ∂ log p(v0 ) ⟨ 0 0 1 = h (v − v ) + j i i ∂ w00 ij ⟨ ⇑ W ⇑ ⟩ + v1i (h0j − h1j ) + h1j (v1i − v2i ) + . . . WT ⇑ • wszystkie elementy redukują się do postaci maszyny Boltzmanna Igor T. Podolak, WMiI UJ [email protected] ... ⇓ WT h2 ⇓ W v2 ⇓ WT h1 ⇓ W v1 ⇓ WT h0 ⇓ W v0 19 Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 19/47 . . Maszyna Boltzmanna Energy(x, h) = − bT x − cT h − hT Wx − xT Ux − hT Vh ∑ 1 P(x) = exp(−Energy(x)) Z = exp(−Energy(x)) Z x V . h W x U ∑ ∂ Energy(x̃, h) ∂ log P(x) ∂ Energy(x, h) ∑ P(x̃, h) =− P(h|x) + ∂θ ∂θ ∂θ h x̃,h 20 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 20/47 . . Maszyna Boltzmanna nauczanie ∑ ∂ log P(x) ∂ Energy(x, h) ∑ ∂ Energy(x̃, h) =− P(h|x) + P(x̃, h) ∂θ ∂θ ∂θ h x̃,h V . h W x U • 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. Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego 21 /47 21/47 . . Deep Belief Network (∏ ℓ−2 1 ℓ P(x, h , . . . , h ) = P(h ℓ−1 ℓ ,h ) ) P(hk |hk+1 ) P(x|h1 ) k=1 • RBM w górnej warstwie odpowiada . sieci o nieskończonej liczbie warstw 1. uczenie W0 przy założeniu, że wszystkie wagi są związane 2. zamrożenie W0 i używanie odtąd W0T 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 W2 ⇕ h3 RBM ∼ P(h2 , h3 ) h2 W1T ⇑ W1 ⇓ h1 W0T ⇑ W0 ⇓ x 22 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 22/47 . . Ograniczona maszyna Boltzmanna RBM niezależność xij gdy dane h, oraz hi gdy dane x • Energy(x, h) = −bT x − cT h − hT Wx ∏ ∏ • U = 0, V = 0, stąd P(h|x) = i P(hi |x) oraz P(x|h) = i P(xj |h) exp(ci +Wi x) • P(hi = 1|x) = 1+exp(c +W x) = sigm(ci + Wi x) i i . h W x ⟨ ⟩ 1. dla każdej wagi wij mierzymy korelację v0i h0j 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ę vi hj 3. to daje gradient network! Igor T. Podolak, WMiI UJ ∂ log p(v0 ) ∂ wij [email protected] ⟨ ⟩ ⟨ ⟩ ∞ jak w logistic belief = v0i h0j − v∞ i hj 23 Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 23/47 . . Ograniczona maszyna Boltzmanna RBM nauczanie Energy(x, h) = −bT x − cT h − hT 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: b x1 ∼ P(x), h1 ∼ P(h|x1 ), x2 ∼ P(x|h1 ), h2 ∼ P(h|x2 ), . . . , xk+1 ∼ P(x|hk ) 24 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 24/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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 25/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 b, ◦ jeśli rozkład modelu jest bliski do empirycznego, tzn. P ≈ P b ◦ 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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 26/47 . . Ograniczona maszyna Boltzmanna RBM contrastive divergence . h W x CD przybliża gradient log-likelihood lokalnie wokół przykładu x1 ◦ x̃ = xk+1 ma rozkład wycentrowany w x1 i rozszerza się wraz ze wzrostem k aż do osiągnięcia rozkładu modelu, ◦ poprawka CD − k obniży energię w sąsiedztwie x1 , ◦ 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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 27/47 . . Ograniczona maszyna Boltzmanna RBM contrastive divergence . h W x . Twierdzenie . Niech x1 ⇒ h1 ⇒ x2 ⇒ h2 będzie zbieżnym łańcuchem Gibbsa startując od x1 . Wtedy gradient log-likelihood [ ] [ ∂ log P(x1 ) ∂ FE(x1 ) ∂ 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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 28/47 . . Dane MNIST na RBM 300 iteracji, 500 ukrytych 29 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 29/47 . . Dane MNIST na RBM po kilku krokach nauczania, 625 ukrytych 30 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 30/47 . . Dane MNIST na RBM 300 iteracji, 625 ukrytych 31 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 31/47 . . Dane MNIST na RBM jeden cykl próbkowania, 625 ukrytych 32 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 32/47 . . Dane MNIST na RBM dziesięć cykli próbkowania, 625 ukrytych 33 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 33/47 . . Dane MNIST na RBM 100 cykli próbkowania, 625 ukrytych 34 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 34/47 . . Dane MNIST na RBM 10000 cykli próbkowania, 625 ukrytych 35 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 35/47 . . Dane MNIST na RBM 100000 cykli próbkowania, 625 ukrytych 36 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 36/47 . . Deep Belief Network down and up 1. DBN jest uczony zachłannie warstwa po warstwie 2. h3 Q(hk |hk−1 ) będzie aproksymacją P(hk |hk−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 . P(h2 , h3 ) ∼ RBM h2 Q(h2 |h1 ) P(h2 |h1 ) 4.1 próbkujemy h1 ∼ Q(h1 |x) albo ^ 1 = E[Q(h1 |x)] h • albo próbkowanie albo mean–field – wektorem prawdopodobieństw ukrytych neuronów, ^ 1i = sigm(b1 + Wi1 x) • h h1 Q(h1 |x) ^ 1 jako wejście do kolejnego 4.2 biorąc h1 albo h ^ 2 albo próbkę h2 aż do RBM, obliczamy h najwyższej warstwy, Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego P(x|h1 ) x 37 /47 37/47 . . Deep Belief Network down and up • używając DBN jako modelu generatywnego 1. próbkuj widzialny wektor hℓ−1 z najwyższego poziomu przez łańcuch próbkowania Gibbsa zamiennie przez hℓ ∼ P(hℓ |hℓ−1 ) i hℓ−1 ∼ P(hℓ−1 |hℓ ) h3 . P(h2 , h3 ) ∼ RBM • jeśli próbkowanie rozpoczniemy od hℓ−1 uzyskanego z przykładu uczącego x, to prawdopodobnie będzie potrzeba mniej kroków próbkowania 2. dla k = ℓ − 1, . . . , 1 próbkowanie hk−1 ∼ P(hk−1 |hk ), 3. x = h0 h2 Q(h2 |h1 ) P(h2 |h1 ) h1 Q(h1 |x) P(x|h1 ) x 38 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 38/47 . . Deep Belief Network dalsze etapy nauczania • po nauczeniu wyższych warstw, wagi na niższych niekoniecznie są optymalne h3 • po nauczeniu wszystkich warstw wagi . P(h2 , h3 ) ∼ RBM 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 h2 Q(h2 |h1 ) P(h2 |h1 ) h1 Q(h1 |x) P(x|h1 ) x 39 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 39/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 h3 . P(h2 , h3 ) ∼ RBM h2 Q(h2 |h1 ) P(h2 |h1 ) h1 Q(h1 |x) P(x|h1 ) x 40 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 40/47 . . Deep Belief Network poprawa wraz z dodawaniem warstw? • wagi W 2 są inicjalizowane na (W 1 )T N ∑ P(vn ; θ) ≥ n − ∑ ∑ h3 EQ(h1 |vn ) [log(P(vn |h1 ; W 1 ))] . P(h2 , h3 ) ∼ RBM n KL(Q(h1 |vn )∥P(h1 ; W 2 )) h2 n • nauczanie w kierunku gradientu loglikelihood Q(h2 |h1 ) P(h2 |h1 ) po W 2 h1 • W 2 staje się lepszym modelem rozkładu h1 • rozumowanie da się rozwinąć na kolejne Q(h1 |x) warstwy • praktycznie używamy dużych przybliżeń P(x|h1 ) x • rozumowanie tylko pod warunkiem inicjalizacji W 2 na (W 1 )T Igor T. Podolak, WMiI UJ 41 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 41/47 . . Deep Belief Network 42 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 42/47 . . Deep Boltzmann Machine • DBN nie są głębokimi sieciami Boltzmanna • DBM to układ o energii h2 . E(x, h1 , h2 ; θ) = −xT W 1 h1 − h1 W 2 h2 W2 • w DBN zastąpienie pierwszego RBM1 ∼ P(h1 |v) modelem kolejnej warstwy RBM2 ∼ P(h1 |h2 ) powinno dać lepsze przybliżenie P(h1 |W 1 , W 2 ) 1. h2 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 h2 W2 RBM h1 RBM h1 W1 W1 • konieczna jest sprytna modyfikacja v v 43 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 43/47 . . Deep Boltzmann Machine sprytna modyfikacja • podwajamy wagi z warstwy widzialnej do ukrytej p(h1j = 1|v) =σ( ∑ Wij1 vi + i 1 p(vi = 1|h ) =σ( ∑ ∑ h2 . Wij1 vi ) i W2 Wij1 h1j ) j h2 W2 RBM h1 RBM h1 • analogicznie w ostatniej parze warstw p(h1j 2 = 1|h ) =σ( ∑ 2 Wjm h2m m p(h2m 1 = 1|h ) =σ( ∑ + ∑ 2 Wjm h2m ) m W1 W1 2 Wjm h1j ) j • we wszystkich warstwach pośrednich v wystarczy podzielić wszystkie wagi przez 2 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego v 44 /47 44/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ć h2 h2 . W2 W2 RBM h1 RBM h1 zduplikowane 1. widzialna ma aktywacje ustalone na dane 2. ostatnia może mieć różne wartości • inicjalizacja warstw dla nowego przykładu W1 W1 możliwa z wagami o podwójnych wartościach ◦ nie ma potrzeby pamiętania stanu z poprzedniej aktywacji dla danego przykładu v v 45 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 45/47 . . There is always something more to come someday … 46 Igor T. Podolak, WMiI UJ [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 46/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:1206.5538v2: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 [email protected] Głębokie uczenie, nowe perspektywy uczenia maszynowego /47 47/47