Metody Deep Learning
Wykład 7
http://arxiv.org/pdf/1502.01852.pdf
Zaczynamy
Deep Autoencoders
Autoencoders -
przypomnienie
● głęboka, wielo-
warstwowa sieć
neuronowa
● podzielona na dwie
części - encoder i
decoder
● ostatnia warstwa ma taki
sam rozmiar jak
wejściowa
SDAE
SDAE - pre-training
● trenujemy DAE
warstwa po warstwie
w sposób
unsupervised
● możliwości RBM lub
DAE
SDAE - unrolling
● po pretrenowaniu
dodajemy kolejne
warstwy w odwrotnej
kolejności
● po dodaniu ostatniej,
wyjście sieci ma ten
sam wymiar co
wejście
SDAE - fine-tuning
● parametry z
pretrenowania
warstwa po warstwie
- inicjalizacja wag w
warstwach
● trenujemy cały,
głęboki autoencoder
minimalizując błąd
rekonstrukcji ->
backpropagation
SDAE - zastosowania
● ekstrakcja cech z zaobserwowanych
danych -> przydatne przy semantycznym
haszowaniu
● wizualizacja wielowymiarowych danych
Semantyczne haszowanie
PCA - przypomnienie
Neuronowy odpowiednik PCA
Deep Auto Encoder
DAE vs PCA
Hinton & Salakhutdinov, 2006
Semantic Hashing - Ruslan Salakhutdinov, Geoffrey
Hinton, 2006
● Reuters RCV2
● ~ 400k dokumentów z różnych gałęzi
biznesu
● 20 bitowe kody
● retrieval w średnim czasie O(1)
PCA
DAE
Retrieval
Using Very Deep Autoencoders for Content-Based
image retrieval - Alex Krizhevsky, Geoffrey Hinton,
2007
● 80 mln obrazków TinyImages
● 32 x 32 piksele
Deep Auto Encoder
Demo

Metody Deep Learning - Wykład 7

Editor's Notes

  • #7 sieć neuronowa z jedną warstwą ukrytą aktywacja neuronów w warstwie ukrytej - encoder aktywacja na widocznej - dekoder rozmiar wejściowej == rozmiar dekodera cel: kompresja danych, ekstrakcja cech z danych
  • #8 budujemy głęboki model licząc na to, że wyekstrachuje nam lepsze cechy -> idea taka sama jak w przypadku innych modeli głębokich sieć zwęża się do pewnego momentu, później rozszerza się w taki sam sposób jak poprzednio się zwężała podobnie jak w autoencoderze na wyjściu chcemy uzyskać mały błąd rekonstrukcji problem z trenowaniem -> zwykłe backpropagation powoduje underfitting - błąd rekonstrukcji bardzo duży staramy się ratować tym samym czym się ratujemy w przypadku głębokich sieci FF
  • #9 pretrenowanie warstwa po warstwa mogą być autoencoder-y albo RBM-y ciekawostka: w przypadku sieci FF używanych przy Supervised Learning pretrenowanie działa jak dobry regularyzator - unikamy overfittingu w tym przyapdku pomagamy sobie osiągając lepsze minimum funkcji kosztu
  • #11 środkowa warstwa to warstwa kodu
  • #14 liniowy model redukcji wymiarowości intuicja: bierze n-wymiarowe dane i znajduje m ortogonalnych kierunków w których dane mają największą wariancję. To M kierunków tworzy mało wymiarową przestrzeń, do której rzutujemy dane działa kiepsko bo jest tylko liniowy
  • #15 sparse autoencoder liniowy