AUTO-ENKODER JAKO SKŠADNIK ARCHITEKTURY DEEP LEARNING Magdalena Wiercioch Uniwersytet Jagiello«ski 3 kwietnia 2014
Plan Uczenie gª bokie (deep learning) Auto-enkodery Rodzaje Zasada dziaªania Przykªady Bibliograa 2 z 48
Uczenie gª bokie (deep learning) cel - wydobycie cech najbardziej istotnych 3 z 48
Uczenie gª bokie (deep learning) Potrzeba funkcji, która zapewni efektywno± oblicze«i wydajno± uczenia. Nasuwa si pytanie w jaki sposób j reprezentowa. 4 z 48
Uczenie gª bokie (deep learning) Technika uczenia gª bokiego ma swoje ideologiczne podstawy w procesie skªadania funkcji. Ka»da z funkcji skªadanych otrzymuje dane do przetworzenia. 5 z 48
Uczenie gª bokie (deep learning) 6 z 48
Uczenie gª bokie (deep learning) A mo»e sie wielowarstwowa (uczona gradientowo)? 7 z 48
Uczenie gª bokie (deep learning) (Bengio, 2007) Idea greedy layer-wise training: trenowanie krok po kroku, a wi c najpierw trenuje si sie z jedn warstw ukryt, potem z dwoma itd. w ka»dym kroku do rozwa»anej sieci zawieraj cej k 1 warstw ukrytych dodaje si kolejn warstw, która na wej±ciu przyjmuje rezultat poprzedniej architektury 8 z 48
Uczenie gª bokie (deep learning) mo»liwe jest zarówno podej±cie nadzorowane jak i nienadzorowane (cz ±ciej stosowane, realizowane za pomoc auto-enkoderów) wyuczone wagi sªu» do inicjalizacji wag w caªej sieci pozwala to na dostrojenie caªej architektury (ne-tune) 9 z 48
Uczenie gª bokie (deep learning) Zalety: zdecydowanie lepsza dost pno± danych metoda spadku gradientu znajduje wªa±ciwe (lub prawie poprawne) lokalne minimum 10 z 48
Auto-enkoder obecno± trzech warstw reprodukcja informacji wej±ciowej na wyj±ciu 11 z 48
Auto-enkoder rzadki (sparse autoencoder) W zwyczajnym trybie sie uczyªaby si funkcji identyczno±ciowej, co nie miaªoby sensu. Dlatego wprowadza si pewne kryteria, jak np. ilo± neuronów w warstwie ukrytej. Okazuje si,»e ciekawe wªasno±ci ujawniaj si gdy ilo± neuronów w warstwie ukrytej jest wi ksza od wymiaru danych wej±ciowych. Wówczas wprowadza si dodatkowe ograniczenie na rzadko± (sparsity). 12 z 48
Auto-enkoder 13 z 48
Auto-enkoder x [0, 1] d, y [0, 1] d, z [0, 1] d y f θ (x) = s(wx + b); θ = W, b z g θ (y) = s(w y + b ); θ = W, b θ, θ = argmin θ,θ 1 n n R(x (i), g i=1 θ (f θ (x (i) ))) 14 z 48
Auto-enkoder R(x, z) = x z 2 R H (x, z) = d j=1 [x j log z j + (1 x j ) log(1 z j )] Istnieje dowód na to,»e gdy neurony w warstwie ukrytej oraz w warstwie wyj±ciowej maj charakterystyki liniowe (lub qasiliniowe), to taka sie w rzeczywisto±ci uczy si aproksymowa standardowy algorytm analizy gªównych skªadowych. 15 z 48
Dywergencja Kullbacka-Leiblera Dywergencja Kullbacka-Leiblera (entropia wzgl dna, rozbie»no± Kullbacka-Leiblera) to miara stosowana w teorii informacji. Sªu»y do okre±lenia rozbie»no±ci pomi dzy dwoma rozkªadami p oraz q. Przyjmuje zawsze warto±ci nieujemne. Je±li dwa rozkªady s identyczne, wówczas jej warto± wynosi 0. Dla rozkªadów dyskretnych dywergencja Kullbacka-Leiblera wyra»a si wzorem: gdzie q - dane rzeczywiste; p - model teoretyczny. D KL (q, p) = i=1 q i log 2 q(i) p(i) 16 z 48
Ograniczenie na rzadko± (sparsity) a (2) k (x) - poziom aktywacji neuronu k w warstwie ukrytej pod wpªywem wej±cia x ˆρ k = 1 n n i=1 [a(2) k (x (i) )] - ±rednia aktywacja neuronu ρ jako parametr odnosz cy si do wymuszanej cechy rzadko±ci (sparsity parameter) celem jest doprowadzenie do równo±ci ˆρ k = ρ funkcja straty: L s (W, b) = L(W, b) + β n KL(ρ ˆρ i=1 i) 17 z 48
Dywergencja Kullbacka-Leiblera a auto-enkoder 18 z 48
Auto-enkoder odszumiaj cy (denoising autoencoder) wej±cie x [0, 1] d modykacja wej±cia daje x q( x x) przeksztaªcenie x do reprezentacji zredukowanej y = f θ ( x) odtworzenie z na podstawie y, z = g θ (y) 19 z 48
Auto-enkoder odszumiaj cy (denoising autoencoder) (Vincent, 2008) ró»ne interpretacje, jedno z nich oparte na idei rozmaito±ci przyjmuje si,»e oryginalne dane s umiejscowione bli»ej rozmaito±ci o mniejszej liczbie wymiarów p(x X ) = B gθ (f θ ( X ))(X ) zapewnia stosowne rzutowanie 20 z 48
Auto-enkoder stosowy (stacked autoencoder) warstwa 1 21 z 48
Auto-enkoder stosowy (stacked autoencoder) warstwa 1 warstwa 2 22 z 48
Auto-enkoder stosowy (stacked autoencoder) warstwa 1 warstwa 2 warstwa 3 23 z 48
Auto-enkoder stosowy (stacked autoencoder) warstwa 1 warstwa 2 warstwa 3 warstwa uczona z nadzorem 24 z 48
Auto-enkoder stosowy (stacked autoencoder) 25 z 48
Auto-enkoder stosowy (stacked autoencoder) 26 z 48
Auto-enkoder stosowy (stacked autoencoder) 27 z 48
Auto-enkoder stosowy (stacked autoencoder) 28 z 48
Zestaw odszumiaj cych auto-enkoderów (stacked denoising autoencoders) wstawianie kolejnych warstw z auto-enkoderem (odszumiaj cym) rezultat ka»dego procesu oczyszczenia przesyªany jest do warstwy poªo»nej wy»ej 29 z 48
Strojenie (ne tuning) inicjalizacja parametrów sieci w sposób nienadzorowany dostrajanie w wersji nadzorowanej 30 z 48
Auto-enkoder 31 z 48
Auto-enkoder 32 z 48
Auto-enkoder 33 z 48
Auto-enkoder 34 z 48
Auto-enkoder 35 z 48
Auto-enkoder 36 z 48
Auto-enkoder Zbiór STL-10 37 z 48
Auto-enkoder 38 z 48
Auto-enkoder odszumiaj cy (denoising autoencoder) MNIST 39 z 48
Auto-enkoder odszumiaj cy (denoising autoencoder) poziom zaszumienia = 0% 40 z 48
Auto-enkoder odszumiaj cy (denoising autoencoder) poziom zaszumienia = 15% 41 z 48
Auto-enkoder odszumiaj cy (denoising autoencoder) poziom zaszumienia = 30% 42 z 48
Auto-enkoder odszumiaj cy (denoising autoencoder) poziom zaszumienia = 45% 43 z 48
Wynik zestawienia auto-enkoderów 44 z 48
Wynik zestawienia auto-enkoderów odszumiaj cych 45 z 48
Rezultat zastosowania sieci Deep Belief 46 z 48
Bibliograa Bengio Y., Learning deep architectures for AI, Foundations and trends in Machine Learning (2009) Vincent P., Larochelle H., Lajoie I., Bengio Y., Manzagol P.A., Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion (2010) Bengio Y., Lamblin P., Popovici D., Larochelle H., Greedy layer-wise training of deep networks. NIPS (2006) Ranzato M., Poultney C., Chopra S., and LeCun Y., Ecient learning of sparse representations with an energy-based model. NIPS 2006, MIT Press, 2006 Ranzato M., Boureau Y., LeCun Y., Sparse feature learning for deep belief networks. Advances in Neural Information Processing Systems (NIPS 2007) 47 z 48
Bibliograa http://deeplearning.net/ http://ufldl.stanford.edu/wiki/index.php/ http://yann.lecun.com/exdb/mnist/ http://www.stanford.edu/~acoates//stl10/ Hinton G.E., Osindero S., Teh Y., A fast learning algorithm for deep belief nets. Neural Computation 18 (2006) Hinton G. E., Salakhutdinov R., Reducing the dimensionality of data with neural networks. Science (2006) 48 z 48