KIP
-
Upload
dylan-slater -
Category
Documents
-
view
35 -
download
1
description
Transcript of KIP
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 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
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
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