Obliczenia neuronowe. (wprowadzenie) Ryszard Tadeusiewicz Laboratorium Biocybernetyki Katedra Automatyki AGH

Podobne dokumenty
Budowa i własności. sztucznych neuronów i sieci

Sieci neuronowe (wprowadzenie) Ryszard Tadeusiewicz Laboratorium Biocybernetyki Katedra Automatyki AGH

Sieci neuronowe (wprowadzenie)

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

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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Uczenie z nauczycielem. Przykładowy zbiór uczący. Istota algorytmu uczenia Schemat uczenia sieci neuronowej

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Sieci neuronowe (wprowadzenie)

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

Ogólna idea procesu uczenia. Najważniejszy element wiedzy o sieciach neuronowych uczenie sieci. Uczenie z nauczycielem

Najważniejszy element wiedzy o sieciach neuronowych. uczenie sieci

Sieci neuronowe w Statistica

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

Przykładowe funkcje przejścia używane przy budowie sztucznych neuronów

Sztuczne sieci neuronowe

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

Metody Sztucznej Inteligencji II

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

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Podstawy sztucznej inteligencji

Zastosowania sieci neuronowych

Podstawy Sztucznej Inteligencji (PSZT)

Temat: Sieci neuronowe oraz technologia CUDA

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Uczenie sieci typu MLP

Optymalizacja ciągła

Inteligentne systemy przeciw atakom sieciowym

Aproksymacja funkcji a regresja symboliczna

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

Sieci neuronowe. - wprowadzenie - Istota inteligencji. WYKŁAD Piotr Ciskowski

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

wiedzy Sieci neuronowe

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

Wstęp do sztucznych sieci neuronowych

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

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Uczenie sieci neuronowych i bayesowskich

Optymalizacja optymalizacji

I EKSPLORACJA DANYCH

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Sztuczne sieci neuronowe

Wprowadzenie do analizy korelacji i regresji

Inteligentne systemy informacyjne

Projekt Sieci neuronowe

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

Widzenie komputerowe

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

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

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

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

Zastosowania sieci neuronowych

Statystyka w pracy badawczej nauczyciela Wykład 4: Analiza współzależności. dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl

Elementy inteligencji obliczeniowej

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

SIECI RBF (RADIAL BASIS FUNCTIONS)

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

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

Sztuczne sieci neuronowe (SNN)

Testowanie modeli predykcyjnych

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Podstawy Sztucznej Inteligencji

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

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

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.

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy

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

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Algorytmy sztucznej inteligencji

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

MODELOWANIE RZECZYWISTOŚCI

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Sieć przesyłająca żetony CP (counter propagation)

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

2

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

Wykład z Technologii Informacyjnych. Piotr Mika

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

PRÓBA ZASTOSOWANIA SIECI NEURONOWYCH DO PROGNOZOWANIA OSIADAŃ POWIERZCHNI TERENU POWSTAŁYCH NA SKUTEK EKSPLOATACJI GÓRNICZEJ**

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

Jakość uczenia i generalizacja

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

METODY INŻYNIERII WIEDZY

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Wprowadzenie do Sieci Neuronowych Laboratorium 05 Algorytm wstecznej propagacji błędu

Algorytmy wstecznej propagacji sieci neuronowych

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

6. Perceptron Rosenblatta

PRZEWODNIK PO PRZEDMIOCIE

Systemy uczące się wykład 2

BIOCYBERNETYKA SIECI NEURONOWE. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Transkrypt:

Obliczenia neuronowe (wprowadzenie) Ryszard Tadeusiewicz Laboratorium Biocybernetyki Katedra Automatyki AGH

Oto przykładowa sieć neuronowa Dane reprezentujące zadanie do wykonania Wiedza zdobyta w czasie uczenia Wynik reprezentujący rozwiązanie zadania

Zacznijmy jednak od formalnej definicji: sieć neuronowa to urządzenie techniczne lub algorytm, którego działanie wzorowane jest w pewnym stopniu na działaniu sieci biologicznych struktur nerwowych. Zazwyczaj składa się z systemu połączonych ze sobą elementów naśladujących biologiczne neurony, z których każdy posiada pewną liczbę wejść i jedno wyjście

Wyjścia z poszczególnych elementów są na ogół połączone z wejściami innych tworząc sieć. Niektóre elementy wyprowadzają sygnały wyjściowe na zewnątrz i to one dostarczają odpowiedzi na zadanie, które rozwiązuje sieć. Inne elementy przyjmują na swych wejściach sygnały z zewnątrz i to właśnie one służą do stawiania zadań, które sieć ma rozwiązywać.

Zależność pomiędzy wejściami i wyjściami jest modyfikowana dla każdego elementu z osobna w procesie tzw. uczenia sieci. Nauczona sieć przetwarza informację poprzez jej obróbkę głównie na złączach między elementami, tak zwanych synapsach. Pomocniczą rolę odgrywa generowanie sygnałów w poszczególnych elementach oraz ich przesyłanie pomiędzy elementami.

Zależność pomiędzy sygnałami wejściowymi a wyjściowymi w całej sieci jest następnie interpretowana jako rozwiązanie postawionego sieci problemu.

Wykład nie wyczerpie wszystkich zagadnień. Jak znaleźć książkę o sieciach neuronowych w wirtualnej bibliotece?

http://abc.agh.edu.pl

Dlaczego warto się interesować sieciami neuronowymi?

Na jednej z pierwszych konferencji naukowych poświęconych sieciom neuronowym (w 1995 roku) jeden z amerykańskich badaczy pokazał taki slajd: Uznałem, że to dobry pomysł i spróbowałem kontynuować ten wykres

Wielkość obrotów oprogramowaniem dla tworzenia sieci neuronowych (w mld USD) 200 150 100 50 0 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006

Jak widać idea obliczeń neuronowych staje się coraz popularniejsza

Przykładowe narzędzia do budowy sieci neuronowych

Zaletą sieci neuronowych jest to, że można do nich wprowadzać dowolne, nie uporządkowane dane, a po nauczeniu sieci na jej wyjściu dostaje się zwykle porządny i użyteczny wynik

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

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 Predykcja szeregów czasowych i liczne, liczne inne...

Czasopisma, w których obecnie można znaleźć najnowsze i najwartościowsze wiadomości dotyczące sieci neuronowych Obydwa te pisma są wydawane w USA, ale ja jestem członkiem redakcji w obu tych periodykach

Zasadnicze zalety, warunkujące używanie sieci neuronowych są następujące: Brak konieczności jawnego formułowania jakichkolwiek założeń dla modeli Możliwość rozwiązywania problemów nie mających dobrej definicji formalnej Możliwość zastępowania procesu programowania oraz ręcznego tworzenia modelu - procesem uczenia sieci Możliwość pracy współbieżnej

Do realizacji współbieżnych obliczeń w dużych sieciach neuronowych stosuje się dziś specjalne systemy mikroelektroniczne oraz klastry komputerowe

HAGEN - The Heidelberg AnaloG Evolvable Neural Network

Szczegóły rozwiązania technicznego

The EvoOpt Mixed-Signal Neural Network Chip

Nad strukturami neuronowymi pracują największe firmy hardware owe

Schemat funkcjonalny neuronowego chipu Intela

Linux cluster CCortex with 1,000 processors for modeling of neural system with 20 billion neurons and 20 trillion connections. Parameters: 1 terabyte of RAM, and 200 terabytes of storage

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

Dlatego o sieciach neuronowych często mówi się: Neurokomputery

Ta nazwa jest ze wszech miar uzasadniona, ponieważ w systemach tych często sprzęga się bezpośrednio elementy elektroniczne z żywymi neuronami

Najczęściej jednak sieci neuronowe wykonywane są jako programy symulujące ich funkcjonowanie w zwykłych komputerach

Mam program, więc działam jak sieć neuronowa Mogę wykonywać wszelkie obliczenia tak jakbym miał specjalnie zbudowaną sieć!

Przykład programu symulującego sieci neuronowe

Jak jest zbudowana i jak działa sieć neuronowa?

Twórcy sieci neuronowych wykorzystują wiedzę neuroanatomiczną i neurofizjologiczną, ale modelują rzeczywiste struktury nerwowe w sposób maksymalnie uproszczony

Początkowo anatomowie dzielili mózg tak, jak kolonizatorzy Afrykę według arbitralnie wyznaczanych granic, bez zwracania uwagi na to, co było w środku

Potem zaczęto nieco subtelniej wyodrębniać anatomiczne elementy mózgu

Mózg widziany od podstawy

Przedstawione wyżej obszary były wyodrębnione na podstawie obserwacji i analizy zewnętrznej budowy mózgu. Natomiast jeszcze w ostatnich latach XIX wieku podjęto próby określenia struktury mózgu na poziomie budowy elementów wewnętrznych czyli komórek i ich połączeń.

W efekcie tych prac powstała cytoarchitektoniczna mapa Brodmana

Ludzie już dawno poznali i opisali strukturę mózgu, jednak przez długi czas niemożliwe było ustalenie, jak to działa?

Procesy kognitywne i mentalne, na których modelowaniu opiera się budowa sieci neuronowych można badać i opisywać w różnych skalach

Mózg jest trudny do badania, bo składa się z niewiarygodnie wielkie liczby elementów: 100 000 000 000 neuronów!

Za pomocą metod PET można pokazać aktywizację poszczególnych części mózgu przy wykonywaniu poszczególnych czynności Mózg podczas odpoczynku Sygnał Rozwiązywanie optyczny akustyczny - rysunek zadania - muzyka matematycznego

Najwięcej informacji mamy na temat elementarnego procesora biologicznego, jakim jest neuron.

Schematyczny rysunek neuronu

Dwa rzeczywiste obrazy neuronów Oraz wizja graficzna na podstawie setek obrazów mikroskopowych

Zróżnicowanie wielkości i budowy rzeczywistych neuronów powoduje, że trudno jest mówić o czymś takim, jak typowy neuron

Mikroelektrody docierają w pobliże komórek nerwowych i rejestrują ich aktywność elektryczną

Potencjał czynnościowy Maksymalna częstotliwość impulsacji neuronów wynosi około 1 khz. 1 ms W praktyce rzadko spotyka się impulsację szybszą niż kilkaset herców.

Rejestracje aktywności elektrycznej różnych części neuronu

Matryca mikroelektrod stosowana do rejestrowania odpowiedzi z kory mózgowej badanego zwierzęcia

Propagacja impulsów elektrycznych we włóknach nerwowych jest dosyć powolna!

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. - transmisja informacji humoralnej w komórkach nerwowych 1974 Claude A., De Duve Ch. - 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 Sieci neuronowe to efekt, a przyczyny to...

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

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

Neuron - podstawowy element sieci x 1 w 1 x 2 w 2 Zadania??? s = g( w, x ) i i w i = 1,, n n Jak zróżnicować te sygnały? y = f ( s) y x n 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 synaps.

Budowa synapsy

Schemat funkcjonowania synapsy

Kryształy bardziej znanych neurotransmiterów pod mikroskopem i ich chemiczne wzory strukturalne

Budowa i własności sztucznych neuronów i sieci

Własności neuronu determinują: przyjęta agregacja danych wejściowych oraz założona funkcja wyjścia Agregacja liniowa n s i= 1 = w x i i neuron liniowy x 1 x 2 x n w 1 w 2 s g ( w, x ) i i w i = 1,, n n... = y y = s

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

Z neuronem liniowym (i z innymi neuronami budowanymi na jego bazie) związana jest jeszcze sprawa wyrazu wolnego w formule agregacji Czysta agregacja liniowa: x 0 1 w 0 n s i= 1 = w x i i ma wadę, polegającą na tym, że charakterystyka neuronu musi tu przechodzić przez początek układu x 1 x 2 x n w 1 s g ( w, x i i ) w n i = 1,, n w 2... = y y = s To nadal jest neuron liniowy! Żeby zachować liniową postać wzoru opisującego neuron dodaje się dodatkowe pseudo-wejście nazywane BIAS, które zawsze dostarcza sygnał 1 Bogatsze możliwości daje agregacja afiniczna (z wyrazem wolnym w formule): Wtedy agregacja jest nadal liniowa: s = s = n i= 1 n i= 0 w x i i w i x i + w 0

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.

Własności neuronu determinują: przyjęta agregacja danych wejściowych oraz założona funkcja wyjścia n ---------------- Agregacja liniowa ---------- = w x -------------- neuron i i radialny liniowy s i= 1 neuron nieliniowy x 1 w 1 x 2 x n w 2 s = g ( w, x ) i i w i = 1,, n n... -------- y = s y = f ( s) y s n i= 1 ( ) 2 = w x i i Agregacja radialna

Warto odróżnić dwie nieliniowe charakterystyki neuronu: unipolarną (po lewej) i bipolarną (po prawej)

Funkcja przejścia wiąże zagregowane wejścia do neuronu z jego sygnałem wyjściowym

Różne przykładowe funkcje, wykorzystywane jako funkcje przejścia

Funkcje aktywacji neuronu może być dowolna, ale najczęściej stosowane są niżej podane kształty. 1,5 1 0,5 0 x -2,9-2,7-2,5-2,3-2,1-1,9-1,7-1,5-1,3-1,1-0,9-0,7-0,5-0,3-0,1 0,1 0,3 0,5 0,7 0,9 1,1 1,3 1,5 1,7 1,9 2,1 2,3 2,5 2,7 2,9 Liniowa -0,5 Sigmoidalna -1 Tangensoidalna -1,5 Gaussa

Wykres sigmoidy w zależności od parametru β β=0,5 β=1 β=2 1 y 0,8 0,6 0,4 0,2 S 0-10 -5 0 5 10 f ( s) = 1+ 1 exp( βs)

Funkcja tangens hiperboliczny ma praktycznie taki sam kształt, tylko jej wartości zmieniają się od -1 do +1, a nie od 0 do +1 jak w sigmoidzie +1 β=0,5 β=1 β=2 1 y 0,8 0,6 0,4 0,2-1 S 0-10 -5 0 5 10 exp( βs) exp( βs) f ( s) = tanh( βs) = exp( βs) + exp( βs)

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

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

Zapamiętajmy: Najczęściej wykorzystywany jest taki model neuronu: x 1 w 1 1.1 y:=1/(1+exp(-0.5*x)) x 2 x n w 2... w n n s i= 1 = w i x i 0.9 0.7 0.5 0.3 0.1 y -0.1-10 -5 0 5 10 Sieć zbudowana z takich neuronów nazywana jest zwykle MLP (Multi-Layer Perceptron)

Sztuczny neuron jest więc w sumie dosyć prostą strukturą, dzięki czemu stosunkowo łatwo jest stworzyć sieć takich elementów Sygnały wejściowe x x x 1 2 n w Synał wyjściowy 1 Zmienne w. 2.. "wagi" w n y

Bywały próby budowania sieci o architekturze ściśle dopasowanej do natury rozwiązywanego zadania (tutaj pokazana struktura sieci przeznaczona była do rozpoznawania kodów pocztowych na kopertach)

Nie zdało to jednak egzaminu i obecnie przy budowie sztucznych sieci neuronowych najczęściej przyjmuje się arbitralnie, że ich budowa jest złożona z warstw, podobnie jak na przykład struktury neuronowe zlokalizowane w siatkówce oka

Również w korze mózgowej daje się zaobserwować warstwowa budowa Kora wzrokowa Połączenia do i od poszczególnych warstw w mózgu

Warstwowość kory wzrokowej widać lepiej przy wyborze małych jej fragmentów

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

Poglądowe działanie sieci neuronowej

Początek działania sieci neuronowej wiąże się z pojawieniem się na jej wejściach sygnałów (czerwone kropki) niosących nowe zadanie do rozwiązania

Sygnały wejściowe (nie przetworzone w żaden sposób w warstwie wejściowej) są rozsyłane do wszystkich neuronów warstwy ukrytej

Po przetworzeniu sygnałów przez neurony warstwy ukrytej powstają sygnały pośrednie, kierowane do neuronów warstwy wyjściowej

Neurony warstwy wyjściowej korzystają ze wstępnie opracowanej informacji pochodzącej z warstwy ukrytej i obliczają końcowe wyniki, będące rozwiązaniem postawionego zadania

Zasadnicze zalety sieci neuronowych wiążą się z faktem, że mogą się one uczyć

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

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). Nauczyciel Ewa Zbiór uczący

Ilustracja procesu uczenia w sieci Istota procesu uczenia polega na modyfikacji wag połączeń neuronów W wyniku tego sygnał wyjściowy sieci upodabnia się do zbioru uczącego Można to obserwować biorąc pod uwagę zmiany błędu uczenia

Przykładowy zbiór uczący pozwalający rozwiązać problem regresyjny: Jak duże będzie zanieczyszczenie powietrza w różnych miastach? zmienne objaśniające: temperatura, liczba zakładów przemysłowych, liczba ludności, prędkość wiatru, wielkość opadu, liczba dni deszczowych zmienna objaśniana: Stężenie SO 2 w powietrzu dana nieistotna: nazwa miasta

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 Na wejście sieci podawane są dane wskazane w zbiorze jako wejściowe Oto sieć neuronowa, którą trzeba uczyć 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)

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

Wielkość błędu popełnianego przez sieć E sieć popełnia taki duży błąd sieć popełnia taki mały błąd a przy takim zestawie wag Drugi współczynnik wagowy w 2 przy takim zestawie wag Pierwszy współczynnik wagowy w 1

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

w ( ( ) ) w ( p+ 1) = w ( p) η E p p η - współczynnik uczenia Poszukiwanie (i znajdowanie!) minimum funkcji błędu metodą wyznaczania w każdym kolejnym kroku kierunku najszybszego spadku

Uczenie sieci neuronowej jako wędrówka ślepego kangura szukającego domu Kangur zna tylko lokalne nachylenie zbocza Jeśli wykona za mały skok to będzie do domu wracał długo Jeśli wykona za duży skok to może wpaść do przepaści Jeśli mu się uda, to może pokonać przeszkody i znacząco się zbliżyć do celu

Problem doboru wartości współczynnika uczenia

Powierzchnie błędów bywają dosyć skomplikowane!

Dlatego proces uczenia może napotykać na różne przeszkody:

W celu przezwyciężenia wad algorytmu backpropagation, takich jak: powolność algorytmu, tendencja do zatrzymywania się algorytmu w minimach lokalnych funkcji E, najczęściej stosuje się dodatkowy składnik nazywany pędem (momentum): p = E ( ) w p + w p 1 w η µ gdzie µ jest współczynnikiem momentum, określającym wpływ poprzedniej modyfikacji wektora wag na aktualny wektor poprawek.

Dla ustabilizowania procesu uczenia stosuje się współczynnik wnoszący bezwładność zwany momentum Lekkie małe saneczki utkną w pierwszym dołku na stoku Rozpędzony masywny bojer ześlizgnie się aż na sam dół!

Zmiany współczynników wag w sieci podczas uczenia bez współczynnika momentum (po lewej) i ze współczynnikiem momentum równym 0.5 (po prawej) dla tej samej ilości kroków Momentu przyspiesza i stabilizuje uczenie!

Krzyżyki oznaczają elementy zbioru uczącego Linia ciągła prezentuje wynik działania sieci Przykładowy przebieg procesu uczenia Błąd SSE Start procesu uczenia wszystkie wagi są przypadkowe Ilość epok uczenia

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. suma kwadratów błędów 1000 900 800 700 600 500 400 300 200 100 0 Dla tej samej sieci i dla tych samych brak danych uczących przebiegi procesu uczenia przesunięcie mogą się nieco różnić jeden od drugiego. linie Zależy to głównie od tego, jak wybrany został punkt startowy, to znaczy wartości wag na początku procesu uczenia. 0 50 100 150 200 250 300 350 400 450 czas uczenia (w epokach)

W dalszych przykładach będziemy używali funkcji błędu mającej jedno minimum lokalne i jedno globalne Oto wykres tej funkcji... oraz jej mapa z poziomicami

Wynik uczenia zależy od wyboru początkowych wartości wag (punktu startowego algorytmu) Trafione minimum globalne! Trafione minimum lokalne! Jest to ważne dla praktyki, ponieważ podczas uczenia zawsze zagrażają minima lokalne funkcji błędu, w których rozwiązanie problemu jest bardzo niedoskonałe!

Utknięcie procesu uczenia w pułapce minimum lokalnego wyjaśnia, dlaczego czasem nauczona sieć dopasowuje swoje działanie tylko do części danych

Minimum lokalne jako pułapka w procesie uczenia Ucieczka z lokalnego minimum jest trudna, bo wymaga chwilowego pogorszenia jakości działania sieci Minimum lokalne, oznaczające niedoskonałe dopasowanie sieci do danych Minimum globalne, oznaczające najlepsze możliwe dopasowanie sieci do danych

Zwykle kilka prób uczenia sieci startujących z różnych punktów początkowych pozwala wykryć, gdzie jest poszukiwane minimum globalne

Startując z różnych punktów docieramy do różnych minimów

Kiedy zakończyć uczenie? Celem użycia sieci jest odtworzenie pewnej nieznanej zależności, która ma funkcjonować dla wszystkich danych należących do pewnego zbioru R. R Z Zależność tę staramy się zamodelować w sieci neuronowej, mając do dyspozycji wyłącznie pewien zasób danych Z. W danych Z znane są zarówno dane wejściowe do budowanego modelu neuronowego, jak i dane wyjściowe. Są one wzorcem do którego dopasowywać będziemy parametry neuronowego modelu.

Niebezpieczeństwo, które nam zagraża, polega na tym, że podczas uczenia sieci może dojść do nadmiernego dopasowania modelu do właściwości danych ze zbioru Z, nie koniecznie reprezentujących wszystkie dane w zbiorze R. T R V Z L Żeby tego uniknąć dokonujemy podziału zasobu Z na trzy części: L są to dane uczące, które używamy do aktywnego uczenia sieci. V są to dane walidacyjne, które będą użyte do wykrycia zagrożenia przeuczeniem T są to dane testowe, które będą użyte do końcowego sprawdzenia sieci

Przeuczenie!

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

Na tych samych danych uczących sieć może zbudować model dobrze albo źle generalizujący Model zachowujący dobrą zdolność generalizacji Model który utracił zdolność generalizacji

Jedną z głównych przyczyn złej generalizacji jest niewłaściwa struktura sieci za bardzo lub za mało skomplikowana Strukturę sieci trzeba tak dobrać, żeby otrzymać aproksymację danych uczących nie za bardzo skomplikowaną, ale i nie nazbyt uproszczoną Dobra Zbyt skomplikowana Zbyt prosta

Backpropagation jest generalnie metodą dosyć wolną w działaniu:

Niektórych badaczy to ogromnie denerwuje, więc na jednej konferencji naukowej rozprowadzane były takie ulotki:

Quickprop

Algorytm Levenberga-Marquardta

Technika gradientów sprzężonych działa oczywiście szybciej, niż metody oparte na pierwszych pochodnych: