Uczenie sieci neuronowych i bayesowskich

Transkrypt

Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Uczenie sieci neuronowych i bayesowskich
Wstęp do metod sztucznej inteligencji
Jarosław Piersa
www.mat.uni.torun.pl/~piersaj
2009-01-22
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Co to jest neuron?
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Komputer, a mózg
Jednostki obliczeniowe
Pojemność
Czas 1 cyklu
Przepustowość
Operacji na neuronach 1/s
komputer
1-4 CPU
109 b RAM, 1010 dyski
10−8 s
109 b/s
105
Jarosław Piersa
mózg
1011 neuronów
1011 neuronów, 1014 synaps
10−3 s
1014 b/s
1014
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Perceptron
I
Dane wejściowe xi , i = 1..n
I
Wagi wi , i = 1..n
I
Funkcja aktywacyjna f
P
Wyjscie f ( ni=1 xi wi )
I
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Funkcja aktywacji
I
I
Identyczność
f (s) = s
I
Funkcja progowa
0
s<p
f (s) =
1
s≥p
Jarosław Piersa
I
Funkcja polarna
−1
f (s) =
+1
s<p
s≥p
Funkcja sigmoidalna
f (s) =
1
1 + exp(−s + p)
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Uczenie perceprtornu
Dane:
I
I
Perceptron
Zestaw przykładowych danych wejściowych E j = (e1j ..enj ), j = 1..M
wraz z opdowiadającymi im poprawnymi wynikami T j , j = 1..M
Wyniki:
I
Wagi neuronu: wi , i = 1..n
I
Opcjonalne parametry funkcji aktywacyjnej f
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Uczenie perceprtornu
I
Przypisz losowe wagi w pobliżu 0
I
Wybierz kolejne dane wejsciowe E j
I
Oblicz aktywację neuronu o na wylosowanym przykładzie E j
I
Jeżeli jest zgodna z poprawnym wynikiem T j to wróć do kroku 2
I
Jeżeli nie, to uaktualnij wszystkie wagi
wi = wi + eij · (Tj − o) · η
η > 0 — stała uczenia
I
Zakończ gdy na wszystkich (wystarczającej ilości) przykładach sieć
daje poprawny wynik
I
Wróć do kroku 2
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Ograniczenia perceptronu
Problemy liniowo separowalne
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Sieci warstwowe
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Wsteczna propagacja błędu
I
Wybierz przykład E z listy przykładów i odpowiadający mu poprawny
wynik T
I
Oblicz wynik działania sieci na E , zapamiataj go, zapamietaj również
wyniki w warstwach pośrednich oj , sumy ważone inj (wyniki przed
zaaplikowaniem funkcji aktywującej) i wejscia do neuronow w danej
warstwie Ik,j (wejsciem do warstwy pierwszej jest przykład, dla warstw
wyższych j są nimi wyniki z warstwy poprzedniej k)
Dla wszystkich jednostek i w zewnętrznej warstwie sieci:
I
I
I
I
Oblicz błąd erri = Ti − oi
Oblicz ∆i = erri · f 0 (ini )
Uaktualnij wagi w jednostce i
wj,i = wj,i + η · oj · erri · f 0 (ini )
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Wsteczna propagacja błędu cd.
I
Dla wszystkich jednostek j w kolejnych warstwach sieci:
I
Oblicz błąd
∆j = f 0 (inj )
X
wj,l · ∆l
l
I
Uaktualnij wagi do jednostki j
wk,j = wk,j + η · Ik,j · ∆j
I
Wróć do 1.
I
Zakończ po wykonaniu określonej liczby kroków lub osiągnięciu
zadowalającego poziomu błędu
Gdzie:
Ik,j k-te wejście do jednostki j
η > 0 stała uczenia
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Wsteczna propagacja błędu
Błąd średniokwadratowy
ERROR =
1X
(Ti − Oi )2
2
i
Funkcja sigmoidalna
f (s) =
1
1 + exp(−s)
f 0 (s) = f (s) · (1 − f (s))
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Algorytm spadku gradientowego
Dana:
funkcja f : Rn → R różniczkowalna
Cel:
Znaleźć x ∈ Rn takie, że ∀y ∈Rn f (x) ≤ f (y )
Algorytm:
I
Rozpocznij w losowym x (0)
I
Dla każdej współrzędnej i = 1..n
(k+1)
xi
I
(k)
= xi
−η·
∂f (k)
(x )
xi
Powtarzaj krok 2
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Architektura sieci neuronowych
I
I
Perceptrony — jednen neuron / jedna warstwa
Sieci warstwowe (layer networks)
I
I
Jedna warstwa ukryta — może przybliżać funkcje ciągłe
Dwie warstwy ukryte — może przybliżać funkcjc nieciągłe
I
Inne sieci jednoprzepływowe (feed forward)
I
Algrytmy konstrukcji i optymalizacji architektury sieci
I
Sieci rekurencyjne
I
Sieci Hopfielda
I
Maszyny Boltzmanna
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Zastosowania sieci neuronowych
I
Rozpoznawanie obrazów
I
Rozpoznawanie tekstu pisanego
I
Czytanie tekstu pisanego
I
Kierowanie pojazdami
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Perceptron
Sieci warstwowe
Podsumowanie
I
Możliwości opisu
I
Efektywność obliczeniowa
I
Generalizacja
I
Odporność na szumy
I
Nieprzeźroczystość
I
Korzystanie z wiedzy
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Uczenie w sieciach bayesowskich
Porównanie sieci neuronowych i bayesowskich
Co to jest sieć bayesowska?
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Uczenie w sieciach bayesowskich
Porównanie sieci neuronowych i bayesowskich
Problemy uczenia sieci bayesowskich
Mając dany zestaw przykładów (n-ki uporządkowane zawierające wartości
przyjęte w węzłach sieci) znaleźć table prawdopodobieństw warunkowych
dla węzłów w sytuacji gdy:
I
znana struktura sieci, brak jednostek ukrytych
I
nieznana struktura sieci, brak jednostek ukrytych
I
znana struktura sieci, jednostki ukryte
I
nieznana struktura sieci, jednostki ukryte
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Uczenie w sieciach bayesowskich
Porównanie sieci neuronowych i bayesowskich
Co to jest sieć bayesowska?
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Uczenie w sieciach bayesowskich
Porównanie sieci neuronowych i bayesowskich
Uczenie bayesowskie
Niech: D = {D1 ...Dm } — dane, X — niewiadoma, Hi — przechodnie
hipotezy
X
P(X |D) =
P(X |Hi , D)P(Hi |D)
i
W praktyce można próbować przybliżać:
P(X |HMAP )P(HMAP |D)
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Uczenie w sieciach bayesowskich
Porównanie sieci neuronowych i bayesowskich
Uczenie bayesowskie
wi = P(X = xi |U = ui ) = P(xi |ui )
∂ ln P(D) X 1 ∂P(Dj )
=
∂wi
P(Dj ) ∂wi
j
P(xi , ui |Dj )
∂P(Dj )/∂wi
= (...) =
P(Dj )
wi
Można stosować algorytmy spadku gradientowego.
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich
Sieci Neuronowe
Sieci bayesowskie
Uczenie w sieciach bayesowskich
Porównanie sieci neuronowych i bayesowskich
Porównanie sieci bayesowskich i neuronowych
I
reprezentacja danych,
I
działanie na dyskretnych i ciągłych danych
I
znaczenie jednostek
I
dwa poziomy aktywacji zmiennych w sieciach bayesowskich (wartości
i prawdopodobieństwa)
I
działanie (liniowe w NN i problem NP-trudny dla ogólnych BN)
I
uczenie
Jarosław Piersa
Uczenie sieci neuronowych i bayesowskich

Podobne dokumenty