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