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