Sztuczne sieci neuronowe

Podobne dokumenty
Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Temat: Sieci neuronowe oraz technologia CUDA

Wstęp do sztucznych sieci neuronowych

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Inteligentne systemy informacyjne

Sztuczne sieci neuronowe

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

Wprowadzenie do teorii systemów ekspertowych

Podstawy Sztucznej Inteligencji (PSZT)

MODELOWANIE RZECZYWISTOŚCI

Sztuczne sieci neuronowe

Metody Sztucznej Inteligencji II

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Sztuczne sieci neuronowe (SNN)

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

8. Neuron z ciągłą funkcją aktywacji.

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

M T E O T D O ZI Z E E A LG L O G R O Y R TM

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Podstawy sztucznej inteligencji

Optymalizacja optymalizacji

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Sztuczne sieci neuronowe. Uczenie, zastosowania

Szybkie prototypowanie w projektowaniu mechatronicznym

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

CZYM SĄ OBLICZENIA NAT A URALNE?

Inteligentne systemy przeciw atakom sieciowym

SIEĆ NEURONOWA JAKO NARZĘDZIE APROKSYMACJI I KLASYFIKACJI DANYCH. Jakub Karbowski Gimnazjum nr 17 w Krakowie

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

LICZNIKI Liczniki scalone serii 749x

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Algorytmiczne sieci neuronowe idea działania, słabe i mocne strony

ZASTOSOWANIE SIECI NEURONOWYCH

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2013/2014

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Obliczenia Naturalne - Sztuczne sieci neuronowe

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Sieci M. I. Jordana. Sieci rekurencyjne z parametrycznym biasem. Leszek Rybicki. 30 listopada Leszek Rybicki Sieci M. I.

Wykład 1: Wprowadzenie do sieci neuronowych

Uczenie sieci neuronowych i bayesowskich

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

wiedzy Sieci neuronowe

SCENARIUSZ LEKCJI BIOLOGII Z WYKORZYSTANIEM FILMU DOBRZE MIEĆ O(G)LEJ W GŁOWIE. O KOMÓRKACH UKŁADU NERWOWEGO.

OBLICZENIA ZA POMOCĄ PROTEIN

Ćwiczenie 14. Maria Bełtowska-Brzezinska KINETYKA REAKCJI ENZYMATYCZNYCH

Sztuczna inteligencja

Sieci neuronowe - dokumentacja projektu

Systemy liczenia. 333= 3*100+3*10+3*1

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

UKŁADY MIKROPROGRAMOWALNE

technologii informacyjnych kształtowanie , procesów informacyjnych kreowanie metod dostosowania odpowiednich do tego celu środków technicznych.

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

Dla naszego obiektu ciągłego: przy czasie próbkowania T p =2.

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Laboratorium przedmiotu Technika Cyfrowa

Lekcja 5: Sieć Kohonena i sieć ART

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

Jazda autonomiczna Delphi zgodna z zasadami sztucznej inteligencji

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Politechnika Lubelska

Relacja: III Seminarium Naukowe "Inżynierskie zastosowania technologii informatycznych"

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Elementy kognitywistyki III: Modele i architektury poznawcze

Przetworniki cyfrowo-analogowe C-A CELE ĆWICZEŃ PODSTAWY TEORETYCZNE

Lista zadań. Babilońska wiedza matematyczna

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Festiwal Myśli Abstrakcyjnej, Warszawa, Czy SZTUCZNA INTELIGENCJA potrzebuje FILOZOFII?

Sterowniki Programowalne (SP)

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Aby pobrać program FotoSender naleŝy na stronę lub i kliknąć na link Program do wysyłki zdjęć Internetem.

ARYTMETYKA KOMPUTERA

LEKCJA TEMAT: Zasada działania komputera.

biologia w gimnazjum OBWODOWY UKŁAD NERWOWY

Seminarium magisterskie. Dyskusja nad tematem pracy magisterskiej pisanej pod kierunkiem pani Dr hab. Małgorzaty Doman

A B. Modelowanie reakcji chemicznych: numeryczne rozwiązywanie równań na szybkość reakcji chemicznych B: 1. da dt. A v. v t

Transmitancja operatorowa członu automatyki (jakiego??) jest dana wzorem:

I EKSPLORACJA DANYCH

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ. Joanna Bryndza

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

INSTRUKCJA PROGRAMOWANIA DZWONKA KAKADU.

Wykład 5. Cel wykładu. Korespondencja seryjna. WyŜsza Szkoła MenedŜerska w Legnicy. Informatyka w zarządzaniu Zarządzanie, zaoczne, sem.

Sztuczne sieci neuronowe

Sztuczne sieci neuronowe

Transkrypt:

Sztuczne sieci neuronowe Paweł Bęczkowski ETI 9.1 1 Czym określamy sztuczną sieć neuronową Sieć neuronowa (sztuczna sieć neuronowa) to ogólna nazwa struktur matematycznych i ich programowych lub sprzętowych modeli, realizujących obliczenia lub przetwarzanie sygnałów poprzez rzędy elementów wykonujących pewną podstawową operację na swoim wejściu, zwanych neuronami. Oryginalną inspiracją takiej struktury była budowa naturalnych układów nerwowych w szczególności mózgu. zbiór połączonych ze sobą układów scalonych zdolnych do przetwarzania danych i układów pamięci imitujących strukturę ludzkiego mózgu. uproszczony model biologicznego systemu nerwowego, dzięki któremu moŝemy próbować naśladować mózg, obserwować pewne jego zachowania i zasady działania, których nie jesteśmy w stanie wciąŝ zbadać w rzeczywistości. 1

Do czego słuŝy sieć neuronowa Przewidywanie SSN stosuje się głównie do opracowywania prognoz ruchów na giełdzie i do przewidywania pogody. Tak, nawet, zdawałoby się, tak przypadkowe zmiany, jak zmiany giełdowe, podlegają jakimś prawom. Doświadczony gracz potrafi przewidzieć, czy dana operacja zakończy się powodzeniem. Nazywamy to przeczuciem, szóstym zmysłem, lecz jest to jedynie podświadome korzystanie z wiedzy nabytej równieŝ nieświadomie przez lata obserwacji procesów giełdowych. A trzeba pamiętać, Ŝe mózg człowieka, choć ogromny (w porównaniu z SSN), zajmuje się przecieŝ niezliczoną ilością innych zadań. Sieć natomiast jest przeznaczona wyłącznie do jednego zadania i jemu poświęca cały swój potencjał. Do czego słuŝy sieć neuronowa Sterowanie Naukowcy próbujący stworzyć robota o postawie humanoidalnej borykają się głównie z problemem jego ruchu. Dość trudno jest zaprojektować i oprogramować robota w taki sposób, by utrzymywał równowagę. Niedoścignionym wzorem w tej dziedzinie jest mózg. Człowiek, pies, kot, mogą wyczyniać najprzeróŝniejsze ewolucje nie tracąc przy tym równowagi. Aby obliczyć wielkości i kierunki sił, z jakimi balansować musi organizm podczas gwałtownego ruchu, potrzeba matematyki na dość wysokim poziomie. Mózg zaś daje sobie radę z tymi obliczeniami w ułamku sekundy wykonując w tym czasie dziesiątki innych czynności. Odpowiednio zaawansowana sieć neuronowa mogłaby czynić to samo. Właśnie SSN są wykorzystywane do sterowania robotami przeznaczonymi do pracy w najtrudniejszych warunkach. 2

Do czego słuŝy sieć neuronowa Rozpoznawanie Człowiek bardzo łatwo i bardzo szybko rozpoznaje róŝne rzeczy (np..: twarz, dźwięk, kolor) pod warunkiem, iŝ wcześniej się z nimi zetknął i zapamiętał je. W klasycznym komputerze wzorce poszczególnych obiektów wypełniałyby jakąś bazę danych, a algorytmy porównywałby kaŝdą ujrzaną twarz z tymi, które są mu znane. Do czego słuŝy sieć neuronowa Kojarzenie Jest ono bardzo zbliŝone do rozpoznawania. Dwa obiekty (obrazki, dźwięki) mogą dla człowieka być podobne, natomiast klasyczny algorytm nie stwierdzi między nimi podobieństwa. Dla niego są to dwa róŝne ciągi znaków. MoŜna oczywiście programowo "obejść" to utrudnienie - "powiedzieć" komputerowi, jakie cechy obiektu są najbardziej znaczące i mogą zawaŝyć na podobieństwie (lub niepodobieństwie) dwóch (lub więcej) obiektów. Jest to jednak dla programisty wysoce trudne zadanie. Natomiast w przypadku SSN nie ma potrzeby nakazywania sieci brania pod uwagę tej czy innej cechy - odnajdzie je sama. Więcej - moŝe zauwaŝyć takie zaleŝności, o których programista nawet nie wie. 3

Z czego składa się Ŝywa sieć neuronowa Co to jest neuron? Neuron jest to komórka nerwowa. W sieci neuronowej - podstawowy jej składnik. Jądro - "centrum obliczeniowe" neuronu. To tutaj zachodzą procesy kluczowe dla funkcjonowania neuronu. Akson - "wyjście" neuronu. Za jego pośrednictwem neuron powiadamia świat zewnętrzny o swojej reakcji na dane wejściowe. Neuron ma tylko jeden akson. Wzgórek aksonu - stąd wysyłany jest sygnał wyjściowy, który wędruje dalej poprzez akson. Dendryt - "wejście" neuronu. Tędy trafiają do jądra sygnały mające być w nim później poddane obróbce. Dendrytów moŝe być wiele - biologiczne neurony mają ich tysiące. Synapsa - jeśli dendryt jest wejściem neuronu, to synapsa jest jego furtką. MoŜe ona zmienić moc sygnału napływającego poprzez dendryt. Model neuronu Model neuronu Jak zbudowany jest sztuczny neuron? Model neuronu składa się z dokładnie tych samych elementów co neuron naturalny! Wejścia to dendryty, lub ściślej: sygnały przez nie nadchodzące. Wagi to cyfrowe odpowiedniki modyfikacji dokonywanych na sygnałach przez synapsy. Blok sumujący to odpowiednik jądra. Blok aktywacji to wzgórek aksonu, a wyjście - to akson. 4

Jak działa neuron? Na wejścia neuronu trafiają sygnały wejściowe (liczby opisujące postawione zadanie). Sygnały wejściowe są mnoŝone przez wartości wag (czyli waŝone), Wyniki mnoŝenia dodawane są do siebie w bloku sumacyjnym. W ten sposób powstaje konkretna liczba, którą określa się jako potencjał memebranowy. Uzyskana waŝona suma zostaje przetworzona zgodnie z zadana funkcja przejścia (aktywacji) prze blok aktywacji. Funkcja, według której Wyznaczona wartość jest wartością wyjściową neuronu potencjał membranowy neuronu jest przekształcany w jego sygnał wyjściowy. MoŜe ona mieć róŝny charakter Z czego składa się sztuczna sieć neuronowa? Sieci neuronowe zawdzięczają swoją nazwę m.in. faktowi, Ŝe neurony tworzą pewną sieć mianowicie formują się w warstwy. Neuron w warstwie zachowuje się dokładnie tak samo jak pojedynczy neuron. Zobaczmy zatem jak przedstawić moŝna schematycznie całą sieć neuronową. W sieciach neuronowych wyróŝniamy następujące warstwy: - wejściową, która dostarcza danych wejściowych, - wyjściową, zwracająca wynik działania sieci, - pośrednie warstwy neuronów tzw. warstwy ukryte (zwane niejawnymi), które występują pomiędzy warstwą wejścia i wyjścia; przy wykorzystywaniu sieci do skomplikowanych obliczeń potrzebujemy czasami kilku takich warstw, aby zapewnić efektywniejsze działanie sieci. 6 5

Sztuczna sieć neuronowa Aby uŝyć sieci w jakimś powaŝnym celu musi ona składać się z wielu neuronów. Neuron moŝe mieć jeden lub więcej dendrytów (a dla kaŝdego po jednej synapsie) i dokładnie jeden akson. Neurony łączy się wg. następujących zasad: układa się je warstwami. MoŜna zbudować sieć o jednej, dwóch, lub trzech warstwach, neurony naleŝące do danej warstwy nie mają ze sobą Ŝadnego kontaktu. Niczym nie połączone neurony moŝna nazwać siecią (jest to przykład sieci jednowarstwowej) Sztuczna sieć neuronowa Kolejne warstwy sieci tworzy się w ten sam sposób, co pierwszą. Aby utworzyły jedną sieć naleŝy warstwy połączyć: Neurony łączy się wg. zasady - kaŝdy z kaŝdym (wyjście kaŝdego neuronu z danej warstwy łączy się z wejściem kaŝdego neuronu warstwy następnej) W sieci neuronowej moŝna wyróŝnić tzw. warstwę wejściową. SłuŜy ona do wstępnej obróbki danych wejściowych. (Fakt istnienia warstwy wejściowej pomija się ją podając ilość warstw sieci. Oznacza to, Ŝe wyraŝenie: "sieć jednowarstwowa" oznacza de facto sieć dwuwarstwową, gdzie niejako "zerową" warstwą jest warstwa wejściowa, a dopiero po niej następuje pierwsza). Nie ma sensu budować sieci złoŝonej z więcej niŝ trzech warstw. 6

Podział sztucznych sieci neuronowych Sztuczne sieci neuronowe moŝna podzielić ze względu na: - ilość warstw (tutaj nie bierze się pod uwagę warstwy wejściowej) wyróŝniamy sieci jednowarstwowe oraz sieci wielowarstwowe; -kierunek przepływu sygnałów - wyróŝnić moŝemy sieci jednokierunkowe, w których sygnał płynie zawsze w jednym kierunku oraz sieci rekurencyjne, w których występują tzw. sprzęŝenia zwrotne. Za ich pośrednictwem sygnały mogą po przejściu danej warstwy wracać na jej wejście, zmieniając przy tym swoje wartości, co powtarza się wiele razy, aŝ do osiągnięcia pewnego ustalonego stanu. Sieć jednowarstwowa Sieć wielowarstwowa rekurencyjna Sieć wielowarstwowa jednokierunkowa 7 Proces uczenia sztucznych sieci neuronowych Metoda z nauczycielem Nauczyciel podaje: - wzorcowe obiekty na wejściu; - oczekiwane wartości na wyjściu; Sieć: - uczy się wzorców na pamięć oraz nabywa zdolność uogólniania wiedzy (rozpoznawanie podobnych obiektów); - zmienia wartości wag w celu dopasowania swojego działania do wzorców (nauczonych wyników). Metoda samouczenia - brak wzorcowych wag (sieć generuje je losowo); - sieć odbiera sygnał wejściowy i na jego podstawie wyznacza swoje wyjście; - sieć ocenia wartość na wyjściu kaŝdego neuronu warstwy wyjściowej; - wagi poszczególnych neuronów zmieniane są zgodnie z określonymi w danej metodzie zasadami. 8 7

Zalety sieci neuronowych Nie wymagają programowania. Wystarczy stworzyć sieć, a ona uczy się sama. Rola programisty ogranicza się do zaprojektowania takiej struktury sieci, która najlepiej będzie nadawała się do rozwiązania danego problemu, a następnie do umiejętnego pokierowania procesem uczenia sieci. Są odporne na uszkodzenia Sieć neuronowa wykazuje duŝą odporność na uszkodzenia - nawet w przypadku uszkodzenia niektórych połączeń działa nadal (podobnie jak mózg)! Dopiero po przekroczeniu pewnego progu uszkodzeń sieć (podobnie jak mózg) odmawia posłuszeństwa. Zdolność do uogólniania Znaczy to dokładnie tyle, Ŝe jeśli sieć nauczy się, powiedzmy, rozpoznawać kolory: czerwony i Ŝółty, to moŝe równieŝ rozpoznać róŝowy i bladoŝółty, czyli kolory podobne do znanych. Wady sieci neuronowych Są mało precyzyjne Sieci neuronowe nie przydadzą się przede wszystkim tam, gdzie potrzeba jasnych i precyzyjnych wyników - czyli przy rozmaitych skomplikowanych obliczeniach, obsłudze kont bankowych, itp. SSN operuje tzw. pojęciami rozmytymi: wysoki, niski, duŝy, mały, średni, jasny... Często jeśli oczekujemy od sieci odpowiedzi "tak" lub "nie", ona odpowie: "raczej tak", lub: "chyba nie"... Ta ostatnia skłonność sieci moŝe być zarówno wadą, jak i zaletą - zaleŝy, jak na to patrzeć. Brak rozumowania wieloetapowego SSN nie zdaje egzaminu takŝe wtedy, gdy specyfika problemu wymaga zastosowania wieloetapowego rozumowania. Kiedy trzeba mozolnie dochodzić do pewnych wniosków na podstawie efektów wcześniejszego rozumowania, a z tych wniosków wyciągać kolejne - sieć nie daje sobie rady. Działanie sieci pozwala na wyciąganie jedynie bezpośrednich wniosków. Rozumownie wieloetapowe wymaga zastosowania kilu sieci. 8

Koniec 9