KIP

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

description

KIP. Sztuczne sieci neuronowe (SSN). Sieć neuronowa – definicja. - PowerPoint PPT Presentation

Transcript of KIP

KIP

Sztuczne sieci neuronoweSztuczne sieci neuronowe

(SSN)(SSN)

Sieć neuronowa – definicja

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

Podstawowe zalety sieci neuronowych

1. Sieci nie trzeba programować – nauczenie wykonywania określonych zadań nie wymaga znania natury fizycznej procesu

2. Obliczenia w sieciach neuronowych wykonywane mogą być równolegle (dotyczy sprzętowych sieci neuronowych lub komputerów wieloprocesorowych)

Dziedziny zastosowań SSN1. Predykcja, czyli przewidywanie

sygnałów wyjściowych na podstawie danych wzorcowych

2. Klasyfikacja i rozpoznawanie.3. Kojarzenie danych.4. Analiza danych .5. Filtracja sygnałów.6. Optymalizacja.

Przykładowe zastosowania praktyczne SSN

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

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

Sztuczny neuronstruktura oparta o budowę neuronu mózgu człowieka

Sztuczny neuronBudowa sztucznego neuronu wg. McCullocha i Pittsa (1943)

w1

w2

w3

wn

x1x2

x3

xn

y

w0

(e)e

Przetwarzanie informacji w neuronieNeuron otrzymuje wiele sygnałów wejściowych i wysyła jedenjeden sygnał wyjściowy

Z każdym wejściem związana osobna waga

Sygnał po wejściu mnożony jest przez wagę i taki podawany jest do dalszych obliczeń. Waga może wzmocnić, stłumić lub nawet zmienić znak sygnału

Zmodyfikowane sygnały są sumowane dając łączne pobudzenie neuronu (e)

Do takiej sumy dokłada się czasem sygnał dodatkowy (w0), nazywane progiem (bias)

Utworzony wyżej sygnał może być od razu sygnałem wyjściowym (ADALINE – ADAptive LINear Element) lub przetwarzany specjalną funkcją stanowiąca charakterystykę neuronu

neuron neuron neuron

neuron neuron neuron

Przykładowa struktura SSN

neuron neuron neuron

neuron

.....................................................

neuron neuron

warstwa wejściowa

pierwsza warstwa ukryta

n-ta warstwa ukryta

warstwa wyjściowa

Sygnały wejściowe

Sygnały wyjściowe

Warstwy ukryte SSN

Są narzędziem pomagającym warstwie wyjściowej w znalezieniu poprawnego rozwiązaniaSą dodatkową strukturą przetwarzająco danePośredniczą między wejściem a wyjściem sieciPozwalają rozwiązywać bardziej skomplikowane problemy, których nie może rozwiązać sieć jednowarstwowa

Klasy struktur SSN

1. Struktury nie zawierające sprzężeń zwrotnych (feedforward), kierunek przepływy sygnału jest ściśle określony od wejścia do wyjścia

2. Struktury ze sprzężeniem zwrotnym, tzw. sieci HopfieldaHopfielda, sygnały z wyjścia są podawane na wejście, tworzą skomplikowane pętle.

Liniowe SSN

Nazywana MADLINE (Many ADALINEs)Neurony sieci mają charakterystykę liniową, czyli sygnał wyjściowy y neuronu o n wejściach daje się obliczyć wzorem:

Neuron liniowy wyróżnia wektory wejść podobnych do własnego wektora wagWartości sygnałów wyjściowych nie są ograniczone

XWTn

iiixwy

1

Liniowe SSN

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

Nieliniowe SSN

W sieciach nieliniowych pobudzenie (stanowiące wyjście w przypadku neuronu liniowego) jest modyfikowane za pomocą specjalnie dobranych funkcji

Funkcja (e) jest funkcją nieliniową

XWTn

iiixwe

1

ey

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

-1,5

-1

-0,5

0

0,5

1

1,5

-4 -3 -2 -1 0 1 2 3 4 ey tanh

-1,5

-1

-0,5

0

0,5

1

1,5

-4 -3 -2 -1 0 1 2 3 4

Nieliniowe SSNFunkcja signum:

0 1

0 0

0 1

egdy

egdy

egdy

y

e

1

-10

Nieliniowe SSNZmodyfikowana funkcja signum:

0 1

0 1

egdy

egdyy

e

1

-1

Nieliniowe SSNFunkcja skoku jednostkowego:

0 0

0 1

egdy

egdyy

e

1

0

Nieliniowe SSNFunkcja perceptronowa:

0 0

0

egdy

egdyey

e0

Nieliniowe SSNFunkcja BSB (Brain State in a Box):

e0

1 1

11-

1 1

egdy

egdye

egdy

y

-1

1

Etapy pracy SSN

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

Uczenie sieci

Uczenie z nauczycielem

Samouczenie (samoadaptacja) sieci (uczenie sieci bez nauczyciela)

Uczenie sieci z nauczycielem

Na wejście sieci podaje się dane Sieć przetwarza je i generuje wynik przy

aktualnym zestawie wag Wynik porównuje się z rozwiązaniem

oczekiwanym W zależności od popełnionego błędu koryguje się

poszczególne wagi Zestawów par: dane wejściowe – oczekiwane

wyniki powinno być jak najwięcej.

Uczenie sieci z nauczycielemZmiany wag neuronów wyznacza się za pomocą różnych tzw. reguł

Podstawową jest tzw. reguła deltareguła delta Wartość wyjściowa z neuronu porównywana jest z

pożądaną przez nauczyciela i obliczana jest różnica miedzy nimi

Sygnał błędu wykorzystywany jest przez neuron do korygowania wag (posiadanej wiedzy)

Wagi zmieniają się tym bardziej im większa jest Wagi związane z wejściami o dużych wartościach

zmieniają się znacznie

Wpływ na zmianę wektora wag koryguje współczynnik uczenia

Uczenie sieci z nauczycielem

jij

jji x

de

edw

Zmiana współczynnika i-tej wagi neuronu w j-tymkroku nauczania:

jjj yz Gdzie:

n

i

ji

ji

j xwey0

W sieciach liniowych i nieliniowych gdzie funkcja modyfikująca nie ma pochodnej w miejsce d/de wstawia się 1

Uczenie sieci z nauczycielem

Momentum - sposób na zwiększenie szybkości uczeniaUmożliwia uwzględnienie przy zmianie wag

wartości błędów popełnianych w krokach wcześniejszych

121

ji

jij

jji wx

de

edw

= 0..1, zwykle 0,9

Uczenie sieci z nauczycielem

Przebieg zmian współczynników wag w trakcie uczeniabez momentum (niebieski) i z momentum (czerwony)

Uczenie sieci z nauczycielem

Uczenie warstw ukrytych Nie jest znany rzeczywisty błąd popełniany przez

neurony z warstw ukrytych Błąd szacuje się na zasadzie propagacji propagacji

wstecznej (wstecznej (backpropagationbackpropagation)) błędubłędu popełnianego przez neurony warstwy wyjściowej. Oszacowanie polega na zsumowaniu błędów poszczególnych neuronów pomnożonych przez wagi połączeń miedzy rozpatrywanym neuronem a neuronami warstwy wyjściowej

Uczenie sieci z nauczycielem

m

k1 k2 k3 kn Warstwa wyjściowa

Warstwa ukryta

wm(kn)(j)

Waga neuronu kn na wejściu od neuronu m

Błąd neuronu m w kroku j:

kn

kk

jk

jkm

jm w

1

Uczenie sieci z nauczycielem

Zmianę i –tej wagi oblicza się ze wzoru

jij

m

jm

jmi y

de

edw

Uczenie sieci

Uczenie bez nauczyciela (hebbian learning) Opracowane przez Donalda O. Hebba Na wejście sieci podaje się dane Nie podaje się pożądanych wyników Sieć modyfikuje wagi tak, że uczy się

rozpoznawać klasy powtarzających się sygnałów wejściowych, rozpoznaje typowe wzorce sygnałów.

Zbiór danych wejściowych powinny być prezentowany sieci w zmiennej kolejności

Samouczenie się SSNNa początku procesu wszystkie neurony mają przypadkowe wagiPod wpływem pokazywanych ciągów danych wejściowych neurony określają swoje sygnały wyjścioweNa podstawie sygnałów wejściowych i wyjściowych następuje korekta wag: Jeżeli sygnał wyjściowy był pozytywny to wagi

zmieniają się tak, by zbliżyć się do sygnałów wejściowych

Jeżeli sygnał wyjściowy był negatywny to wagi zmieniają się przeciwnie

Samouczenie się SSNDle m-tego neuronu i-ta waga zmienia się następująco

Po wielu prezentacjach i korektach wag neurony specjalizują się w rozpoznawaniu klas występujących w sygnałach wejściowych

jm

ji

jmi

jmi yxww 1

w1

w2

w3

wn

x1x2

x3

xn

y

w0

(e)e

w1

w2

w3

wn

x1x2

x3

xn

y

w0

(e)e

Uczenie sieci z konkurencją (WTA)

Dotyczy sieci jednowarstwowych, w których wszystkie neurony otrzymują ten sam sygnał wejściowy

Modyfikacja WTA sposobu uczenia sieci polega na zmianie wartości wag tylko tego neuronu, który najsilniej zareagował na dany sygnał wejściowy

W przypadku sieci samouczących powoduje to wzrost skuteczności i ekonomiczności uczenia

W przypadku sieci liniowych pozwala na uzyskanie od sieci bardziej jednoznacznych odpowiedzi

SSN podsumowanieSSN dzielimy ze względu Stopień skomplikowania:

Jednowarstwowe Wielowarstwowe (z warstwami ukrytymi)

Rodzaj neuronu: Liniowe Nieliniowe

Sposób uczenia Uczone z nauczycielem Samouczące się

Sposób przetwarzania informacji Feedforward Sieci rekurencyjne