Wstęp do metod sztucznej inteligencji www.mat.uni.torun.pl/~piersaj 2009-01-22
Co to jest neuron?
Komputer, a mózg komputer mózg Jednostki obliczeniowe 1-4 CPU 10 11 neuronów Pojemność 10 9 b RAM, 10 10 dyski 10 11 neuronów, 10 14 synaps Czas 1 cyklu 10 8 s 10 3 s Przepustowość 10 9 b/s 10 14 b/s Operacji na neuronach 1/s 10 5 10 14
Dane wejściowe x i, i = 1..n Wagi w i, i = 1..n Funkcja aktywacyjna f Wyjscie f ( n i=1 x iw i )
Funkcja aktywacji Identyczność f (s) = s Funkcja progowa { 0 s < p f (s) = 1 s p Funkcja polarna { 1 s < p f (s) = +1 s p Funkcja sigmoidalna f (s) = 1 1 + exp( s + p)
Uczenie perceprtornu Dane: Zestaw przykładowych danych wejściowych E j = (e j 1..ej n), j = 1..M wraz z opdowiadającymi im poprawnymi wynikami T j, j = 1..M Wyniki: Wagi neuronu: w i, i = 1..n Opcjonalne parametry funkcji aktywacyjnej f
Uczenie perceprtornu Przypisz losowe wagi w pobliżu 0 Wybierz kolejne dane wejsciowe E j Oblicz aktywację neuronu o na wylosowanym przykładzie E j Jeżeli jest zgodna z poprawnym wynikiem T j to wróć do kroku 2 Jeżeli nie, to uaktualnij wszystkie wagi η > 0 stała uczenia w i = w i + e j i (T j o) η Zakończ gdy na wszystkich (wystarczającej ilości) przykładach sieć daje poprawny wynik Wróć do kroku 2
Ograniczenia perceptronu Problemy liniowo separowalne
Wsteczna propagacja błędu Wybierz przykład E z listy przykładów i odpowiadający mu poprawny wynik T Oblicz wynik działania sieci na E, zapamiataj go, zapamietaj również wyniki w warstwach pośrednich o j, sumy ważone in j (wyniki przed zaaplikowaniem funkcji aktywującej) i wejscia do neuronow w danej warstwie I k,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: Oblicz błąd erri = T i o i Oblicz i = err i f (in i ) Uaktualnij wagi w jednostce i w j,i = w j,i + η o j err i f (in i )
Wsteczna propagacja błędu cd. Dla wszystkich jednostek j w kolejnych warstwach sieci: Oblicz błąd j = f (in j ) w j,l l l Uaktualnij wagi do jednostki j Wróć do 1. w k,j = w k,j + η I k,j j Zakończ po wykonaniu określonej liczby kroków lub osiągnięciu zadowalającego poziomu błędu Gdzie: I k,j k-te wejście do jednostki j η > 0 stała uczenia
Wsteczna propagacja błędu Błąd średniokwadratowy ERROR = 1 (T i O i ) 2 2 i Funkcja sigmoidalna f (s) = 1 1 + exp( s) f (s) = f (s) (1 f (s))
Algorytm spadku gradientowego Dana: funkcja f : R n R różniczkowalna Cel: Znaleźć x R n takie, że y R nf (x) f (y) Algorytm: Rozpocznij w losowym x (0) Dla każdej współrzędnej i = 1..n Powtarzaj krok 2 x (k+1) i = x (k) i η f x i (x (k) )
Architektura sieci neuronowych y jednen neuron / jedna warstwa (layer networks) Jedna warstwa ukryta może przybliżać funkcje ciągłe Dwie warstwy ukryte może przybliżać funkcjc nieciągłe Inne sieci jednoprzepływowe (feed forward) Algrytmy konstrukcji i optymalizacji architektury sieci Sieci rekurencyjne Sieci Hopfielda Maszyny Boltzmanna
Zastosowania sieci neuronowych Rozpoznawanie obrazów Rozpoznawanie tekstu pisanego Czytanie tekstu pisanego Kierowanie pojazdami
Podsumowanie Możliwości opisu Efektywność obliczeniowa Generalizacja Odporność na szumy Nieprzeźroczystość Korzystanie z wiedzy
Uczenie w sieciach bayesowskich Porównanie sieci neuronowych i bayesowskich Co to jest sieć bayesowska?
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: znana struktura sieci, brak jednostek ukrytych nieznana struktura sieci, brak jednostek ukrytych znana struktura sieci, jednostki ukryte nieznana struktura sieci, jednostki ukryte
Uczenie w sieciach bayesowskich Porównanie sieci neuronowych i bayesowskich Co to jest sieć bayesowska?
Uczenie w sieciach bayesowskich Porównanie sieci neuronowych i bayesowskich Uczenie bayesowskie Niech: D = {D 1...D m } dane, X niewiadoma, H i przechodnie hipotezy P(X D) = P(X H i, D)P(H i D) i W praktyce można próbować przybliżać: P(X H MAP )P(H MAP D)
Uczenie w sieciach bayesowskich Porównanie sieci neuronowych i bayesowskich Uczenie bayesowskie w i = P(X = x i U = u i ) = P(x i u i ) ln P(D) w i P(D j )/ w i P(D j ) = j 1 P(D j ) P(D j ) w i = (...) = P(x i, u i D j ) w i Można stosować algorytmy spadku gradientowego.
Uczenie w sieciach bayesowskich Porównanie sieci neuronowych i bayesowskich Porównanie sieci bayesowskich i neuronowych reprezentacja danych, działanie na dyskretnych i ciągłych danych znaczenie jednostek dwa poziomy aktywacji zmiennych w sieciach bayesowskich (wartości i prawdopodobieństwa) działanie (liniowe w NN i problem NP-trudny dla ogólnych BN) uczenie