Neuro-komputery Ryszard Tadeusiewicz.

Slides:



Advertisements
Podobne prezentacje
Sieć jednokierunkowa wielowarstwowa
Advertisements

SIECI NEURONOWE Sztuczne sieci neuronowe są to układy elektroniczne lub optyczne, złożone z jednostek przetwarzających, zwanych neuronami, połączonych.
Inteligencja Obliczeniowa Metody oparte na podobieństwie do wzorców.
SZTUCZNE SIECI NEURONOWE
Katedra Informatyki Stosowanej UMK
Inteligencja Obliczeniowa Sieci dynamiczne.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
Inteligencja Obliczeniowa Sieci o zmiennej strukturze.
Inteligencja Obliczeniowa Perceptrony
Badania operacyjne. Wykład 1
Badania operacyjne. Wykład 2
Przegląd zastosowań.
Neuro-komputery Ryszard Tadeusiewicz.
Wskaźniki analizy technicznej
Sztuczne sieci neuronowe
ZLICZANIE cz. II.
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
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.
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Sieci Hopfielda.
Wstęp do interpretacji algorytmów
Sieci neuronowe jednokierunkowe wielowarstwowe
Klasyfikacja dokumentów za pomocą sieci radialnych
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Systemy wspomagania decyzji
Sztuczne Sieci Neuronowe
formalnie: Uczenie nienadzorowane
Wspomaganie decyzji nie zwalnia od decyzji...
Naśladowanie żywego mózgu w komputerze
Uczenie w Sieciach Rekurencyjnych
Elementy Rachunku Prawdopodobieństwa i Statystyki
GŁOSOWA ŁĄCZNOŚĆ Z KOMPUTEREM
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.
Źródła błędów w obliczeniach numerycznych
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
MS Excel - wspomaganie decyzji
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
VI EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
VII EKSPLORACJA DANYCH
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Henryk Rusinowski, Marcin Plis
Seminarium licencjackie Beata Kapuścińska
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.
EKSPERYMENTY I OBSERWACJE NA LEKCJACH BIOLOGII I PRZYRODY
Metody Inteligencji Obliczeniowej
© 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.
Metody Inteligencji Obliczeniowej Adrian Horzyk Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii.
Modele nieliniowe sprowadzane do liniowych
STATYSTYKA – kurs podstawowy wykład 11
Belief Nets Autor: inż. 2013r źródło tła:
Systemy neuronowo – rozmyte
Kognitywne właściwości sieci neuronowych
MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH
Co do tej pory robiliśmy:
Podstawy Automatyki Człowiek- najlepsza inwestycja
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
* PROCESÓW TECHNOLOGICZNYCH
Inteligencja Obliczeniowa Perceptrony
Programowanie sieciowe Laboratorium 4
Zapis prezentacji:

Neuro-komputery Ryszard Tadeusiewicz

Współczesne komputery są coraz większe i coraz doskonalsze Cyfronet AGH Superkomputer SGI 2800 „Grizzly”

Wciąż jednak nawet najdoskonalsze z posiadanych przez nas komputerów daleko ustępują niewielkiemu narządowi, który każdy posiada, a niektórzy nawet używają...

Nic dziwnego, że chcąc doskonalić systemy informatyczne zaczynamy obecnie coraz odważniej budować maszyny wzorowane na budowie i działaniu ludzkiego mózgu

Współcześnie budowane neurokomputery noszą zwykle nazwę Sieci Neuronowych i pod taką nazwą będą w tym referacie przedstawiane.

Sieci neuronowe są narzędziem którego zakres zastosowań stale się poszerza. Należą do tego zakresu między innymi takie zadania, jak: Tworzenie modeli złożonych systemów Automatyczne metody przetwarzania, analizy i klasyfikacji złożonych sygnałów Predykacja szeregów czasowych i liczne, liczne inne...

Modele statystyczne Systemy ekspertowe Metody dedukcyjne Cechy charakterystyczne zadań, przy rozwiązywaniu których sieci neuronowe mają przewagę nad innymi technikami: Częściowy lub całkowity brak znajomości reguł Duża złożoność Modele statystyczne Systemy ekspertowe Metody dedukcyjne Częściowa znajomość reguł Mała i średnia złożoność Dokładne algorytmy Nieznajomość reguł rządzących problemem Sieci neuronowe Metody indukcyjne Pełna znajomość reguł Mała i średnia złożoność Stopień złożoności problemu

Zasadnicze zalety, warunkujące używanie sieci neuronowych są następujące: Możliwość rozwiązywania problemów niezbyt dobrze sformułowanych formalnie Możliwość zastępowania procesu „ręcznego” tworzenia modelu procesem uczenia sieci Brak konieczności jawnego formułowania założeń dla modeli Możliwość pracy współbieżnej

Zalety te mogą być wykorzystane jedynie wtedy, gdy typ sieci zostanie właściwie dopasowany do charakteru rozwiązywanego zadania

Omówimy teraz elementy, determinujące różne dostępne typy sieci neuronowych

Sieci neuronowe są wzorowane na faktach, które udało się ustalić w trakcie wieloletnich badań ludzkiego mózgu

Nagrody Nobla związane z badaniami układu nerwowego, których wyniki wykorzystano w sieciach neuronowych: 1904 - Pavlov I.P. - teoria odruchów warunkowych 1906 - Golgi C., - badanie struktury układu nerwowego 1906 - Ramón Y Cajal S. - odkrycie, że mózg składa się z sieci oddzielnych neuronów 1920 - Krogh S.A. - opisanie funkcji regulacyjnych w organizmie 1932 – Sherrington Ch. S. - badania sterowania nerwowego pracy mięśni 1936 – Dale H., Hallett L.O. - odkrycie chemicznej transmisji impulsów nerwowych 1944 - Erlanger J., Gasser H. S. - procesy w pojedynczym włóknie nerwowym 1949 - Hess W.R. - odkrycie funkcji śródmózgowia 1963 - Eccles J.C., Hodgkin A.L., Huxley A.F. - mechanizm elektrycznej aktywności neuronu 1969 – Granit R., Hartline H.K., Wald G. – fizjologia widzenia 1970 – Katz B., Von Euler U., Axelrod J. - transmisja informacji humoralnej w komórkach nerwowych 1974 – Claude A., De Duve Ch., Palade G. - badania strukturalnej i funkcjonalnej organizacji komórki. 1977 – Guillemin R., Schally A., Yalow R. - badania hormonów mózgu 1981 – Sperry R. - odkrycia dotyczące funkcjonalnej specjalizacji półkul móżdżku 1981 – Hubel D.H., Wiesel T. - odkrycie zasad przetwarzania informacji w systemie wzrokowym 1991 – Neher E., Sakmann B. - funkcje kanałów jonowych w komórkach nerwowych

Dzięki wieloletnim badaniom anatomia i fizjologia mózgu jest dzisiaj doskonale znana

Badania te na początku pozwoliły jedynie na ustalenie lokalizacji najbardziej podstawowych funkcji mózgu

Towarzyszyły temu mniej lub bardziej uzasadnione spekulacje na temat zadań, jakie pełnia poszczególne struktury mózgowe

Doskonalenie technik analizy działania mózgu pozwoliło na dokładniejsze określenie tego, w jaki sposób on działa

Dokładniejsze badania pozwoliły zidentyfikować i zlokalizować podstawowe funkcje mózgu

Zasadnicze funkcje mózgu bada się obecnie głównie przy użyciu techniki PET, która bez mała umożliwia „podglądanie myśli” podglądanie myśli Co ciekawe – technika ta pozwala wykryć i opisać nawet tak subtelne zmiany, jakie wywołuje w mózgu np. romantyczna miłość

Przy użyciu tej techniki można prześledzić nawet zakłopotanie, jakie sprawiają w trakcie percepcji tak zwane obrazy dwuznaczne

Przykład obrazu dwuznacznego, będącego źródłem konfuzji objawiającej się także w aktywności mózgu

Współczesne techniki analityczne pozwoliły sięgnąć nawet w najgłębsze zakamarki mózgu

Wzajemne relacje pomiędzy różnymi systemami neurocybernetycznymi

Jak wynikało z poprzedniego slajdu istnieją różne techniczne realizacje sieci neuronowych, najczęściej jednak stosowana jest symulacja z wykorzystaniem typowych komputerów i specjalnego oprogramowania.

Przykład programu symulującego sieci neuronowe

Sztuczna sieć neuronowa, podobnie jak sieci rzeczywiste, zbudowana jest z neuronów

Komórka nerwowa ma wyraźnie zdefiniowany kierunek przepływu sygnałów, co pozwala wyróżnić jej wejścia (jest ich wiele) oraz wyjście.

Elementy, z których buduje się neuronowy model

Budowa wiernego modelu nawet pojedynczego neuronu (komórki Purkinjego) jest bardzo kosztowna (de Schutter’05) Do zbudowania modelu użyto: 1600 kompartmentów 8021 modeli kanałów jonowych 10 typów różnych złożonych opisów matematycznych kanałów zależnych od napięcia 32000 równań różniczkowych! 19200 parametrów do oszacowania przy dostrajaniu modelu Opisu morfologii zrekonstruowanej za pomocą mikroskopu

Obrazy wyników symulacji komputerowej modelu komórki Purkinjego uzyskane w badaniach de Schuttera: u góry aktywność elektryczna symulowanej komórki, u dołu zjawiska biochemiczne (przepływ jonów wapnia

Komórki nerwowe zwykle mają typowy rozgałęziony kształt, z dobrze wyróżnionym drzewkiem dendrytów i z aksonem dającym odgałęzienia do następnych neuronów

Najczęściej da się wtedy wyraźnie wyróżnić obszar wejściowych i wyjściowych połączeń komórki

Chociaż nie jest to wcale regułą

Innym razem liczne rozgałęzienia na aksonie zacierają różnicę między drzewem wejść, a gwiazdą wyjść

Zwykle jednak można wyraźnie wskazać skąd i dokąd przepływają sygnały

Zwykle na wejściu neuron zbiera informacje z raczej małego obszaru poprzedniej warstwy sieci, natomiast rozsyła swój sygnał do większej liczby neuronów kolejnej warstwy

Od reguły tej są jednak wyjątki

Niekiedy neurony są zaskakująco mało rozgałęzione

Innym razem rozgałęzień jest bardzo dużo

Czasem rozgałęzienia wyraźnie „szukają” swojego docelowego połączenia na wejściu...

... lub na wyjściu.

Czasem cała struktura komórki ma wyraźnie kierunkowy charakter

Bywają komórki o takiej budowie, że trudno orzec, gdzie jest ich wejście, a gdzie wyjście

Najciekawsze procesy toczą się na złączach pomiędzy neuronami

agregacja danych wejściowych obliczenie wartości funkcji aktywacji Neuron - podstawowy element sieci w1 x1 Zadania ??? w2 y x2 Jak zróżnicować te sygnały? wn xn agregacja danych wejściowych obliczenie wartości funkcji aktywacji

Przy stosowaniu sieci neuronowych zasadnicze korzyści odnosi się z procesów uczenia zachodzących w obrębie tak zwanych synaps.

Pojęcie „wagi” synaptycznej jest w sztucznym neuronie bardzo uproszczone, podczas gdy w rzeczywistych komórkach odpowiada mu dosyć skomplikowana struktura anatomiczna i bardzo złożone procesy elektrochemiczne

Własności neuronu determinują: przyjęta agregacja danych wejściowych oraz założona funkcja wyjścia neuron nieliniowy -------------- ---------------- ---------- Agregacja liniowa neuron liniowy w1 x1 w2 y x2 -------- y = s ... wn xn Agregacja radialna

W przypadku neuronu liniowego jego zachowanie daje się łatwo zinterpretować

W przypadku neuronu nieliniowego nie jest tak łatwo, ponieważ zagregowany (w taki lub inny sposób) sygnał wejściowy może być przetworzony przy użyciu funkcji nieliniowej o teoretycznie dowolnym kształcie.

Funkcje aktywacji neuronu może być dowolna, ale najczęściej stosowane są niżej podane kształty.

Nieliniowe funkcje aktywacji też bywają różne:

Dobierając współczynniki wagowe wejść neuronu można wpływać na kształt jego nieliniowej charakterystyki!

Taka forma funkcji aktywacji neuronu powoduje, że w przestrzeni sygnałów wejściowych zachowanie neuronu opisuje tak zwane „urwisko sigmoidalne”

Odmiennie działającym elementem używanym w niektórych typach jest tzw Odmiennie działającym elementem używanym w niektórych typach jest tzw. neuron radialny (RBF) Agregacja sygnałów wejściowych w tym typie neuronu polega na obliczaniu odległości pomiędzy obecnym wektorem wejściowym X a ustalonym podczas uczenia centroidem pewnego podzbioru T Również nieliniowa funkcja przejścia w tych neuronach ma odmienną formę - „dzwonu” gaussoidy - czyli jest funkcją niemonotoniczną.

Sztuczny neuron jest więc w sumie dosyć prostą strukturą, dzięki czemu stosunkowo łatwo jest stworzyć sieć takich elementów

Przy budowie sztucznych sieci neuronowych najczęściej przyjmuje się, że ich budowa jest złożona z warstw, podobnie jak na przykład struktury neuronowe zlokalizowane w siatkówce oka

Trzeba jednak dodać, że sieci neuronowe w mózgu miewają też znacznie bardziej skomplikowaną strukturę

Przykład: schemat móżdżku

Zajmiemy się sieciami o niezbyt złożonej strukturze, bo ilość połączeń w dużej sieci neuronowej jest tak duża, że ich pełna prezentacja jest praktycznie nieczytelna

W dodatku duże sieci często mają strukturę trójwymiarową

Schemat sztucznej sieci neuronowej (uproszczonej) Warstwa ukryta (jedna lub dwie) Warstwa wejściowa Warstwa wyjściowa Działanie sieci zależy od: przyjętego modelu neuronu, topologii (struktury) sieci, wartości parametrów neuronu, ustalanych w wyniku uczenia

Najbardziej typowa struktura: sieć MLP Podstawowe właściwości: wiele wejść i wiele wyjść jedna (rzadziej dwie) warstwy ukryte nieliniowe charakterystyki neuronów ukrytych w formie sigmoid W warstwie wyjściowej neurony mogą być liniowe lub także mogą mieć charakterystyki sigmoidalne Uczenie najczęściej przeprowadzane metodą wstecznej propagacji błędów

A tak wygląda struktura innej praktycznie użytecznej sieci klasy GRNN warstwa radialna każdy z neuronów reprezentuje skupienie występujące w danych warstwa wejściowa służy do wprowadzania danych do sieci warstwa regresyjna wyznacza elementy niezbędne do obliczenia wartości wyjściowej warstwa wyjściowa wyznacza odpowiedź sieci

Idea działania sieci realizujących regresję uogólnioną (GRNN -Generalized Regression Neural Network) Wejściowe wektory uczące dzielone są na skupienia - w szczególnym przypadku każdy wektor tworzy oddzielne skupienie, Dla każdego skupienia znana jest wartość zmiennej objaśnianej, wartość zmiennej objaśnianej dla dowolnego wektora wejściowego szacowana jest jako średnia ważona z wartości tej zmiennej dla skupień - wagi uzależnione są od odległości od skupień.

Określenie wag neuronów radialnych metodą K-średnich Elementy zbioru uczącego dzielone są na grupy elementów podobnych (metodą k-średnich). W charakterze wag stosowane są środki ciężkości każdej wyróżnionej grupy.

Możliwości zastosowań sieci: opis zależności regresyjnych Y=NN(X1, X2, ..., XN) Y - zmienna ciągła Xi - zmienne ciągłe lub dyskretne powierzchnia, garaż, wiek, ogrzewanie, położenie, piętro, .... Cena rynkowa Przykład: Wycena mieszkań

Przy modelowaniu dowolnego systemu za pomocą sieci używa się metodologii „czarnej skrzynki”

Działanie modelu regresyjnego wytworzonego za pomocą sieci

Możliwości zastosowań sieci: klasyfikacja wzorcowa ? Y=NN(X1, X2, ..., XN) Y - zmienna dyskretna Xi - zmienne ciągłe lub dyskretne ? dochody, zabezpieczenie, wiek, stan cywilny, oszczędności, zatrudnienie .... przyznać czy nie przyznać ? Przykład: Udzielanie kredytu

Przykład klasyfikacji binarnej

Istota procesu uczenia sieci przy klasyfikacji binarnej (dychotomii) polega na tym, żeby rozgraniczyć w przestrzeni sygnałów odpowiednie obszary

Przykład klasyfikacji wieloklasowej

Możliwości zastosowań sieci: prognozowanie szeregów czasowych Yt+1=NN(Yt, Yt-1,..., Yt-k, Xt, ..., Xt-1) $/Zł(t) $/Zł(t-1) DM/Zł(t) WIG(t) WIG(t-1) .... $/Zł (t+1) Przykład: Prognoza kursu waluty

Przykładowa struktura sieci przewidującej przyszłe wartości wskaźnika WIG Y(t) Y(t-1) Y(t-2) ... Y(t-k) Y(t+1)

Możliwości zastosowań sieci: klasyfikacja bezwzorcowa Badanie struktury zbioru obiektów Dane charakte- ryzujące obiekty (kraje Europy)

Wynik automatycznego grupowania danych Struktura wzajemnego podobieństwa krajów Unii Europejskiej

Rozwiązywanie problemów przy pomocy sieci neuronowej identyfikacja problemu; wybór typu sieci neuronowej (liniowa, MLP, RBF, PNN, GRNN, Kohonena); określenie struktury sieci (liczba warstw, liczba neuronów w warstwach); uczenie sieci (określenie wartości parametrów neuronów).

Uczenie sieci neuronowej uczenie jest to w istocie iteracyjny proces estymacji optymalnych wartości parametrów sieci; początkowe wartości tych parametrów są zwykle wartościami losowymi; w trakcie uczenia sieci neuronowej prezentowane są przypadki uczące i w zależności od oceny reakcji sieci modyfikowane są jej parametry (najczęściej wagi synaptyczne). 

Na procesy pamięciowe duży wpływ mają zapewne receptory NMDA, spotykane w strukturach hipokampa aktywowane przez kwas N-metylo-D-asparaginowy

Mechanizmy biochemiczne zaangażowane w proces zapamiętywania wiedzy są raczej skomplikowane

Dla uczenia sztucznych sieci neuronowych cała ta skomplikowana wiedza biochemiczna nie jest konieczna, bo praktyczne metody uczenia sieci oparte są na prostej intuicji: poszukiwania minimum funkcji błędu

Algorytm wstecznej propagacji błędów polega na szukaniu kierunku spadku E i na takim zmienianiu wartości wag w1, w2, żeby zmniejszać wartość funkcji błędu w kierunku jej najszybszego spadku E Kierunek najszybszego spadku błędu Odpowiadająca mu wartość błędu Przemieszczenie po powierzchni błędu Stary (gorszy) wektor wag Migracja w przestrzeni wag Nowy (lepszy) wektor wag

Poszerzenie zakresu analizy pozwala wykryć, że znalezione ekstremum (tu: maksimum) ma charakter lokalny, a nie globalny

Można przy tym rozważać otoczenia o różnym zasięgu.

W zależności od tego, jaki rozmiar otoczenia jeszcze nie wykazuje, że ekstremum nie jest globalne - możemy mówić o ekstremach różnych rzędów.

Uczenie z nauczycielem Zbiór uczący: X1 X2 D x11 x12 d1 x21 x22 d2 ... ... ... xn1 xn2 dn Czy yi = di? Jeśli nie, to zmień wagi w taki sposób, aby te dwie wartości zbliżyły się do siebie. X1 Y X2 Epoka - Jednokrotna prezentacja wszystkich przypadków uczących Sposób zmiany wag neuronów w sieci w celu uzyskania dobrej zgodności rzeczywistych odpowiedzi neuronów z odpowiedziami wzorcowymi, podanymi w zbiorze uczącym, stanowi istotę wybranej metody uczenia.

Przykładowy zbiór uczący pozwalający rozwiązać problem regresyjny zmienne objaśniające: cylindry, pojemność, moc, masa, przyspieszenie, rok, pochodzenie zmienna objaśniana:zużycie paliwa w l/100 km.

można to zrobić przetwarzając dane ze zbioru uczącego Uczenie sieci polega na takim doborze jej parametrów, żeby zminimalizować błąd, jaki popełnia sieć; można to zrobić przetwarzając dane ze zbioru uczącego W zbiorze uczącym podane są poprawne wartości rozwiązań dla tych danych Sieć na tej podstawie oblicza i podaje swoje rozwiązanie (na ogół początkowo błędne) Na wejście sieci podawane są dane wskazane w zbiorze jako wejściowe Oto sieć neuronowa, którą trzeba uczyć

Uczenie sieci polega teraz na takim doborze jej parametrów, żeby zminimalizować błąd, jaki popełnia sieć przetwarzając dane ze zbioru uczącego Porównanie zawartej w danych wzorcowej odpowiedzi z wynikiem obliczonym przez sieć daje błąd Błąd Na podstawie błędu zmienia się wagi wszystkich neuronów w sieci, tak żeby malał Robi to algorytm uczenia

Kształtowanie się błędu sieci w trakcie uczenia Zbiór uczący: Najczęściej stosowana formuła opisująca błąd popełniany przez sieć: X1 X2 D x11 x12 d1 x21 x22 d2 ... ... ... xn1 xn2 dn I rzeczywiście zwykle błąd maleje! Jeśli proces uczenia ma zakończyć się sukcesem, to błąd powinien maleć Potem wolniej Najpierw szybko X1 Y X2

W trakcie uczenia sieci błąd przez nią popełniany zmienia się w charakterystyczny i zwykle podobny sposób: szybko maleje na początku procesu i znacznie wolniej później. Dla tej samej sieci i dla tych samych danych uczących przebiegi procesu uczenia mogą się nieco różnić jeden od drugiego. Zależy to głównie od tego, jak wybrany został punkt startowy, to znaczy wartości wag na początku procesu uczenia.

Przeuczenie sieci czyli zanik zdolności do generalizacji Zbiór uczący: Zdolność do aproksymacji: X1 X2 D x11 x12 d1 x21 x22 d2 ... ... ... xk1 xk2 dk X1 Y X2 Zdolność do generalizacji: Zbiór walidacyjny: X1 X2 D x(k+1)1 x(k+1)2 dk+1 ... ... ... xn1 xn2 dn Tutaj przerwać uczenie!

Tu zaczyna się przeuczenie Dzięki użyciu zbioru danych walidacyjnych można wykryć moment „przeuczenia” sieci. Tu zaczyna się przeuczenie 1 0.8 0.6 0.4 0.2 200 400 600 800 1000 Błąd dla zbioru uczącego Błąd dla zbioru walidacyjnego

Strukturę sieci trzeba tak dobrać, żeby otrzymać aproksymację danych uczących nie za bardzo skomplikowaną, ale i nie nazbyt uproszczoną

Działanie sieci posiadającej zdolność do aproksymacji i do generalizacji

Działanie (na tych samych danych) sieci nie posiadającej zdolności do generalizacji

Efekty uczenia sieci - 1

Efekty uczenia sieci - 2

Efekty uczenia sieci - 3

Kwestia wyboru struktury modelu neuronowego Nie istnieje ogólna recepta, każdy przypadek musi być rozważany indywidualnie!

Najbardziej istotny problem wiąże się z ustaleniem, ile elementów powinna mieć warstwa ukryta? Mała może się okazać zbyt prymitywna, żeby sobie poradzić z trudnością rozwiązywanego zadania... ... duża z pewnością sprawi więcej kłopotów podczas uczenia

Przyjrzyjmy się, jak rozwiązują problem uczenia sieci o różnej architekturze Wyobraźmy sobie przestrzeń percepcyjną pewnego zwierzaka. Postrzega on otoczenie za pomocą wzroku i słuchu, więc każde środowisko stanowi dla niego punkt na płaszczyźnie dźwięku i światła. Tu jest jasno i gwarno Dźwięk Tu jest głośno i ciemno (dyskoteka) A tu są dane dla konkretnego środowiska w którym umieszczamy naszego zwierzaka. Tu jest cicho i ciemno (sypialnia) Przedmiotem uczenia będzie to, w jakim środowisku zwierzak się dobrze czuje Tu jest cicho i jasno (plaża) Światło

„Samopoczucie” zwierzaka będzie sygnalizowane przez kolor odpowiednich punktów w przestrzeni sygnałów wejściowych Dźwięk Światło Tu zwierzak jest nieszczęśliwy Tu zwierzak jest zadowolony

Przykładowa mapa „samopoczucia” zwierzaka Mapę taką będziemy dalej rysowali zwykle w postaci wygładzonej: Dźwięk Światło

Informację o tym, jak się powinien zachowywać, zwierzak dostawać będzie w postaci zbioru uczącego, składającego się z przypadkowo wylosowanych punktów („środowisk”) do których przypisane będą wymagane przez nauczyciela stany samopoczucia (sygnalizowane kolorem) Oto przykładowy zbiór uczący ... ...wygenerowany dla tej mapy

Zakładamy, że pomiędzy stanami: pełnego szczęścia: i całkowitej depresji: Możliwe są jeszcze stany pośrednie, które będziemy oznaczać kolorami podobnymi, jak na mapach geograficznych pośrednie wysokości pomiędzy szczytami (entuzjazmu) a dnem (melancholii). Przykładowa mapa:

Wyposażmy naszego zwierzaka w „mózg” w postaci bardzo prostej jednowarstwowej sieci neuronowej i spróbujmy przeprowadzić jego uczenie Zaczniemy od próby wyuczenia zwierzaka, żeby lubił gwarne śródmieście w samo południe: Zwierzak początkowo wcale nie ma na to ochoty, bo jego zachowanie wynikające z początkowych (przypadkowych!) wartości wag neuronów obrazuje mapa: Dźwięk Jasno i bardzo głośno! Jest to jak widać zwolennik dyskoteki i sypialni (?) Ale zwierzak nam się trafił  ! Światło

No to zaaplikujemy zwierzakowi uczenie Wzorzec Stan Początek Dalszy etap początkowy uczenia uczenia Widać, że na początku ma „opory”, ale powoli zaczyna się uczyć...

Po kolejnych kilku epokach uczenia zwierzak już wie, o co chodzi: Już się dostosował!

Poprzednie zadanie udało się rozwiązać, bo było bardzo proste, więc bardzo głupiutki zwierzak (sieć neuronowa bez warstw ukrytych) zdołał się go nauczyć. Zobaczmy jednak, jak ta sama sieć będzie się uczyć trudniejszego zadania.

Niech zadanie polega na stworzeniu preferencji dla „złotego środka”

Nasz zwierzak miota się i zmienia swoje upodobania, ale mimo dowolnie długiego uczenia nie zdoła wykryć, o co tym razem chodzi! Zauważmy: Ten „cyber-kretyn” nigdy się nie nauczy robić tego, czego się od niego wymaga, ale jego poglądy są zawsze bardzo kategoryczne (wszystko jest albo bardzo dobre, albo bardzo złe) – chociaż za każdym razem niestety błędne...

Wyposażmy go więc w bardziej skomplikowany „mózg” zawierający pewną liczbę neuronów ukrytych. Teraz proces uczenia przebiega zupełnie inaczej. Sieć startuje od stanu totalnego optymizmu (prawie wszystko się zwierzakowi podoba!).

Wystarczy jednak kilka niepowodzeń w trakcie procesu uczenia, by zwierzak popadł w stan totalnego pesymizmu Dostał kilka razy karę od nauczyciela i się załamał!

Potem jednak proces uczenia przebiega coraz skuteczniej i kończy się całkowitym sukcesem

Ta sama sieć wystartowana powtórnie (z innymi początkowymi wartościami wag) także dochodzi do właściwego rozwiązania, chociaż inną drogą.

Dzięki prostemu programowi symulacyjnemu można zebrać bardzo wiele podobnych historii uczenia.

Inny przykład Sieć z dwoma warstwami ukrytymi (powyżej) radzi sobie z problemem, który „przerasta” możliwości sieci z jedną warstwą ukrytą (na następnym slajdzie)

Porażka sieci z jedną warstwą ukrytą

Oto jeszcze jedna przykładowa historia uczenia sieci o większej złożoności Takie zabawy można kontynuować bez końca!

Całkiem poważnym problemem jest sposób reprezentacji danych w sieci neuronowej Jeśli dane mają od początku charakter numeryczny to problemu nie ma – najwyżej trzeba je przeskalować. cel skalowania: dopasowanie zakresu wartości zmiennej do charakterystyki neuronu

Gorzej, jeśli dane mają charakter jakościowy Gorzej, jeśli dane mają charakter jakościowy. Konieczne jest wtedy przekształcenie jeden-z-N Jeden-z-N – to sposób na przekształcenie wartości nominalnych do postaci numerycznej. Przykład: Pochodzenie ={Azja, Ameryka, Europa} Azja: {1, 0, 0} Ameryka: {0, 1, 0} Europa: {0, 0, 1} jedna zmienna – trzy neurony

Właściwej interpretacji wymagają też dane wyjściowe, otrzymywane z sieci jako rozwiązanie postawionego zadania Jeśli wymagane są wyniki numeryczne, to sprawa jest prosta, bo wystarczy je odczytać na wyjściach neuronów i tylko odpowiednio przeskalować. Trudności zaczynają się wtedy, gdy sieć pracuje jako klasyfikator, więc jej odpowiedzi trzeba interpretować jako decyzje.

Klasyfikacja wzorcowa Celem klasyfikacji wzorcowej jest przypisanie badanych obiektów do jednej ze znanych klas. Zaklasyfikowanie obiektu dokonywane jest na podstawie wartości opisujących go zmiennych.

Klasyfikacja w przypadku dwóch klas Warstwa wyjściowa - neuron z sigmoidalną funkcją aktywacji Reprezentacja klas: klasa 1 - wartość 1 klasa 2 - wartość 0 Wartość wyjściowa neuronu może być interpretowana jako prawdopodobieństwo przynależności do klasy 1

Klasyfikacja w przypadku większej liczby klas Każdej klasie odpowiada jeden neuron w warstwie wyjściowej. Aby obiekt został zaliczony do i-tej klasy: wartość wyjściowa i-tego neuronu - wyższa od poziomu akceptacji, wartości wyjściowe pozostałych neuronów - niższe od poziomu odrzucenia. Interpretacja wartości wyjściowych jako prawdopodobieństw przynależności do klas - konieczne jest ich sumowanie do jedności - zapewnia to funkcja aktywacji SoftMax

Przykład klasyfikacji binarnej i wieloklasowej

Problem praktyczny: Czy wszystkie dostępne zmienne objaśniające należy wprowadzać na wejścia sieci? Nie, w miarę możliwości należy ograniczać liczbę zmiennych wejściowych, Dlaczego? Bo stosując mniejszą liczbę zmiennych wejściowych uzyskujemy prostszą sieć, która: posiada mniejszą liczbę parametrów nastawianych podczas uczenia, a to powoduje łatwiejsze uczenie i daje lepsze zdolności do generalizacji, ma krótszy czas uczenia, gdyż mniej jest danych

Liniowa sieć neuronowa Iteracyjne uczenie sieci liniowej nie jest konieczne, gdyż może być zastąpione procedurą pseudo-inwersji macierzy w11 x1 y1 = w11 x1 + w21 x2 + ... + wn1 xn ….. y1 w21 x2 wn1 yk = w1k x1 + w2k x2 + ... + wnk xn W zapisie macierzowym: Y = W X yk xn

Sieć liniowa jako najprostszy (ale użyteczny!) model regresyjny Przesłanki przemawiające za stosowaniem liniowej sieci neuronowej: jest doskonałym narzędziem do opisu zależności liniowych, stanowi punkt odniesienia przy ocenie modeli nieliniowych, struktura i uczenie nie stwarza żadnych problemów.

Liniowa sieć neuronowa P Y W W1 W2 Y X X P = W1 X Y = W2 P Y = W2 W1 X Y = W X ; W = W1 W2 Sieć liniowa z zasady nie posiada warstw ukrytych, bo nawet jeśli się je wprowadzi, to nie wzbogacą one zachowania sieci

Dlatego liniowa sieć neuronowa jest często przedstawiana w sposób przytoczony na tym obrazku

Perceptron wielowarstwowy P = [W1 X] Y = [ W2 P ] Y = [ W2 [ W1 X ] ]  P X W1  W2  Y  W perceptronie na skutek istnienia nieliniowości w neuronach ukrytych nie jest możliwe „zwinięcie”jego wielowarstwowej struktury

Przykłady budowy modeli neuronowych z użyciem sieci typu perceptron UWAGA! Zwykle rozwiązywane rzeczywiste problemy są znacznie bardziej złożone, głównie ze względu na konieczność uwzględniania wielu wejść i wyjść sieci!

Rzeczywiste dane, które muszą być aproksymowane z pomocą sieci są zwykle wielowymiarowe.

Sieć neuronowa może dać model lepszy niż metody statystyczne Model statystyczny Sieć neuronowa

Niekorzystne jest zarówno użycie zbyt prostej, jak i zbyt skomplikowanej sieci Sieć zbyt prosta (jeden neuron) Sieć zbyt skomplikowana

Mało skomplikowane sieci szybko się uczą i wykazują powtarzalne zachowanie, chociaż jest to często zachowanie błędne Wyniki kolejnych prób uczenia za małej sieci

Sieć neuronowa buduje model poprzez tworzenie w poszczególnych neuronach kombinacji liniowych ich sygnałów wejściowych oraz nakładanie na to nieliniowych funkcji aktywacji neuronów

Działanie sieci MLP o większej liczbie warstw oraz sieci RBF

Sieci o radialnych funkcjach bazowych(sieci RBF)

Sieci RBF - schemat neuronu radialnego

Zastosowanie RBF (zamiast MLP) spowoduje, że sieć neuronowa znajdzie aproksymację lepiej dopasowaną do lokalnych właściwości zbioru danych, ale gorzej ekstrapolującą. MLP RBF Funkcja bazowe Wynik dopasowania

Sieci RBF bywają nadmiernie wrażliwe na nawet nieliczne błędy w danych uczących

Przykład danych doświadczalnych (kółeczka) do aproksymacji z pomocą sieci neuronowej (linia kropkowana)

Kolejne eksperymenty uczenia tej samej sieci neuronowej na tych samych danych mogą dawać nieco różniące się wyniki.

Niekiedy sieć nadmiernie dopasowuje się do danych uczących (przeuczenie) i traci zdolność generalizacji

W razie potrzeby służę konsultacją O szczegółach techniki sieci neuronowych można się więcej nauczyć z mojej książki dostępnej bezpłatnie w Internecie : http://victoria.uci.agh.edu.pl/BG/skrypty/index.html W razie potrzeby służę konsultacją rtad@agh.edu.pl