• Nie Znaleziono Wyników

Sieci neuronowe, cz. 2 (2020)

N/A
N/A
Protected

Academic year: 2021

Share "Sieci neuronowe, cz. 2 (2020)"

Copied!
52
0
0

Pełen tekst

(1)

Sztuczne sieci

neuronowe 2

(2)

Perceptron

 Pojedynczy neuron f() … x1 xn w1 wn 1 b … y x=[x1…xn, 1]

w=[w1…wn, b]T „bias” Wartość progowa (zwykle ujemna, ustala kiedy argument funkcji

jest większy od zera)

y=f(x1· w1+…+xn· wn+b) =f(b + Σxiwi)

1 1 + 𝑒−𝑧

(3)
(4)

Hyperbolic Tangent Function

Zastosowania:

Różniczkowalna aproksymacja funkcji sign Włącznik/Wyłącznik

Detekcja

(5)
(6)

Rectified Linear Unit (ReLU)

Zastosowania:

Zachowanie wartości bez zmian Przetwarzanie wyników sumowania i wartości bezwzględnych

Dla średnich ważonych Dla problemów liniowych

(7)
(8)

“Leaky” Rectified Linear Unit (ReLU)

Zastosowania:

Analogiczne jak ReLU

+ niezerowa pochodna dla wartości ujemnych

Istotne ujemnych wartości „bias” w argumencie f.aktywacji: y=f(x1· w1+…+xn· wn+b)

(9)
(10)

Jeden neuron – sieć neuronów?

Jeden neuron – liniowa granica między klasamiWarstwy neuronów – wyliczanie cech/atrybutów

(feature) przydatnych dla kolejnych neuronów

Warstwy: - Wejściowa - N ukrytych - Wyjściowa Macierze wag np. 4x2 Funkcje aktywacji każdego neuronu

(11)

Trening sieci - Propagacja

wsteczna

(12)
(13)

Metody korekty wag

 Iteracyjne poprawki w stronę malejącego

błędu

Pochodna w punkcie ujemna -> zwiększ Bł ą d (f u n kc ja k os zt u ) Wagi Minimum globalne!

(14)
(15)

Aktualizacja wag z

momentem

(16)

Aktualizacja wag - podsumowanie

(17)

𝑥

𝑖

=

𝑥

𝑖

− 𝑥

𝑚𝑖𝑛

𝑥

𝑚𝑎𝑥

− 𝑥

𝑚𝑖𝑛

𝑥

𝑖

= 2

𝑥

𝑖

− ҧ

𝑥

𝑥

𝑚𝑎𝑥

− 𝑥

𝑚𝑖𝑛

− 1

𝑥

𝑖

=

𝑥

𝑖

− ҧ

𝑥

𝜎

;

𝜎 =

1

𝑛

𝑖=1 𝑛

𝑥

𝑖

− ҧ

𝑥

2

Normalizacja danych wejściowych

 Przedział [0, 1]

 Przedział [-1, 1]

(18)

Metody optymalizacji

momentu

 http://ruder.io/optimizing-gradient-descent/

(19)

 Przeszukiwanie wprzód, tj. gradient wyznaczany

w punkcie „przyszłym”

 Poprawka kieruje wagi w kierunku tego spadku

błędu

Moment Nesterova

(20)

Wektor momentu

Gradient

Gradient Nesterova

Wynikowa korekta

Moment Nesterova

(Accelerated Nesterov Gradient)

Klasyczne podejście: Nesterov: liczenie gradientu w przyszłym punkcie

(21)

AdaGrad

(metoda adaptacyjna)

Skalowanie poprawki dla każdej wagi osobno

Zmniejszanie poprawki dla wag często aktualizowanych:

Obliczanie sumy G wszystkich dotychczasowych poprawek

dla danej wagi

Skalowanie nowych poprawek przez G

Duża waga dla poprawek występujących rzadko, tj.

gdy w dotychczasowych krokach czynnik Gt był mały, a w aktualnym gradient jest niezerowy

 …ale suma stale rośnie, zmniejszając (w granicy) tempo

nauki do zera

Gtto suma gradientów

do chwili t

ϵ - Unikamy dzielenia

(22)

Adadelta

 Wariant AdaGrad

 Zamiast sumy wszystkich poprzednich

poprawek, uwzględnia „wiek” gradientów:

wygaszanie starszych poprawek

bardziej niż nowych poprawek

 Aktualizacja wag przebiega głównie na

podstawie najnowszych poprawek

(23)

Adam - Adaptive Moment

Estimation

 Użycie jednocześnie momentu

pierwszego i drugiego rzędu i wygaszanie obu w czasie.

2

(24)
(25)
(26)

Zanikający gradient

 Problem dla wielu warstw z nasycającymi

się f.aktywacji

 Wraz z propagacją wstecz:

 Gradient mnożony przez pochodną bliską

zeru (nasycenie), wyliczana poprawka jest coraz mniejsza (vanishing gradient)

 Dlatego w głębokich sieciach, stosuje się

nienasycające się funkcje, np. ReLU (y=x, dla x>0)

(27)

Strojenie hiperparametrów

 Losowo w danym przedziale, wykładniczo, np.10random(-6, 1)  Przyrost o 0.3 dla 0.001 to ogromna zmiana,

 Przyrost o 0.3 dla 10 to nieistotna zmiana.  Poszukiwanie losowych kombinacji

 Uwaga na skrajne wartości

 Może najlepszy wynik dla 10-6

oznacza, że dla jeszcze mniejszych będzie lepszy?

 Sukcesywnie zawężać zakres,

(28)

1 0 0 0 1 0 0 0 1

Rower Osobowy Ciężarowy

Klasyfikacja – kodowanie typu

„One-hot”

 Warstwa wyjściowa posiada n neuronów

(n=liczba_klas)

 Każda klasa to „1” na odpowiednim

(29)

Neurony wyjściowe

 Funkcja aktywacji – softmax:

 Wartości z zakresu <0,1>, sumujące się do 1

𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑧𝑖) = 𝑒 𝑧𝑖 σ𝑘=1𝐾 𝑒𝑧𝑘 2 1 0,1 0,7 0,2 0,1 „Logits” Prawdopodo-bieństwa

(30)

Regularyzacja

 Unikanie dużych wartości pojedynczych wag, gdyż zwykle

oznacza to:

 Niewłaściwe „faworyzowanie” wybranych wejść dużymi wagami

 Niezdolność do generalizacji – radzenia sobie z nowymi danymi,

wcześniej nie reprezentowanymi

 …czyli ryzyko przetrenowania

 Błąd (funkcja kosztu) uwzględnia wartości wag (ocenia model)

𝐽 = 1 2𝑛 ෍ 𝑖=1 𝑛 ො 𝑦𝑖 − 𝑦𝑖 2 + 𝜆 ෍ 𝑗=1 𝑚 𝑊𝑖2 𝐽 = 1 2𝑛 ෍ 𝑖=1 𝑛 ො 𝑦𝑖 − 𝑦𝑖 2 + 𝜆 ෍ 𝑗=1 𝑚 |𝑊𝑖 |

Błąd nauki „Kara” za duże wartości wag, czyli za niewłaściwy model

(31)

Warianty regularyzacji

 L2 (odległość) miara Euklidesowa  L1 (suma) – miara Manhattan  (x to przykładowa waga) Surowe „karanie” dużych wag

(32)

 https://playground.tensorflow.org  regularyzacja

(33)

„Dropout” - koncepcja

Pojedynczy neuron nie powinien mieć

przeważającego wpływu na decyzję  Strategia „dropout” wymusza udział

wszystkich neuronów w decyzji

 Jest to dodatkowa metoda regularyzacji

(34)

„Dropout” - koncepcja

Na etapie treningu wyłącza się losowo neurony

(wyjścia ustawia na zero) na czas jednego cyklu nauki; sterowane prawdopodobieństwem p

 Neurony wyłączone nie są aktualizowane  Trenuje się pozostałe neurony

 Ponawia się proces losowego włączenia/wyłączenia

i kontynuuje trening

 Na etapie testu decyzja podejmowana jest łącznie

przez wszystkie neurony

(35)

Dropout – podejmowanie

decyzji

 Jeśli neuron był włączany z

prawdopodobieństwem p, to w trakcie wnioskowania jego wagi wyjściowe są skalowane: w’=pw

(36)

Dropout – zespół modeli

Uśrednić modele i decyzje Trenować różne

modele osobno:

(37)

Głębokie sieci

neuronowe

(38)

Głębokie (splotowe) sieci

neuronowe

 Sieci o wielu warstwach

Dodatkowe typy neuronów

 Splotowe

„Kumulujące”, ang. pooling

Cel: stopniowa (z warstwy na warstwę) redukcja

reprezentacji próbki wejściowej do zestawu cech

opisujących

 Powiązanie cech (a nie wartości sygnału/pikseli)

(39)

Splot 2D

Typowo: filtracja obrazu, tj. jednej/trzech macierzy 2D: wys.×szer.×3

(1 lub 3 kolory składowe, tylko skala szarości lub RGB)

Wariant: filtracja spektrogramu, traktowanego jako obraz 2D: wys.×szer.,

czyli częstotliwość×czas

 Użycie kilku filtrów (zestawów wag), na wszystkich wycinkach macierzy,

przesuwane z krokiem 1×1

 „wycinek” =

„pole recepcyjne”

(analogia do komórek

(40)

Przykład splotu

 Detektor krawędzi:

(41)

Zastosowania splotu 2D

Wykrywanie krawędzi, liczenie pochodnejWykrywanie punktów, kierunków, faktur,

częstotliwości

Usuwanie szumu, tj. wyliczanie tła, czyli lokalnej

tendencji

(42)

Sieć głęboka - wiele warstw,

wiele filtrów

(43)

Kumulowanie „Pooling”

 Pozycja obiektu na obrazie z dokładnością co do

piksela nie jest istotna! Ważne są lokalne tendencje (max, średnia, mediana)

Przesuwane okno z zadanym krokiem (ang. stride)  Zmniejszenie rozdzielczości

(44)

Kumulowanie „Pooling”

 Dobór rozmiaru zakładki

 Rozmiar 3x3, stride 1:

(45)
(46)

„Representation learning”

i kompresja danych siecią

typu „Autoencoder”

(47)

Transfer learning

Bazowanie na gotowej sieci

wytrenowanej wcześniej na milionach próbek, w celu uzyskania nowej sieci dla innego zagadnienia o małej liczbie

próbek

(48)

Transfer learning

 Wytrenowana sieć stosowana jako:

Ekstraktor przydanych cech

 wymaga dotrenowania głównie ostatniej

warstwy, wiążącej cechy z decyzjami

 Regulacja prędkości nauki:

 Wysoka prędkość dla ostatniej warstwy  Niska prędkość dla całej sieci

 stosowany dla małego zbioru danych,

(49)

Transfer learning

 Wytrenowana sieć stosowana jako:

Punkt startu do dalszego treningu

 założenie, iż najprzydatniejsze cechy z warstw

pierwszych pozostaną (nieznacznie zmienione), a cechy z warstw głębszych dostosują się do nowego zagadnienia

 prędkość nauki dla wszystkich warstw taka sama  dla dużego zbioru, o innej naturze niż oryginalny

(50)

Wczesne zatrzymanie treningu

 Obserwacja błędu walidacyjnego

 Jeśli przestaje maleć, zakończyć trening

Generalization gap

(51)

Przetrenowanie

 Sieć można „przeuczyć”, gdy algorytm

powtarza się w zbyt wielu krokach

 Sieć przetrenowana generuje bardzo

trafne wyniki dla danych treningowych, ale nie działa prawidłowo dla danych testowych

 Metoda przeciwdziałania – sprawdzanie

działania sieci w każdym kroku dla danych walidacyjnych

(52)

Dziękuję za

uwagę

Cytaty

Powiązane dokumenty

ficzny kontekst kultury tych krajów to jest zupełnie inne zadanie i zagadnienie. Jak to zrobić? Czy jest pożyteczne takie nauczanie matematyki, które spowoduje w

 Każdy neuron z warstwy ukrytej albo przesyła sygnały do wartości wyjściowych, albo znajduje się w jednej z głębszych warstw, wówczas jego błąd można oszacować z

Podstawową cechą sieci neuronowej jest jej zdolność do uogólniania, a więc generowania właściwego rozwiązania dla danych, które nie pojawiły się w zestawie danych

Przy starcie uczenia z wartości losowych prawdopodobieństwo utknięcia procesu w minimum lokalnym jest większe niż w przypadku sieci. sigmoidalnych, ze względu na silną

Wyłączenie warstwy WARWYŁ/LAYOFF Włącz wszystkie warstwy WARWŁ/LAYON. Izolowanie warstwy

• Sposób działania perceptronu (wartości wag) w praktycznych problemach nie jest ustawiany ręcznie, tylko wyuczany na podstawie przykładów. • Potrzebujemy zarówno metody uczenia

Modele koneksjonistyczne: sieci i rozproszone przetwarzanie równoległe, ale węzły nie działają jak neurony – sieci Bayesowskie, modele graficzne, uczenie się przez

Zakłada się, że badacz dysponuje również informacjami o liczności oraz wartości średniej i wariancji badanej cechy w każdej warstwie.. Au- tor nie spotkał się z