• Nie Znaleziono Wyników

Sieci neuronowe, cz. 1 (2020)

N/A
N/A
Protected

Academic year: 2021

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

Copied!
35
0
0

Pełen tekst

(1)

Sztuczne sieci

neuronowe

(2)

Uczenie maszynowe

 Wnioskowanie na podstawie zależności

wydobytych z analizy bardzo dużych zbiorów danych

 Automatyczne odkrywanie zależności z

przykładów uczących

 Zastosowanie wcześniejszej wiedzy do

(3)

Kategorie uczenia

maszynowego

 Nadzorowane – dla wszystkich danych

znany jest pożądany wynik

 Nienadzorowane – wynik nie zawsze jest

znany

 Klasyfikacja – wynik to „etykieta”,

„kategoria”, „klasa”

(4)

Model nadzorowany

 Trening w oparciu o znane dane i

odpowiedzi:

 Predykcja:

Dane Decyzja

Pożądana odpowiedź Obliczenie błędu Korekta

Zbiór uczący

Model

(5)

Ocena trafności modelu

Predykcja i pomiar błędów Dane testowe Dane treningowe Dopasowanie modelu

(6)

Błąd – np. średniokwadratowy

 Niezależny od znaku

(7)

Zdolność generalizacji

Przetrenowanie – overfitting

(8)

Model neuronu

 Inspiracja komórką nerwową

Pierwszy matematyczny opis komórki nerwowej:

McCulloch W. S. , Pitts W. (1943) A logical calculus of the ideas

immanent in nervous activity. Bulletin of Mathematical Biophysics 5, pp.

(9)

Model neuronu

 Wejścia – suma ważona: xT· w

 Przetwarzanie – normalizacja sumy za pomocą

funkcji aktywacji: f(xT· w)

 Wyjście: y= f(xT· w)

 Neuron reaguje nawet na jedną niezerową wartość na wejściu

(10)

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 + 𝑒−𝑧

(11)

Funkcje aktywacji

 Ciągła

 Ograniczona dziedzina wartości

 Łatwa do obliczenia i ciągła pochodna  Ustalanie kształtu za pomocą parametru

(12)

Perceptron – klasyfikator

 Klasyfikacja n-wymiarowego obiektu do

jednej z dwóch klas

 Wyjście y≥0 -> klasyfikacja do klasy 1.  Wyjście y<0 -> klasyfikacja do klasy 2.

 y1= -2·x1 + x2 + 3 (dla y=0: x2=2·x1 - 3)  y2= -4·x1 + 3·x2 + 6 (dla y=0: x2=4/3·x1-2)

(13)

Przykład

 https://playground.tensorflow.org  (klasyfikacja skupisk gaussowskich)  (funkcje aktywacji)

(14)

Jeden neuron – sieć neuronów?

 Jeden neuron – liniowa granica między klasami  Warstwy neuronów – wyliczanie cech/atrybutów z

danych (feature) przydatnych dla kolejnych neuronów Warstwy: - Wejśćiowa - N ukrytych - Wyjściowa Macierze wag np. 4x2 Funkcje aktywacji każdego neuronu

(15)

Przykład

 https://playground.tensorflow.org  (klasyfikacja XOR)

(16)

Architektury sieci

 Jednokierunkowe

 Ze sprzężeniem zwrotnym (proste wyjście na

wejście)

 Komórkowe (złożone połączenia dwukierunkowe

miedzy sąsiednimi neuronami)

 Z pamięcią (Long Short-Term Memory): w sieci

wielowarstwowej zamiast neuronów „bramki”:

(17)

Sieć Hopfielda

 Sprzężenie zwrotne

 Przetwarzanie szeregów

(18)

Sieć komórkowa

 Np. na regularnej siatce prostokątnej  Z sąsiedztwem 1 do 8

(19)

Sieci z pamięcią krótkotrwałą

 Neuron σ – bramkowanie [0,1]  Neuron tanh - skalowanie

Źródło: http://colah.github.io/posts/2015-08-Understanding-LSTMs/

Przepływ stanu

(20)

Zastosowania sieci

 Rozpoznawanie i klasyfikowanie na

podstawie wcześniejszych wzorców

 Kompresja danych (wyznaczanie

jednoznacznej prostszej reprezentacji)

 Predykcja wartości, sterowanie

 Filtracja rekonstrukcja sygnałów (sieci

(21)

Trening sieci

 Problem: big data  Czas

(22)

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!

(23)

Funkcja kosztu

J(y,f(xTw)) zależy od:

konkretnego przykładu x

uzyskanego wyjścia f(xTw) (od wag)  pożądanego wyjścia y

 Pochodne cząstkowe po wagach w

każdej warstwie:

(24)

Wsteczna propagacja błędu

Backpropagation

 Wyliczenie od ostatniej warstwy:

Korekty wag Wn na podstawie funkcji

kosztu

Wstecz: korekty wag Wn-1 na postawie

(25)

Aktualizacja wag

wnowa = wstara – ɳ · gradient· xT + moment

Bł ą d (f u n kc ja k os zt u ) Wagi

(26)
(27)

Aktualizacja wag z

momentem

(28)

Moment

 Moment wprowadza do algorytmu

element bezwładności, który zmniejsza chwilowe i gwałtowne zmiany kierunku wskazywanego przez gradient funkcji błędy

 Uczenie nie wchodzi w płytkie minima

lokalne

 Znaczne przyspieszenie nauki dla płaskich

(29)

Aktualizacja wag

 Aktualizacja wag wyliczana może być w oparciu o:

Wszystkie wektory x i y

 Dokładne: każda poprawka uwzględnia

wszystkie dane

 Długotrwałe

 Losowo wybrany podzbiór  Szybkie

 Niedokładne: poprawka dla jednej próbki może

(30)

Stochastic Gradient Descent

 Poprawka wag wykonywana po

uwzględnieniu tylko jednej próbki

 Założenia:

 Z czasem uzyska poprawę dla wszystkich  Zwykle stosuje się niewielki krok poprawki  Pomaga uzyskać regularyzację

(31)

Mini-batch

 Podzbiory danych wejściowych, np. 16, 32

próbki

 Aktualizacja wag w danym kroku

 Pobranie losowo kolejnego podzbioru  Aktualizacja… itd.

(32)

Aktualizacja wag - podsumowanie

(33)

 https://playground.tensorflow.org  Learning rate

(34)

1 0 0 0 1 0 0 0 1

Rower Osobowy Ciężarowy

Klasyfikacja – kodowanie typu

„One-hot”

 Warstwa wyjściowa z n neuronów

(n=liczba_klas)

 Każda klasa to „1” na odpowiednim

(35)

Dziękuję za

uwagę

Cytaty

Powiązane dokumenty

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

 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ą

• Składową błędu dla każdego j-tego połączenia określamy jako pochodną cząstkową błędu względem j-tej wagi. • Składowych tych będziemy mogli użyć do

Często współczynnik ten jest ustawiany na najwyższą wartość początkowo, a następnie jest redukowany przy zmianie wag sieci...

• dla wygenerowanych danych dwuwymiarowych dwóch klas z rozkładów normal- nych zaznacz na wykresie dane treningowe, klasyfikator sieciami neuronowymi, dla różnej liczby neuronów

Gdy mamy warstwę ukrytą problem jest taki, że nie znamy prawidłowej wartości na wyjściu neuronów z warstwy ukrytej, więc nie wiemy jak wyliczyć modyfikacje wag.. Algorytm