2. Co to jest sztuczna sieć neuronowa?
Algorytm klasyfikacji, szczególnie do problemów nieliniowo separowalnych np.:
? ??
!
Oczywiście, dwa piksele to trochę mało ”ficzerów”.
3. Jak wygląda?
Wektor cech (wejściowy)
(np. kolor piksela 1 i 2 - 2
cechy, 2 neurony w tej
warstwie)
Klasa, do której
“wpadł” dany wektor
cech (np. samochód,
nie samochód )
Warstwy ukryte to
wektory cech utworzone
na podstawie poprzednich
warstw (tutaj wektora
wejścowego)
4. Gdzie tu duże zbiory danych?
● Wielkość wektora cech (np. 171,476 wyrazów w Angielskim, miliony pikseli w
obrazach wysokich rozdzelczości, filmy)
● Liczebność zbioru treningowego (np. 81,941,760 filmów na YT, 5,010,071
artykułów na Wikipedii)
5. Jak działa?
Backprop - liczy błąd każdego
neuron (konkretnie gradient funkcji
blędu)
Forwardprop – ustawia wartości
funkcji aktywacji neuronów (liczy
“wartość cech” warstw ukrytych)
6. Jakie mamy problemy obliczeniowe?
W momencie kiedy backpropagation wyliczy gardienty, potrzebujemy metody
optymalizacji, która wykorzysta wyliczony gradient w celu minimalizacji błędu
klasyfikacji. Typowo używane metody:
● BFGS
● Gradient descent
7. Gradient descent
Każdy krok to:
W wersji klasycznej gradient
funkcji kosztu* (błędu) wygląda
tak:
*jest to gradient dla kosztu w postaci entropii krzyżowej
Tak w wersji „stochastic”:
Czyli co krok liczymy koszt względem jednego
wektora treningowego, a nie całego zbioru.Czyli co krok iterujemy po
całym zbiorze treningowym.
8. Co jeśli nie wystarczy jeden komputer?
Trzeba rozproszyć algorytmy. Jak?
9. Large Scale Distributed Deep Networks
Artykuł Large Scale Distributed Deep Networks 2012 opsuje dwa rozproszone
algorytmy optymalizacji będące modyfikacją wcześniej wymienionych:
● Downpour SGD
● Sandblaster L-BFGS
http://research.google.com/archive/large_deep_networks_nips2012.html
10. Architektura Downpour SGD
• SGD działa asynchronicznie na
wszystkich parametrach
przechowywanych na serwerze
• Zbiór treningowy podzielony
jest na trzy części
• Każda replika modelu liczy
gradient tylko dla swojego
zestawu parametrów na
serwerze
• SGD nadaje replikom „wspólny
cel”
• Podwójne zrównoleglenie
• Mocno „online’owy” charakter
uczenia
11. Kod klienta (repliki modelu)
Bufor na policzone gradienty
Parametr do regulacji częstości pobierania
parametrów modelu z serwera
Parametr do regulacji częstości wysyłania
parametrów modelu do serwera
SGD „na własną rękę” w
iteracjach bez fetcha z serwera