Sztuczne sieci neuronowe (SSN)

Slides:



Advertisements
Podobne prezentacje
Sieć jednokierunkowa wielowarstwowa
Advertisements

Mechanizm wnioskowania rozmytego
SIECI NEURONOWE Sztuczne sieci neuronowe są to układy elektroniczne lub optyczne, złożone z jednostek przetwarzających, zwanych neuronami, połączonych.
SZTUCZNE SIECI NEURONOWE
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Katedra Informatyki Stosowanej UMK
Inteligencja Obliczeniowa Sieci dynamiczne.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Inteligencja Obliczeniowa Perceptrony
SIECI NEURONOWE Wykład III.
Liniowe Sieci Neuronowe
Sieci neuronowe - architektury i zastosowania
Sztuczne sieci neuronowe
Sprzężenie zwrotne Patryk Sobczyk.
Sztuczne sieci neuronowe w doświadczeniach nad fizyką spinową w CERN
Ulepszenia metody Eigenfaces
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Czy potrafimy obliczyć wartość wyjścia sieci znając wartości jej wejść? Tak, przy założeniu, że znamy aktualne wartości wag i progów dla poszczególnych.
Perceptrony proste liniowe - Adaline
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
SZTUCZNE SIECI NEURONOWE
mgr inż. Rafał Komański styczeń 2004
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Sieci Hopfielda.
Wstęp do interpretacji algorytmów
Sieci neuronowe jednokierunkowe wielowarstwowe
SYSTEMY CZASU RZECZYWISTEGO Wykłady 2008/2009 PROF. DOMINIK SANKOWSKI.
Klasyfikacja dokumentów za pomocą sieci radialnych
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Systemy wspomagania decyzji
Sztuczne Sieci Neuronowe
Systemy Wspomagania Decyzji
Komputerowe Wspomaganie w Inżynierii Materiałowej
formalnie: Uczenie nienadzorowane
Wspomaganie decyzji nie zwalnia od decyzji...
Systemy Wspomagania Decyzji
Naśladowanie żywego mózgu w komputerze
Uczenie w Sieciach Rekurencyjnych
Systemy wspomagania decyzji
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Perceptrony proste liniowe - Adaline
Źródła błędów w obliczeniach numerycznych
MS Excel - wspomaganie decyzji
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Systemy wspomagania decyzji
Systemy Wspomagania Decyzji
Do technik tych zalicza się: * sztuczne sieci neuronowe
Sieci neuronowe, falki jako przykłady metod analizy sygnałów
Algorytm kaskadowej korelacji
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Wstęp do interpretacji algorytmów
Metody sztucznej inteligencji – technologie rozmyte i neuronoweReguła propagacji wstecznej  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów.
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
Narzędzia AI Dominik Ślęzak, Pokój Wykład dostępny na:
GeneracjeTechnologia Architektura przetwarzania 0. Przekaźniki elektromechaniczne 1. Lampy elektronowe 2. Tranzystory 3. Układy scalone 3.5.Układy dużej.
Belief Nets Autor: inż. 2013r źródło tła:
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Systemy neuronowo – rozmyte
Kognitywne właściwości sieci neuronowych
Perceptrony o dużym marginesie błędu
Metody sztucznej inteligencji
Perceptrony o dużym marginesie błędu
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
Inteligencja Obliczeniowa Perceptrony
Perceptrony wielowarstwowe, wsteczna propagacja błędów
Zapis prezentacji:

Sztuczne sieci neuronowe (SSN) KIP Sztuczne sieci neuronowe (SSN)

Sieć neuronowa – definicja Jest to struktura fizyczna lub program składające się z elementów zwanych neuronami, pomiędzy którymi wymieniana jest informacja. Zaprojektowana jest tak by działaniem przypominać funkcjonowanie mózgu człowieka. Jej celem jest przetworzenie danych wejściowych w użyteczne sygnały wyjściowe. Umiejętność tę sieć zdobywa w procesie uczenia.

Podstawowe zalety sieci neuronowych Sieci nie trzeba programować – nauczenie wykonywania określonych zadań nie wymaga znania natury fizycznej procesu Obliczenia w sieciach neuronowych wykonywane mogą być równolegle (dotyczy sprzętowych sieci neuronowych lub komputerów wieloprocesorowych)

Dziedziny zastosowań SSN Predykcja, czyli przewidywanie sygnałów wyjściowych na podstawie danych wzorcowych Klasyfikacja i rozpoznawanie. Kojarzenie danych. Analiza danych . Filtracja sygnałów. Optymalizacja. Predykcja, czyli przewidywanie sygnałów wyjściowych na podstawie danych wzorcowych, które sieć wykorzystywała tylko w procesie uczenia. Sieć o takiej funkcji jest stosowana najpowszechniej. Widać zupełną analogię do mózgu człowieka, który potrzebuje danych wzorcowych tylko do nauczenia się ich. Klasyfikacja i rozpoznawanie. Po przez nauczenia sieci pewnych cech charakterystycznych możliwe jest, aby sieć sposób interaktywny rozpoznała i zakwalifikowała sygnał wejściowy. Wektor lub macierz wejść, jest przypisywana do odpowiedniego stanu wektora lub macierzy wyjść, będącego jednoznacznym wzorcem klasyfikacji . Kojarzenie danych. Sieć potrafi skojarzyć dane wyjściowe podstawie danych wejściowych, które po nauczeniu sieci mogą się mniej lub bardziej różnić od danych wzorcowych. Sieć oblicza więc swój współczynnik korelacji między danymi wejściowymi a nauczonym wzorcem. W zależności od wartości tego współczynnika sieć dokonuje kojarzenia danych. Analiza danych . To właściwość za pomocą które sieć potrafi znaleźć związek między danymi wejściowymi . Filtracja sygnałów. Funkcja filtrów o dowolnym zakresie przepustowości. Ta cecha pozwala wyeliminować sygnały, będące szumami, Sieć taka doskonale filtruje dane które nie należą do grupy reprezentujących pomiar, mają charakter stochastyczny . Nauczona sieć w zadziwiający sposób radzi sobie z filtracją, bo w sposób “inteligentny” przepuszcza sygnały do dalszej analizy, z czym nie radziły sobie zwykłe filtry. Optymalizacja. To cecha która pozwala na dokonywanie analizy danych i kojarzenia najlepszych z pośród możliwych rozwiązań.

Przykładowe zastosowania praktyczne SSN Systemy rozpoznawania, mowy, obrazu – np. w celu identyfikacji osób Systemy diagnostyczne – klasyfikacja stanów dynamicznych maszyn Systemy telekomunikacyjne – optymalizacja połączeń Systemy informatyczne – kompresja, selekcja danych, dynamiczne programowanie bez użycia standardowych algorytmów sekwencyjnych.

Planowanie – sieci interpretują zjawiska stochastyczne, przewidywanie notowań giełdowych, trendów w gospodarce oraz zjawisk socjologicznych. Systemy decyzyjne – pomagają podjąć decyzje, jeżeli dysponujemy zbyt małą ilością danych wejściowych Sterowanie i regulacja – nowoczesne systemy sterowania, z silnie nieliniowymi zależnościami w obiektach regulacji. Planowanie trajektorii manipulatorów i kontrola nad prawidłowością ich odwzorowania. Analiza stanów naprężeń w konstrukcjach maszyn

Sztuczny neuron struktura oparta o budowę neuronu mózgu człowieka Mózg i system nerwowy nie stanowię struktury ciągłej, ale składają się z około tryliona (10^18) komórek, z czego około 100 miliardów (10^11) stanowię komórki nerwowe połączone w sieć. Mózg, stanowiący centrum ludzkiego organizmu, jest częścią mózgowia obejmującą półkule mózgowe i część wzrokową podwzgórza. Mózgowie przeciętnie waży u człowieka około 1:3 kg. Mózg pokryty jest mocno pofałdowaną warstwą kory mózgowej. Warstwa ta ma grubość około 3 mm i powierzchnię 2500 cm2. Kora mózgowa składa się z upakowanych gęsto komórek nerwowych o rożnej wielkości i kształcie, tworzących kilka warstw. Liczbę neuronów szacuje się na 10 miliardów. Przyjmują one i wysyłają impulsy o częstotliwości 1 do 100 Hz, czasie trwania 1 ¡ 2 ms, napięciu 100 mv szybkości propagacji 1 do 100 m/s . Liczba połączeń między komórkami szacowana jest na 10^15. Tadeusiewicz w książce [7], str. 13, podaje, że szybkosc pracy mozgu oszacowac można na 1018 operacji/s.

Sztuczny neuron Budowa sztucznego neuronu wg. McCullocha i Pittsa (1943) w1 w2 w3 wn x1 x2 x3 xn  y w0 (e) e

Przetwarzanie informacji w neuronie Neuron otrzymuje wiele sygnałów wejściowych i wysyła jeden sygnał wyjściowy Z każdym wejściem związana osobna waga Sygnał po wejściu mnożony jest przez wagę i taki podawany jest do dalszych obliczeń. Waga może wzmocnić, stłumić lub nawet zmienić znak sygnału Zmodyfikowane sygnały są sumowane dając łączne pobudzenie neuronu (e) Do takiej sumy dokłada się czasem sygnał dodatkowy (w0), nazywane progiem (bias) Utworzony wyżej sygnał może być od razu sygnałem wyjściowym (ADALINE – ADAptive LINear Element) lub przetwarzany specjalną funkcją stanowiąca charakterystykę neuronu ADAptive LINEar

Przykładowa struktura SSN Sygnały wejściowe neuron neuron neuron warstwa wejściowa pierwsza warstwa ukryta neuron neuron neuron neuron ..................................................... n-ta warstwa ukryta neuron neuron neuron Połączenia "każdy z każdym"_ łatwe definiowanie sieci, siec sama likwiduje niepotrzebne jej połączenia w=0 Najprostsza "jednowarstwowa" sieć składa się z warstwy wejściowej i wyjściowej neuron neuron warstwa wyjściowa Sygnały wyjściowe

Warstwy ukryte SSN Są narzędziem pomagającym warstwie wyjściowej w znalezieniu poprawnego rozwiązania Są dodatkową strukturą przetwarzająco dane Pośredniczą między wejściem a wyjściem sieci Pozwalają rozwiązywać bardziej skomplikowane problemy, których nie może rozwiązać sieć jednowarstwowa

Klasy struktur SSN Struktury nie zawierające sprzężeń zwrotnych (feedforward), kierunek przepływy sygnału jest ściśle określony od wejścia do wyjścia Struktury ze sprzężeniem zwrotnym, tzw. sieci Hopfielda, sygnały z wyjścia są podawane na wejście, tworzą skomplikowane pętle.

Liniowe SSN Nazywana MADLINE (Many ADALINEs) Neurony sieci mają charakterystykę liniową, czyli sygnał wyjściowy y neuronu o n wejściach daje się obliczyć wzorem: Neuron liniowy wyróżnia wektory wejść podobnych do własnego wektora wag Wartości sygnałów wyjściowych nie są ograniczone

Liniowe SSN Sieci liniowe nadają się do rozwiązywania zadań polegające na znalezieniu liniowego odwzorowania zbioru wejściowego X na wyjściowy Y Sieci liniowe wykorzystuje się do: Identyfikacji w oparciu o zestaw cech Filtracji sygnałów Transformacji sygnałów

Nieliniowe SSN W sieciach nieliniowych pobudzenie (stanowiące wyjście w przypadku neuronu liniowego) jest modyfikowane za pomocą specjalnie dobranych funkcji Funkcja (e) jest funkcją nieliniową

Nieliniowe SSN Cechą wspólną większości stosowanych funkcji jest ograniczenie sygnału wyjściowego do zakresu <0, 1> (funkcja unipolarna) lub <-1, 1> (funkcja bipolarna). Często stosowane są następujące funkcje: Tangens hiperboliczny

Nieliniowe SSN Funkcja signum: 1 e -1

Nieliniowe SSN Zmodyfikowana funkcja signum: 1 e -1

Nieliniowe SSN Funkcja skoku jednostkowego: 1 e

Nieliniowe SSN Funkcja perceptronowa: e

Nieliniowe SSN Funkcja BSB (Brain State in a Box): 1 e -1

Etapy pracy SSN Uczenie sieci – ustalają się wartości wag w poszczególnych neuronach Egzamin – przy ustalonych wagach sieć generuje odpowiedzi dla zadanych danych wejściowych i porównuje się z pożądanymi odpowiedziami. Praktyczne wykorzystanie - wykorzystuje się zdolność do uogólniania czyli sieć potrafi znaleźć rozwiązanie także dla danych wejściowych nie prezentowanych w trakcie uczenia

Uczenie sieci Uczenie z nauczycielem Samouczenie (samoadaptacja) sieci (uczenie sieci bez nauczyciela)

Uczenie sieci z nauczycielem Na wejście sieci podaje się dane Sieć przetwarza je i generuje wynik przy aktualnym zestawie wag Wynik porównuje się z rozwiązaniem oczekiwanym W zależności od popełnionego błędu koryguje się poszczególne wagi Zestawów par: dane wejściowe – oczekiwane wyniki powinno być jak najwięcej.

Uczenie sieci z nauczycielem Zmiany wag neuronów wyznacza się za pomocą różnych tzw. reguł Podstawową jest tzw. reguła delta Wartość wyjściowa z neuronu porównywana jest z pożądaną przez nauczyciela i obliczana jest różnica miedzy nimi   Sygnał błędu wykorzystywany jest przez neuron do korygowania wag (posiadanej wiedzy) Wagi zmieniają się tym bardziej im większa jest  Wagi związane z wejściami o dużych wartościach zmieniają się znacznie Wpływ  na zmianę wektora wag koryguje współczynnik uczenia h.

Uczenie sieci z nauczycielem Zmiana współczynnika i-tej wagi neuronu w j-tym kroku nauczania: Gdzie: W sieciach liniowych i nieliniowych gdzie funkcja modyfikująca nie ma pochodnej w miejsce d/de wstawia się 1

Uczenie sieci z nauczycielem Momentum - sposób na zwiększenie szybkości uczenia Umożliwia uwzględnienie przy zmianie wag wartości błędów popełnianych w krokach wcześniejszych h2 = 0..1, zwykle 0,9

Uczenie sieci z nauczycielem Przebieg zmian współczynników wag w trakcie uczenia bez momentum (niebieski) i z momentum (czerwony)

Uczenie sieci z nauczycielem Uczenie warstw ukrytych Nie jest znany rzeczywisty błąd popełniany przez neurony z warstw ukrytych Błąd szacuje się na zasadzie propagacji wstecznej (backpropagation) błędu popełnianego przez neurony warstwy wyjściowej. Oszacowanie polega na zsumowaniu błędów poszczególnych neuronów pomnożonych przez wagi połączeń miedzy rozpatrywanym neuronem a neuronami warstwy wyjściowej Nie ma go z czym porównać

Uczenie sieci z nauczycielem Warstwa wyjściowa k1 k2 k3 kn wm(kn)(j) Waga neuronu kn na wejściu od neuronu m m Warstwa ukryta Błąd neuronu m w kroku j:

Uczenie sieci z nauczycielem Zmianę i –tej wagi oblicza się ze wzoru Nie ma go z czym porównać

Uczenie sieci Uczenie bez nauczyciela (hebbian learning) Opracowane przez Donalda O. Hebba Na wejście sieci podaje się dane Nie podaje się pożądanych wyników Sieć modyfikuje wagi tak, że uczy się rozpoznawać klasy powtarzających się sygnałów wejściowych, rozpoznaje typowe wzorce sygnałów. Zbiór danych wejściowych powinny być prezentowany sieci w zmiennej kolejności

Samouczenie się SSN Na początku procesu wszystkie neurony mają przypadkowe wagi Pod wpływem pokazywanych ciągów danych wejściowych neurony określają swoje sygnały wyjściowe Na podstawie sygnałów wejściowych i wyjściowych następuje korekta wag: Jeżeli sygnał wyjściowy był pozytywny to wagi zmieniają się tak, by zbliżyć się do sygnałów wejściowych Jeżeli sygnał wyjściowy był negatywny to wagi zmieniają się przeciwnie

Samouczenie się SSN Dle m-tego neuronu i-ta waga zmienia się następująco Po wielu prezentacjach i korektach wag neurony specjalizują się w rozpoznawaniu klas występujących w sygnałach wejściowych

Uczenie sieci z konkurencją (WTA) Dotyczy sieci jednowarstwowych, w których wszystkie neurony otrzymują ten sam sygnał wejściowy Modyfikacja WTA sposobu uczenia sieci polega na zmianie wartości wag tylko tego neuronu, który najsilniej zareagował na dany sygnał wejściowy W przypadku sieci samouczących powoduje to wzrost skuteczności i ekonomiczności uczenia W przypadku sieci liniowych pozwala na uzyskanie od sieci bardziej jednoznacznych odpowiedzi

SSN podsumowanie SSN dzielimy ze względu Stopień skomplikowania: Jednowarstwowe Wielowarstwowe (z warstwami ukrytymi) Rodzaj neuronu: Liniowe Nieliniowe Sposób uczenia Uczone z nauczycielem Samouczące się Sposób przetwarzania informacji Feedforward Sieci rekurencyjne