Modele i algorytmy uczenia głębokiego

Transkrypt

Modele i algorytmy uczenia głębokiego
Modele i algorytmy uczenia głębokiego
Adam Gonczarek, Jakub Tomczak
{adam.gonczarek,jakub.tomczak}@pwr.edu.pl
Poznań, 24 XI 2015
UCZENIE GŁĘBOKIE
Adam Gonczarek
UCZENIE GŁĘBOKIE (ang. deep learning) =
klasa metod uczenia maszynowego,
gdzie model
ma strukturę hierarchiczną
złożoną z wielu
nieliniowych warstw
3/56
4/56
4/56
4/56
Wpływ uczenia głębokiego
5/56
Obszary zastosowań
Widzenie komputerowe
Wyszukiwanie informacji
Rozpoznawanie mowy
Analiza języka naturalnego
Systemy rekomendacji
Projektowanie leków
6/56
Przykłady: Translatory
7/56
Przykłady: Generowanie ręcznego pisma
http://www.cs.toronto.edu/ graves/handwriting.cgi
8/56
Przykłady: Uczenie grania w gry
Mnih et al. Human-level control through deep reinforcement learning. Nature 2015
9/56
Przykłady: Generowanie opisów do zdjęć
Karpathy and Fei-Fei. Deep Visual-Semantic Alignments for Generating Image Descriptions. CVPR 2015
10/56
Przykłady: Analiza treści
Antol et al. VQA: Visual Question Answering. ICCV 2015
11/56
Trzy filary uczenia głębokiego
12/56
Trzy filary uczenia głębokiego
12/56
Trzy filary uczenia głębokiego
12/56
Model Multilayer Perceptron
13/56
Model Multilayer Perceptron
13/56
Model Multilayer Perceptron
h1 = σ(W1 x + b1 )
13/56
Model Multilayer Perceptron
h2 = σ(W2 h1 + b2 )
13/56
Model Multilayer Perceptron
y = softmax(W3 h2 + b3 )
13/56
Model Multilayer Perceptron
h2 traktujemy jako cechy wyekstrahowane z x
13/56
Model Multilayer Perceptron
Predyktor to np. wieloklasowa regresja logistyczna
13/56
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
14/56
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
14/56
Czy głębokość ma znaczenie?
Twierdzenie o uniwersalnej aproksymacji
Niech D ⊂ RN ; Niech f : RN → R będzie ciągła i skończona
P
na D. Dodatkowo niech y(x) = i g(wiT x), gdzie g jest
ciągła, ograniczona i monotoniczna. Wówczas dla każdego
ε > 0 istnieje taki zbiór {wi }, że dla każdego x ∈ RN
zachodzi:
|y(x) − f (x)| < ε
Wystarczy zatem tylko jedna warstwa jednostek ukrytych,
aby z dowolną precyzją aproksymować każdą funkcję ciągłą.
Ale. . .
15/56
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.
16/56
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 2N jednostek ukrytych, model głęboki
N (N − 1)/2.
16/56
Uczenie i propagacja wsteczna
17/56
Uczenie i propagacja wsteczna
Np. entropia krzyżowa
L(y, t) = −
X
tk log yk
k
17/56
Uczenie i propagacja wsteczna
w3ij ← w3ij − η
∂L ∂y i
∂y i ∂w3ij
17/56
Uczenie i propagacja wsteczna
w2ij ← w2ij − η
∂L ∂hi2
∂hi2 ∂w2ij
17/56
Uczenie i propagacja wsteczna
w2ij ← w2ij − η
X
k
∂L ∂y k ∂hi2
∂y k ∂hi2 ∂w2ij
17/56
Uczenie i propagacja wsteczna
w1ij ← w1ij − η
∂L ∂hi1
∂hi1 ∂w1ij
17/56
Uczenie i propagacja wsteczna
w1ij ← w1ij − η
XX
l
k
∂L ∂y k ∂hl2 ∂hi1
∂y k ∂hl2 ∂hi1 ∂w1ij
17/56
Problem zanikającego gradientu
Dla typowych funkcji aktywacji σ(x) i tgh(x) wartości
pochodnych są zawsze w [0, 1].
18/56
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:
∂hit+1 ∂hjt ∂hkt−1
...
...
∂hjt ∂hkt−1 ∂hlt−2
często będą bliskie zeru.
18/56
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:
∂hit+1 ∂hjt ∂hkt−1
...
...
∂hjt ∂hkt−1 ∂hlt−2
często będą bliskie zeru.
Jest to zjawisko zanikającego gradientu (ang. vanishing
gradient) i powoduje problem z wyuczeniem cech na niższych
warstwach.
18/56
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:
∂hit+1 ∂hjt ∂hkt−1
...
...
∂hjt ∂hkt−1 ∂hlt−2
często będą bliskie zeru.
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.
18/56
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
19/56
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
19/56
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
19/56
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
20/56
Jednostki ReLU
Jednostki ReLU (ang. Rectified Linear
Unit) są to funkcje aktywacji o postaci:
f (x) = max(0, x)
Dzięki nim:
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
20/56
Dropout
Dropout jest szczególną techniką
regularyzacji.
Srivastava et al. Dropout: A simple way to prevent neural networks from overfitting. JMLR 2014
21/56
Dropout
Dropout jest szczególną techniką
regularyzacji.
Z prawdopodobieństwem p ”wyłączamy”
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
21/56
Dropout
Dropout jest szczególną techniką
regularyzacji.
Z prawdopodobieństwem p ”wyłączamy”
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
21/56
Sieci konwolucyjne (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
22/56
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/56
Sieć ImageNet – filtry konwolucyjne
Filtry wyuczone na pierwszej warstwie konwolucyjnej
24/56
Sieć ImageNet – filtry konwolucyjne
Zeiler, Fergus. Visualizing and Understanding Convolutional Networks. ECCV 2014
25/56
Sieć ImageNet – filtry konwolucyjne
26/56
Sieć ImageNet – filtry konwolucyjne
27/56
Sieć ImageNet – wyniki
28/56
MODELE I ALGORYTMY
Jakub Tomczak
Ograniczona maszyna Boltzmanna (ang. Restricted Boltzmann Machine)
h
Nieskierowany, dwudzielny
probabilistyczny model grafowy.
W
Obserwowalne zmienne losowe:
x ∈ {0, 1}D
x
Ukryte zmienne losowe:
h ∈ {0, 1}M
Funkcja energii dla łącznej konfiguracji (x, h):
E(x, h|θ) = x> Wh + b> x + c> h
gdzie θ = {W, b, c}.
30/56
Restricted Boltzmann Machine
Rozkład łączny – rozkład
Boltzmanna (Gibbsa):
h
W
P (x, h|θ) =
1
exp E(x, h|θ)
Z(θ)
gdzie
x
Z(θ) =
X
exp E(x, h|θ)
x,h
nazywamy sumą statystyczną
(ang. partition function).
31/56
Restricted Boltzmann Machine
Restricted – brak połączeń
wewnątrz tej samej warstwy.
h
Dzięki temu możemy łatwo
policzyć rozkłady warunkowe:
W
P (h|x, θ) =
x
Y
P (hj |x, θ)
j
P (x|h, θ) =
Y
P (xi |h, θ)
i
gdzie:
1
1 + exp(−(W·j )> x − cj )
1
P (xi = 1|h, θ) =
1 + exp(−Wi· h − bi )
P (hj = 1|x, θ) =
32/56
h
W
x
Ukryte jednostki
(cechy)
P (hj = 1|x, θ) =
1
1 − exp(−(W·j )> x − cj )
33/56
Uczenie RBM
Dla N obserwacji i.i.d. D = {xn }N
n=1
chcemy wyuczyć się θ = {W, b, c}.
h
W
Maksymalizujemy logartym funkcji
wiarygodności:
x
L(θ) =
1 X
log P (xn |θ) + λΩ(θ)
| {z }
N n
regularyzacja
1
exp F E(x|θ)
Z(θ)
X
1
=
exp b> x +
log(1 + exp((W·j )> x + cj ))
Z(θ)
j
P (xn |θ) =
34/56
Licząc gradient:
X
∂ log P (x|θ)
∂
∂
=
log
log Z(θ)
exp E(x, h|θ) −
∂θ
∂θ
∂θ
h
X
∂E(x̃, h|θ)
∂E(x, h|θ) X
−
P (x̃, h|θ)
=
P (h|x, θ)
∂θ
∂θ
x̃,h
h
|
{z
łatwe do policzenia
}
|
{z
}
trudne do policzenia
Drugi składnik należy aproksymować, np. próbkami z
modelu.
Można uruchomić MCMC (Gibbs sampler) zaczynając
od obserwacji x.
35/56
Algorytm Contrastive Divergence
h0 ~ P(h|x)
Obserwacje
x
h1 ~ P(h|x1)
Rekonstrukcje
x1 ~ P(x|h)
Prosta aproksymacja: po k krokach próbkowania
Gibbsa szacujemy gradient
∂ log P (x|θ)
∂E(x, h0 |θ) ∂E(xk , hk |θ)
≈
−
∂θ
∂θ
∂θ
Hinton, G. E. (2002), Training products of experts by minimizing contrastive divergence, Neural Computation,
14(8), 1771-1800
36/56
Podejście Perturb-and-MAP
Alternatywny sposób próbkowania
poprzez zaburzanie funkcji
energii i znajdowanie
rozwiązania MAP.
Perturb: zaburzenia Gumbela
wyrazów wolnych.
MAP: Coordinate Descent,
Gradient Descent, Greedy.
Tomczak, J.M, Zaręba, S., Ravanbakhsh, S., Greiner R., (w opracowaniu), Learning RBM using Perturb-and-MAP
37/56
Gaussian-Bernoulli RBM
h
Obserwowalne zmienne losowe:
x ∈ RD
W
Ukryte zmienne losowe:
h ∈ {0, 1}M
x
Funkcja energii dla łącznej konfiguracji (x, h):
E(x, h|θ) =
XX
i
Wij hj
j
xi X (xi − bi )2 X
cj hj
+
+
σi
2σi2
i
j
Wówczas:
P (x|h, θ) =
Y
i
N (bi +
X
Wij hj , σi2 )
j
38/56
Spike-and-Slab RBM
s
Obserwowalne zmienne losowe:
x ∈ {0, 1}D , ukryte zmienne
losowe: h ∈ {0, 1}M , s ∈ RM
h
W
x
Chcemy modelować
kowariancję między xi .
Funkcja energii dla łącznej konfiguracji (x, s, h):
X
X
1
E(x, h, s|θ) =
x> Wj sj hj +b> x− a> s+ aj µj sj hj +c> h
2
j
j
Wówczas:
P (x|h) ∝ exp b> x +
X
j
2
1 X
aj
xi a−1
j Wij + µj hj
2
i
Courville, A. et al. (2014). The Spike-and-Slab RBM and Extensions to Discrete and Sparse Data Distributions.
TPAMI, 36(9), 1874-1887.
39/56
Spike-and-Slab RBM
s
Obserwowalne zmienne losowe:
x ∈ {0, 1}D , ukryte zmienne
losowe: h ∈ {0, 1}M , s ∈ RM
h
W
x
Chcemy modelować
kowariancję między xi .
Funkcja energii dla łącznej konfiguracji (x, s, h):
X
X
1
E(x, h, s|θ) =
x> Wj sj hj +b> x− a> s+ aj µj sj hj +c> h
2
j
j
Wówczas:
P (x|h) ∝ exp b> x +
X
j
2
1 X
aj
xi a−1
j Wij + µj hj
2
i
Courville, A. et al. (2014). The Spike-and-Slab RBM and Extensions to Discrete and Sparse Data Distributions.
TPAMI, 36(9), 1874-1887.
39/56
Subspace RBM
Obserwowalne zmienne losowe:
x ∈ {0, 1}D , ukryte zmienne
losowe: h ∈ {0, 1}M ,
S ∈ {0, 1}M ×K
h
S
W
x
Cel: cechy niezmiennicze na
transformacje.
Funkcja energii dla łącznej konfiguracji (x, h, S):
E(x, h, S|θ) =
X
Wijk xi hj Sjk +b> x+c> h+
X
hj
j
i,j,k
X
Ajk Sjk
k
Wówczas:
>
P (x) ∝ exp(b x)
Y
K
2 +exp(cj )
j
Y
k
X
1+exp
Wijk xi +Ajk
i
Tomczak, J., Gonczarek, A. (w recenzji) Learning invariant features using Subspace Restricted Boltzmann Machine
40/56
Subspace RBM
Obserwowalne zmienne losowe:
x ∈ {0, 1}D , ukryte zmienne
losowe: h ∈ {0, 1}M ,
S ∈ {0, 1}M ×K
h
S
W
x
Cel: cechy niezmiennicze na
transformacje.
Funkcja energii dla łącznej konfiguracji (x, h, S):
E(x, h, S|θ) =
X
Wijk xi hj Sjk +b> x+c> h+
X
hj
j
i,j,k
X
Ajk Sjk
k
Wówczas: (dodatkowo modelujemy kowariancję!)
>
P (x) ∝ exp(b x)
Y
K
2 +exp(cj )
j
Y
k
X
1+exp
Wijk xi +Ajk
i
Tomczak, J., Gonczarek, A. (w recenzji) Learning invariant features using Subspace Restricted Boltzmann Machine
40/56
Subspace RBM
Caltech
Mnist
41/56
Głęboka sieć przekonań
h1
(ang. Deep Belief Network)
Model RBM (lub jego
rozszerzenia) możemy
potraktować jako podstawowy
element architektury
głębokiej.
W1
x
42/56
Głęboka sieć przekonań
h2
W2
h1
(ang. Deep Belief Network)
Model RBM (lub jego
rozszerzenia) możemy
potraktować jako podstawowy
element architektury
głębokiej.
W1
Złożenie wielu RBM prowadzi do
głębokiej sieci przekonań:
x
P (x, h1 , h2 ) = P (x|h1 ) P (h1 , h2 )
|
{z
z RBM
} |
{z
RBM
}
42/56
Uczenie
Uczenie warstwa po warstwie
(ang. pre-training ):
każda warstwa to RBM;
kolejna warstwa uczona po
wyuczeniu poprzedniej.
h1
x
43/56
Uczenie
Uczenie warstwa po warstwie
(ang. pre-training ):
każda warstwa to RBM;
h2
kolejna warstwa uczona po
wyuczeniu poprzedniej.
h1
x
43/56
Uczenie
h3
Uczenie warstwa po warstwie
(ang. pre-training ):
każda warstwa to RBM;
h2
kolejna warstwa uczona po
wyuczeniu poprzedniej.
h1
x
43/56
Uczenie
y
Uczenie warstwa po warstwie
(ang. pre-training ):
h3
każda warstwa to RBM;
h2
kolejna warstwa uczona po
wyuczeniu poprzedniej.
h1
x
Fine-tuning : DBN
wykorzystujemy do inicjalizacji
sieci skierowanej.
43/56
Głęboka maszyna Boltzmanna
(ang. Deep Boltzmann Machine)
Funkcja energii:
>
E(x, h1 , h2 |θ) = x> W1 h1 + h>
1 W2 h2 + h2 W3 h3
h3
Rozkład łączny – rozkład
Boltzmanna (Gibbsa).
h2
Wszystkie połączenia
nieskierowane.
h1
Występują zależności między
ukrytymi zmiennymi (top-down
i bottom-up):
x
(k)
P (h2 = 1|h1 , h3 ) = sigm(
X
j
(jk) (j)
h1
W1
+
X
(kl) (l)
W3 h3 )
l
44/56
Uczenie DBM
h3 Q(h3|xn)
h2 Q(h2|xn)
P(h2|h1,h3)
h1 Q(h1|xn)
P(h1|h2,xn)
x
xn
P(x|h1)
Policzenie gradientów jest niemożliwe, stosuje się wariacyjne
wnioskowanie przybliżone (mean-field) oraz próbkowanie.
45/56
Kodowanie i generowanie obrazów
p(z)
Rozpatrzmy problem
rozpoznawania obrazów.
Proces generowania obrazów:
1. z ∼ p(z)
q(z|x)
p(x|z)
2. x ∼ p(x|z)
Kodowanie obrazów na
niskowymiarowej rozmaitości:
q(z|x)
46/56
Dolne ograniczenie wariacyjne
Zakładamy N obserwacji i.i.d. D = {xn }N
n=1 .
Dolne ograniczenie wariacyjne dla wiarygodności xn :
h
i
log pθ (xn ) ­ Eqφ (z|xn ) − log qφ (z|xn ) + log pθ (xn , z)
h
i
= −DKL qφ (z|xn )||p(z) + Eqφ (z|xn ) log pθ (xn |z)
|
{z
regularyzator
}
|
{z
błąd rekonstrukcji
}
≡ L(θ, φ; xn )
47/56
Wariacyjny Auto-Koder
(ang. Auto-Encoding Variational Bayes)
Zakładamy postać rozkładu
a priori
(Prior): p(z), np. N 0, diag(σ)
Zmienne ukryte
Wnioskowanie:
q(z|x)
z
dekoder
koder
Będziemy używać sieci neuronowych
do modelowania kodera i dekodera.
Generowanie:
p(x|z) p(z)
Dekoder: pθ (x|z), np. sieć skierowana
x
Koder: qφ (z|x), np. sieć skierowana
obraz
Kingma, D.P., Welling, M., Auto-Encoding Variational Bayes, ICLR 2014
48/56
Wyuczone rozmaitości
Kingma, D.P., Welling, M., Auto-Encoding Variational Bayes, ICLR 2014
49/56
Deep Recurrent Attentive Writer : Połączenie AEVB i sieci rekurencyjnych
Gregor, K. et al., DRAW: A Recurrent Neural Network For Image Generation, ICML 2015 (pp. 1462-1471)
50/56
Deep Recurrent Attentive Writer : Połączenie AEVB i sieci rekurencyjnych
Gregor, K. et al., DRAW: A Recurrent Neural Network For Image Generation, ICML 2015 (pp. 1462-1471)
50/56
Sieć rekurencyjna i LSTM
Sekwencyjne kodowanie obrazu oraz generowanie nowego
za pomocą sieci rekurencyjnych.
Jak przeciwdziałać problemowi zanikającego
gradientu −→ LSTM (Long Short-Term Memory)
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
51/56
Mechanizm Attention
Generujemy bazowy obraz wt i
parametry przekształcenia (tzw.
attention) θt
+ bw
wt = Whw hdec
t
θt = Whθ hdec
+ bθ
t
write(hdec
t ) = F (wt ; θt )
W kolejnych krokach rekurencji
uzupełniamy ct
ct = ct−1 + write(hdec
t )
52/56
DRAW: Wyniki – MNIST
53/56
DRAW: Wyniki - SVHN & CIFAR
54/56
Przyszłość uczenia głębokiego
Uczenie nienadzorowane: DBM, AEVB...
Uczenie wielomodalne
Sieci rekurencyjne i mechanizm attention
Dedykowany sprzęt
...
55/56
Dziękujemy za uwagę
Pytania?
56/56

Podobne dokumenty