Sieci neuronowe model konekcjonistczn Plan wkładu Mózg ludzki a komputer Modele konekcjonistcze Sieć neuronowa Sieci Hopfielda Mózg ludzki a komputer Twój mózg to komórek, 3 2 kilometrów przewodów i (biliard) połączeń snaptcznch wszstko to waż.5 kg i zajmuje objętość około.5 litra. A zużwa mniej energii niż lampka nocna. Komputer Mózg Jednostki obliczeniowe CPU 5 - neuronów Jednostki pamięci 9 bitów RAM neuronów bitóa dsku 4 połączeń Czas operacji -8 s -3 s Czas transmisji 9 bitów/s 4 bitów/s Liczba aktwacji/s 5 4 Mózg ludzki a komputer Cech modeli konekcjonistcznch Model neuronu Szbkość wkonania pojednczej operacji vs. rozwiązanie skomplikowanego zadania Odporność na pomłki pojednczch elementów Zachowanie poprawności p działania w przpadku informacji niepewnej i niepełnej składają się z dużej liczb prostch elementów, zwanch neuronami wagi na połączeniach międz tmi elementami "kodują wiedzę sieci sterowanie siecią jest równoległe i rozproszone głównm problemem jest automatczne uczenie sieci
Neuron wejścia w w połączeni a łączne pobudzenie neuronu charakterstk a neuronu w wagi w w g g ϕ 3 2
sgnał wjściow liniow Próg aktwacji jako dodatkowa waga = w g ϕ 3 o w n g( X ) = w i i i= g(x) ϕ o(x) w n g( X ) = w i i i= g(x) ϕ o(x) o( X) = gd ϕ gd ϕ ( X) ( X) w < w o( X) = gd ϕ gd ϕ ( X) ( X) < Funkcja aktwacji perceptronu o gd ϕ( X) o( X) = gd ϕ( X). < z wieloma wejściami i wjściami = w ij Liniowo separowaln problem klasfikacji funkcja progowa ( ) o X = + ep g X ( ( ) o..5 g sigmoida g A ( A, A ) A 3
ucząc się klasfikacji k = k = k = 3 k = 635 Twierdzenie Rosenblatta Proces uczenia perceptronu jest zbieżn. może się nauczć dowolnego liniowo separowalnego problemu klasfikacji. Problem XOR XOR Wielowarstwow perceptron rozwiązując problem XOR Wielowarstwow perceptron rozwiązując problem XOR Wielowarstwow perceptron rozwiązując problem XOR -.5.. -9... -.5. -.5. -9... -.5 -.5. -.5. o()= -9... -.5 4
Wielowarstwow perceptron rozwiązując problem XOR Wielowarstwow perceptron rozwiązując problem XOR Wielowarstwow perceptron rozwiązując problem XOR -.5. -.5. o ()= -9. -.5. -.5. o()=. -.5. -9... -.5 -.5. -.5. o ()= -9... -.5 Wielowarstwow perceptron rozwiązując problem XOR Wielowarstwow perceptron rozwiązując problem XOR Wielowarstwow perceptron rozwiązując problem XOR -.5. -.5. o ()= -9. -.5.,5. o()=. -.5. -9... -.5 -.5..5. o ()= -9... -.5 5
Wielowarstwow perceptron rozwiązując problem XOR Wielowarstwowe sieci neuronowe neuronowch Dan jest zbiór par (, ) Losujem wagi Wbieram kolejną parę ze zbioru uczącego -.5..5. o ()= -9. -.5. -6,5. o()=... 2 A warstwa wejściowa w ij h h 2... h B warstwa ukrta o o 2 o C warstwa wjściowa... w ij... A h h 2... h B o o 2... o C neuronowch w ij... A h h 2... h B o o 2... o C Dan jest zbiór par (, ) Losujem wagi Wbieram kolejną parę ze zbioru uczącego Obliczam wartości w warstwie ukrtej h j = A w + e i= ij i j =,..., B neuronowch w ij... A h h 2... h B o o o2 o 2... oc o C Dan jest zbiór par (, ) Losujem wagi Wbieram kolejną parę ze zbioru uczącego Obliczam wartości w warstwie ukrtej Obliczam wartości w warstwie wjściowej h o j = A w + e i= j = B w2 + e i= ij i ij h i j =,..., B j =,..., C neuronowch w ij... A h h 2... h B o o 2... o C Dan jest zbiór par (, ) Losujem wagi Wbieram kolejną parę ze zbioru uczącego Obliczam wartości w warstwie ukrtej Obliczam wartości w warstwie wjściowej Obliczam błąd dla elementów w warstwie wjściowej δ2 j = o j ( o j )(o j j ), j =,..., C 6
neuronowch w ij Dan jest zbiór par (, ) Losujem wagi Wbieram kolejną parę ze zbioru uczącego Obliczam wartości w warstwie ukrtej Obliczam wartości w warstwie wjściowej Obliczam błąd dla elementów w... A warstwie wjściowej h h 2... h B o o 2... o C Korgujem wagi := + ηδ2 j i =,..., B; j =,..., C neuronowch w ij... A h h 2... h B o o 2... o C Dan jest zbiór par (, ) Losujem wagi Wbieram kolejną parę ze zbioru uczącego Obliczam wartości w warstwie ukrtej Obliczam wartości w warstwie wjściowej Obliczam błąd dla elementów w warstwie wjściowej Korgujem wagi Obliczam błąd dla elementów w warstwie ukrtej δ j = h j ( h j )δ2 i w2 ji, j =,..., B neuronowch w ij... A Dan jest zbiór par (, ) Losujem wagi Wbieram kolejną parę ze zbioru uczącego Obliczam wartości w warstwie ukrtej Obliczam wartości w warstwie wjściowej Obliczam błąd dla elementów w warstwie wjściowej Korgujem wagi Obliczam błąd dla elementów w h h 2... h B warstwie ukrtej o o 2... o C Korgujem wagi w ij := w ij + ηδ j i, i =,..., A, j =,..., B neuronowch... A Dan jest zbiór par (, ) Losujem wagi Wbieram kolejną parę ze zbioru uczącego Obliczam wartości w warstwie ukrtej Obliczam wartości w warstwie wjściowej Obliczam błąd dla elementów w warstwie wjściowej Efekt generalizacji w uczeniu sieci neuronowch zbiór ucząc Neuron sigmoidaln dokonwał podziału przestrzeni na dwie części wzdłuż prostej A ( A, A) w ij h h 2... h B o o 2... o C Korgujem wagi Obliczam błąd dla elementów w warstwie ukrtej Korgujem wagi w ij Koniec epoki Backpropagation algorithm zbiór testując czas treningu Neuron radialn reprezentuje hipersfere, dokonując podziału kołowego wokół punktu centralnego C A C 7
Φ( r ) = r Φ( r ) = sqrt(δ 2 + r 2 ) φ r = c, δ> φ φ w w w φ φ φ 4 4 Wektor wejściow Warstwa k wektorów radialnch 4 Warstwa składająca się z jednego neuronu działającego tak, jak w sieci z liniową funkcją aktwacji Przkład funkcji radialnch metod doboru parametrów φ φ φ( r ) = r φ( r ) = sqrt(δ 2 + r 2 ) φ i d i i R n w w φ(r) = sqrt(δ 2 + r 2 ) φ(r) = ep( r 2 /2δ 2 ) w d i R i =,, p φ 4 Brak wag! φ 4 Najczęściej stosowana jest norma euklidesowa gdzie: c R n punkt centraln neuronu radialnego r = c odległość wektora wejściowego R n od centrum c δ> parametr φ 4 F( i ) = d i, i =,, p F() = w i φ( i ) 8
metod doboru parametrów metod doboru parametrów przkład φ i d i i R n φ C φ 4 w d i R i =,, p F( i ) = d i, i =,, p F() = w i φ( i ) Jeżeli ustalim k = p, wówczas zadanie będzie rozwiązwalne. Jest to jednak za duża liczna neuronów i należ ją ograniczć. w Funkcja błędu φ K2 4 = 2i ( ) Wartości wag warstw wjściowej ustala sie w wniku procesu uczenia. Na początku przpisuje się im wartość losową, a następnie modfikuje metodą propagacji wstecznej. = weiφ d φ w n = 2 k = φ( r ) = r = ρ promień koła w = c < ρ = przkład φ w n = 2 k = φ( r ) = r = ρ promień koła w = c > ρ = C Uczenie nienadzorowane Odkrwanie regularności w danch Algortm Hebba Jeżeli aktwne są oba neuron, to waga połączenia międz nimi się zwiększa... i... A h... h j... h B o o 2... o C w ij w ij := w ij + η i h j n h j = w i i Wielkość odpowiedniej zmian wznaczana jest na podstawie ilocznu sgnału wejściowego, wchodzącego na dane wejście (to którego wagę zmieniam) i sgnału wjściowego produkowanego przez neuron, w którm modfikujem wagi. i = Uczenie nienadzorowane - wad W porównaniu z procesem uczenia z nauczcielem samouczenie jest zwkle znacznie powolniejsze. Bez nauczciela nie można z gór określić, któr neuron wspecjalizuje się w rozpoznawania której klas sgnałów. Powstają trudności prz wkorzstwaniu i interpretacji wników prac sieci. Nie można określić, cz sieć uczona w ten sposób naucz się wszstkich prezentowanch jej wzorców. Sieć przeznaczona do samouczenia musi bć większa niż sieć wkonująca to samo zadanie, ale trenowana z udziałem nauczciela. (Szacunkowo sieć powinna mieć co najmniej trzkrotnie więcej elementów warstw wjściowej niż wnosi oczekiwana liczba różnch wzorów, które sieć ma rozpoznawać.) 9
Sieci Hopfielda - Sieci Hopfielda - Sieci Hopfielda - + - + - + - - - - +2 + -2 +2 + -2 +2 + -2 + - + - + - Sieci Hopfielda + - - - Sieci Hopfielda + - - - + - - - Stan równowagi + - - - +2 + -2 +2 + -2 + - + - +2 + -2 + - +2 + -2 + - - + - - +2 + -2 + - - + - - +2 + -2 + -
Własności sieci Hopfielda rozproszona reprezentacja - informacja jest zapamiętwana jako wzorzec aktwacji rozproszone, asnchroniczne sterowanie - każd element podejmuje deczję w oparciu o lokalną wiedzę pamięć adresowalna przez zawartość - ab odtworzć wzorzec zapisan w sieci wstarcz podać fragment informacji tolerancja błędów - jeżeli jakiś element popełni błąd, to cała sieć i tak poda poprawne rozwiązanie Zastosowanie sieci Hopfielda w optmalizacji MASZYNA BOLTZMANA Zastosowanie sieci Hopfielda w optmalizacji MASZYNA BOLTZMANA Problem rozwiązwane za pomocą sieci neuronowch Klasfikacja obiektóa podstawie cech Identfikacja obiektów Rozpoznawanie obrazów Rozpoznawanie sgnałów (radar, mowa) Diagnostka urządzeń Sterowanie złożonmi układami Optmalizacja dskretna Zastosowania sieci neuronowch Sterowanie w regulatorach lotu (US Air Force) Diagnostka silników samochodowch (Ford Motor Compan) Identfikacja tpów skał napotkanch podczas odwiertów prz poszukiwaniu rop i gazu (Halliburton) Poszukiwanie bomb na lotnisku JFK w Nowm Jorku (TWA) Prognoz giełdowe Czego nie można wkonać za pomocą sieci neuronowej Operacje na smbolach Edtor tekstu Procesor wrażeń algebraicznch Obliczenia, w którch wmagana jest wsoka dokładność wniku numercznego Obsługa kont bankowch Obliczenia inżnierskie (konstrukcjne) Zadania wmagające rozumowania wieloetapowego Rozstrzganie o prawdziwości lub fałszwości sekwencji stwierdzeń logicznch (dowodzenie twierdzeń, sstem eksperckie)