Maciej Zięba W rocaw University ofTechnology - ii.pwr.edu.plzieba/W6_PMWZI.pdf · Pre-training i...
Transcript of Maciej Zięba W rocaw University ofTechnology - ii.pwr.edu.plzieba/W6_PMWZI.pdf · Pre-training i...
UCZENIE GŁĘBOKIE (ang. deep learning) =
klasa metod uczenia maszynowego,
gdzie model
ma strukturę hierarchiczną
złożoną z wielu
nieliniowych warstw
2/28
Obszary zastosowań
Widzenie komputerowe
Wyszukiwanie informacji
Rozpoznawanie mowy
Analiza języka naturalnego
Systemy rekomendacji
Projektowanie leków
5/28
Przypomnienie: Regresja logistyczna
Model binarnej regresji logistycznej(ang. logistic regression):
p(y = 1|x,w) = σ(wTφ(x)).
Funkcja sigmoidalna (ang. sigmoidfunction):
σ(a) =1
1 + exp(−a)
Parametry modelu: w ∈ RM .
7/28
Przypomnienie: Regresja logistyczna
Model wieloklasowej regresjilogistycznej (ang. logistic regression):
p(y|x,W) = softmax(Wφ(x)).
Funkcja softmax (ang. softmaxfunction):
softmax(a)i =exp(ai)∑j exp(aj)
Parametry modelu:W ∈ RK×M .
7/28
Typowe funkcje aktywacji neuronów
Funkcja sigmoidalna:
σ(a) =1
1 + exp(−a)
Wartości: σ(a) ∈ (0, 1)Pochodna: σ(a)′ = σ(a)(1− σ(a))
Tangens hiperboliczny:
tgh(a) =exp(a)− exp(−a)exp(a) + exp(−a)
Wartości: tgh(a) ∈ (−1, 1)Pochodna: tgh(a)′ = 1− tgh2(a)
9/28
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 200910/28
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 200910/28
Czy głębokość ma znaczenie?
Twierdzenie o uniwersalnej aproksymacjiNiech D ⊂ RN ; Niech f : RN → R będzie ciągła i skończonana D. Dodatkowo niech y(x) =
∑i g(wTi 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 ∈ RNzachodzi:
|y(x)− f(x)| < ε
Wystarczy zatem tylko jedna warstwa jednostek ukrytych,aby z dowolną precyzją aproksymować każdą funkcję ciągłą.
Ale. . .11/28
Czy głębokość ma znaczenie?W praktyce modele hierarchiczne potrzebują dużo mniejjednostek ukrytych (a zatem dużo mniej parametrów) douzyskania 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łębokiN(N − 1)/2.
12/28
Czy głębokość ma znaczenie?W praktyce modele hierarchiczne potrzebują dużo mniejjednostek ukrytych (a zatem dużo mniej parametrów) douzyskania 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łębokiN(N − 1)/2.
12/28
Uczenie sieci neuronowej Niech p(yk = 1|x,θ) k-te oznacza wyjście z sieci, gdzieθ = {W1,b1,W2, . . .}. Wtedy warunkowawiarygodność to:
p(Y|X,θ) =N∏n=1
K∏k=1
p(yk = 1|xn,θ)ynk
Biorąc ujemny logarytmy i dzieląc przez N dostajemykryterium uczenia zwane entropią krzyżową (ang.cross-entropy):
L(θ) = − 1N
N∑n=1
K∑k=1
ynk log p(yk = 1|xn,θ)
Uczyć możemy z użyciem stochastycznego gradientuprostego. Potrzebny gradient po wszystkich parametrach– metoda propagacji wstecznej (ang. backpropagation).
13/28
Problem zanikającego gradientuDla typowych funkcji aktywacji σ(x) i tgh(x) wartościpochodnych są zawsze w [0, 1].
W konsekwencji wyrażenia typu:
. . .∂hit+1∂hjt
∂hjt∂hkt−1
∂hkt−1∂hlt−2
. . .
często będą bliskie zeru.
Jest to zjawisko zanikającego gradientu (ang. vanishinggradient) i powoduje problem z wyuczeniem cech na niższychwarstwach.
Był to jeden z głównych powodów spowolnienia rozwoju siecineuronowych w latach 90.
15/28
Problem zanikającego gradientuDla typowych funkcji aktywacji σ(x) i tgh(x) wartościpochodnych są zawsze w [0, 1].
W konsekwencji wyrażenia typu:
. . .∂hit+1∂hjt
∂hjt∂hkt−1
∂hkt−1∂hlt−2
. . .
często będą bliskie zeru.
Jest to zjawisko zanikającego gradientu (ang. vanishinggradient) i powoduje problem z wyuczeniem cech na niższychwarstwach.
Był to jeden z głównych powodów spowolnienia rozwoju siecineuronowych w latach 90.
15/28
Problem zanikającego gradientuDla typowych funkcji aktywacji σ(x) i tgh(x) wartościpochodnych są zawsze w [0, 1].
W konsekwencji wyrażenia typu:
. . .∂hit+1∂hjt
∂hjt∂hkt−1
∂hkt−1∂hlt−2
. . .
często będą bliskie zeru.
Jest to zjawisko zanikającego gradientu (ang. vanishinggradient) i powoduje problem z wyuczeniem cech na niższychwarstwach.
Był to jeden z głównych powodów spowolnienia rozwoju siecineuronowych w latach 90.
15/28
Problem zanikającego gradientuDla typowych funkcji aktywacji σ(x) i tgh(x) wartościpochodnych są zawsze w [0, 1].
W konsekwencji wyrażenia typu:
. . .∂hit+1∂hjt
∂hjt∂hkt−1
∂hkt−1∂hlt−2
. . .
często będą bliskie zeru.
Jest to zjawisko zanikającego gradientu (ang. vanishinggradient) i powoduje problem z wyuczeniem cech na niższychwarstwach.
Był to jeden z głównych powodów spowolnienia rozwoju siecineuronowych w latach 90.
15/28
Pre-training i fine-tuning
Problem zanikającego gradientu możnarozwiązać stosując tzw. pre-training, czyliuczenie wstępne.
Polega to na nauczeniu warstwa powarstwie modelu nienadzorowanegozłożonego z warstw sieci, np. głębokiegoautokodera.
Wyczuone parametry traktujemy jakopunkt startowy dla algorytmubackpropagation. Jest to tzw. fine-tuning.
Hinton, Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks. Science 2006
16/28
Pre-training i fine-tuning
Problem zanikającego gradientu możnarozwiązać stosując tzw. pre-training, czyliuczenie wstępne.
Polega to na nauczeniu warstwa powarstwie modelu nienadzorowanegozłożonego z warstw sieci, np. głębokiegoautokodera.
Wyczuone parametry traktujemy jakopunkt startowy dla algorytmubackpropagation. Jest to tzw. fine-tuning.
Hinton, Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks. Science 2006
16/28
Pre-training i fine-tuning
Problem zanikającego gradientu możnarozwiązać stosując tzw. pre-training, czyliuczenie wstępne.
Polega to na nauczeniu warstwa powarstwie modelu nienadzorowanegozłożonego z warstw sieci, np. głębokiegoautokodera.
Wyczuone parametry traktujemy jakopunkt startowy dla algorytmubackpropagation. Jest to tzw. fine-tuning.
Hinton, Salakhutdinov. Reducing the Dimensionality of Data with Neural Networks. Science 2006
16/28
Jednostki ReLUJednostki ReLU (ang. Rectified LinearUnit) są to funkcje aktywacji o postaci:
f(x) = max(0, x)
Dzięki nim:
Nie ma zanikającego gradientu i niepotrzeba uczenia wstępnego
Uczymy się bardziej odpornych cechdzięki rzadkiej (ang. sparse) aktywacjijednostek
Uczenie trwa dużo szybciej
Nair, Hinton. Rectified Linear Units Improve Restricted Boltzmann Machines. ICML 2010
17/28
Jednostki ReLUJednostki ReLU (ang. Rectified LinearUnit) są to funkcje aktywacji o postaci:
f(x) = max(0, x)
Dzięki nim:
Nie ma zanikającego gradientu i niepotrzeba uczenia wstępnego
Uczymy się bardziej odpornych cechdzięki rzadkiej (ang. sparse) aktywacjijednostek
Uczenie trwa dużo szybciej
Nair, Hinton. Rectified Linear Units Improve Restricted Boltzmann Machines. ICML 2010
17/28
Dropout
Dropout jest szczególną technikąregularyzacji.
Z prawdopodobieństwem p ”wybieramy”poszczególne jednostki podczas jednegokroku algorytmu uczącego (np. SGD)
Wyuczone cechy są bardziej odporne naniewielkie perturbacje w danych, dziękiczemu uzyskujemy wyższą jakośćkońcowego klasyfikatora.
Srivastava et al. Dropout: A simple way to prevent neural networks from overfitting. JMLR 2014
18/28
Dropout
Dropout jest szczególną technikąregularyzacji.
Z prawdopodobieństwem p ”wybieramy”poszczególne jednostki podczas jednegokroku algorytmu uczącego (np. SGD)
Wyuczone cechy są bardziej odporne naniewielkie perturbacje w danych, dziękiczemu uzyskujemy wyższą jakośćkońcowego klasyfikatora.
Srivastava et al. Dropout: A simple way to prevent neural networks from overfitting. JMLR 2014
18/28
Dropout
Dropout jest szczególną technikąregularyzacji.
Z prawdopodobieństwem p ”wybieramy”poszczególne jednostki podczas jednegokroku algorytmu uczącego (np. SGD)
Wyuczone cechy są bardziej odporne naniewielkie perturbacje w danych, dziękiczemu uzyskujemy wyższą jakośćkońcowego klasyfikatora.
Srivastava et al. Dropout: A simple way to prevent neural networks from overfitting. JMLR 2014
18/28
Sieci konwolucyjne CNN (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
19/28
Warstwa konwolucyjna
Filtry są nakładane na zasadzie okna przesuwnego. Ideawspółdzielenia parametrów (ang. parameter sharing).
Warstwy konwolucyjne ekstrahują cechy z lokalnychfragmentów.
Używa się standardowych funkcji aktywacji: ReLU,sigmoida, tanh.
Images from S. Lazebnik presentation
20/28
Pooling
Pooling służy do lokalnego skompresowania informacji.
Zmniejsza liczbę parametrów, uodparnia sieć na drobnelokalne zaburzenia na obrazie i zbiera informację zszerszego obszaru.
Używa się funkcji max albo sum na lokalnym fragmencie.
Images from S. Lazebnik presentation
21/28
Normalizacja map cech
Normalizacja może być wewnątrz pojedynczej mapycech z lokalnego otoczenia dla każdego piksela albopoprzez przekrój kilku map cech dla każdego pikselaosobno.
Normalizacja ma na celu wyrównanie znaczeniaaktywacji o różnej sile.
Images from S. Lazebnik presentation
22/28
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/28
Sieć ImageNet – filtry konwolucyjne
Zeiler, Fergus. Visualizing and Understanding Convolutional Networks. ECCV 2014
25/28