Sieci neuronowe (wprowadzenie) -...

Post on 28-Feb-2019

222 views 1 download

Transcript of Sieci neuronowe (wprowadzenie) -...

Obliczenia neuronowe

(wprowadzenie) Ryszard Tadeusiewicz

Laboratorium Biocybernetyki Katedra Automatyki AGH

Oto przykładowa sieć neuronowa

Dane reprezentujące

zadanie do wykonania

Wynik reprezentujący

rozwiązanie zadania

Wie

dza

zdob

yta

w c

zasie

ucz

enia

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

0

50

100

150

200

1990

19

91

1992

19

93

1994

19

95

1996

19

97

1998

19

99

2000

20

01

2002

20

03

2004

20

05

2006

Wielkość obrotów oprogramowaniem dla tworzenia sieci neuronowych (w mld USD)

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:

Nieznajom

ość

regu

ł rzą

dząc

ych

prob

lem

em

Stopień złożoności problemu

Pełna znajomość reguł Mała i średnia złożoność

Częściowa znajomość reguł Średnia złożoność

Częściowy lub całkowity brak znajomości reguł

Duża złożoność

Dokładne algorytmy

Modele statystyczne Systemy ekspertowe Metody dedukcyjne

Sieci neuronowe

Metody indukcyjne

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

Neuro-komputery

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

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!

Mózg podczas odpoczynku Sygnał akustyczny - muzyka Sygnał optyczny - rysunek Rozwiązywanie zadania matematycznego

Za pomocą metod PET można pokazać aktywizację poszczególnych części mózgu przy wykonywaniu

poszczególnych czynności

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

1 ms

Maksymalna częstotliwość

impulsacji neuronów wynosi

około 1 kHz.

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!

• 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

Nagrody Nobla związane z badaniami układu nerwowego, których wyniki wykorzystano w sieciach neuronowych:

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

x1

x2

xn

w1

w2

wn

( )nixwgs ii

,,1,

== ( )sfy =

y

agregacja danych wejściowych

obliczenie wartości funkcji aktywacji

Zadania ??? Jak zróżnicować te sygnały?

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

x1

x2

xn

w1

w2

wn

( )nixwgs ii

,,1,

== y

∑==

n

iii xws

1neuron liniowy

y = s ...

Agregacja liniowa

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

x1

x2

xn

w1

w2

wn

( )nixwgs ii

,,1,

== y

∑==

n

iii xws

1

To nadal jest neuron liniowy!

y = s ...

Czysta agregacja liniowa: ma wadę, polegającą na tym, że charakterystyka neuronu musi tu przechodzić przez początek układu

Bogatsze możliwości daje agregacja afiniczna (z wyrazem wolnym w formule):

∑=

+=n

iii wxws

10Żeby zachować liniową postać

wzoru opisującego neuron dodaje się dodatkowe pseudo-wejście nazywane BIAS, które zawsze dostarcza sygnał ≡ 1

x0 ≡ 1 w0

Wtedy agregacja jest nadal liniowa:

∑=

=n

iii xws

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

x1

x2

xn

w1

w2

wn

( )nixwgs ii

,,1,

==

( )sfy =

y

∑==

n

iii xws

1

( )2

1∑ −==

n

iii xws

neuron liniowy

Agregacja radialna

neuron nieliniowy --------------

y = s --------

----------

...

Agregacja liniowa ---------------- neuron radialny

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

0,5

1

1,5

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

Sigmoidalna

Tangensoidalna

Gaussa

Wykres sigmoidy w zależności od parametru β

0

0,2

0,4

0,6

0,8

1

-10 -5 0 5 10

S

yβ=0,5β=1β=2

)exp(11)(

ssf

β−+=

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

0

0,2

0,4

0,6

0,8

1

-10 -5 0 5 10

S

yβ=0,5β=1β=2

)exp()exp()exp()exp()tanh()(

ssssssf

βββββ

−+−−

==

+1

-1

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:

x1

x2

xn

w1

w2

wn

y ∑==

n

iii xws

1...

y:=1/(1+exp(-0.5*x))

-0.1

0.1

0.3

0.5

0.7

0.9

1.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

xx

xy

1

2

n

...

Synał wyjściowy

Sygnaływejściowe

ww

w

1

2

n

Zmienne

"wagi"

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

Połączenia do i od poszczególnych warstw w mózgu

Kora wzrokowa

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

Schemat sztucznej sieci neuronowej (uproszczonej)

x1

x2

y

Działanie sieci zależy od: •przyjętego modelu neuronu, •topologii (struktury) sieci, •wartości parametrów neuronu, ustalanych w wyniku uczenia

Warstwa wejściowa Warstwa ukryta (jedna lub dwie)

Warstwa wyjściowa

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).

Ewa

„Nauczyciel”

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 SO2 w powietrzu • dana nieistotna: nazwa miasta

Na wejście sieci podawane są dane wskazane w zbiorze jako wejściowe

Sieć na tej podstawie oblicza i podaje swoje rozwiązanie (na ogół początkowo błędne)

W zbiorze uczącym podane są poprawne wartości rozwiązań dla tych danych

można to zrobić przetwarzając dane ze zbioru uczącego

Oto sieć neuronowa, którą trzeba uczyć

Uczenie sieci polega na takim doborze jej parametrów, żeby zminimalizować błąd, jaki popełnia sieć

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

Błąd

Robi to algorytm uczenia

Na podstawie błędu zmienia się wagi wszystkich neuronów w sieci, tak żeby malał

Porównanie zawartej w danych wzorcowej

odpowiedzi z wynikiem obliczonym

przez sieć daje błąd

Pierwszy współczynnik wagowy w1

Drugi współczynnik wagowy w2

Wielkość błędu popełnianego

przez sieć E

przy takim zestawie wag

sieć popełnia taki duży błąd

sieć popełnia taki mały błąd

a przy takim zestawie wag

E

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

Nowy (lepszy) wektor wag

Stary (gorszy) wektor wag

Odpowiadająca mu wartość błędu

Kierunek najszybszego spadku błędu

Przemieszczenie po powierzchni błędu

Migracja w przestrzeni

wag

Poszukiwanie (i znajdowanie!) minimum funkcji

błędu metodą wyznaczania w

każdym kolejnym kroku kierunku

najszybszego spadku

( ))()()1( pp

pp E www ∇−=+ η

η - współczynnik uczenia

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):

( ) 1−∆+∇−=∆ ppp E www µη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!

Przykładowy przebieg procesu

uczenia

Krzyżyki oznaczają elementy zbioru uczącego

Linia ciągła prezentuje wynik działania sieci

Ilość epok uczenia

Błąd SSE

Start procesu uczenia wszystkie wagi są

przypadkowe

0100200300400500600700800900

1000

0 50 100 150 200 250 300 350 400 450

czas uczenia (w epokach)

sum

a kw

adra

tów

błę

dów

brak

przesunięcie

linie

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.

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)

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!

Trafione minimum globalne!

Trafione minimum lokalne!

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, oznaczające niedoskonałe dopasowanie sieci do danych

Minimum globalne, oznaczające najlepsze możliwe dopasowanie sieci do danych

Ucieczka z lokalnego minimum jest trudna, bo wymaga

chwilowego pogorszenia jakości działania sieci

Minimum lokalne jako pułapka w procesie uczenia

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?

R

Celem użycia sieci jest odtworzenie pewnej nieznanej zależności, która ma funkcjonować dla wszystkich danych należących do pewnego zbioru R.

Zależność tę staramy się zamodelować w sieci neuronowej, mając do dyspozycji wyłącznie

pewien zasób danych Z. 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.

R Żeby tego uniknąć dokonujemy podziału

zasobu Z na trzy części: Z 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

L

T są to dane testowe, które będą użyte do końcowego sprawdzenia sieci

V T

Przeuczenie!

Dzięki użyciu zbioru danych walidacyjnych można wykryć moment „przeuczenia” sieci.

0

0.2

0.4

0.6

0.8

1

0 200 400 600 800 1000

Błąd dla zbioru uczącego

Błąd dla zbioru walidacyjnego

Tu zaczyna się przeuczenie

Przerwać uczenie!

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: