Neural Networks
Applications
Sieci Neuronowe
dr inż. Włodzimierz Figiel
dr inż. Włodzimierz Figiel
AGH - Technical University of
Science, Kraków, Poland
Neural Networks Applications
Sieci Neuronowe
w Eksploatacji
W prezentacji rozważane są zakres,
efektywność i własności sieci
neuronowych będących narzędziem
wspomagającym procesy
eksploatacji.
Systemy ekspertowe
Systemy ekspertowe
definicje
definicje
" SE to inteligentny program komputerowy, który
na podstawie szczegółowej (dziedzinowej)
wiedzy może wyciągać wnioski i podejmować
decyzje w sposób zbliżony do procesu
rozumowania człowieka
" SE to inteligentny program komputerowy, który
pomaga rozwiązywać problemy (w danej
dziedzinie) w oparciu o wiedzę ogólną,
specjalistyczną i długoletnie doświadczenie
(eksperckie) w dziedzinach słabo
sformalizowanych ( bez teorii fomalnej, dającej
się zalgorytmizować)
Schemat systemu ekspertowego
Schemat systemu ekspertowego
Maszyna
Sprzęg
Użytkownik
(Interface)
Wnioskująca
(Inference Engine)
Blok
Objaśniający
Baza Wiedzy
Baza Danych
Wiedza
(fakty i aksjomaty)
Wiedza sterująca: ogólna
wiedza o zasadach
Reguły
Wiedza
stosowania wiedzy
wnioskowania
sterująca
ogólnej
Systemy Ekspertowe
Symboliczne i neuronowe
Symbolicznych SE
Niesymbolicznych (neuronowych) SE
Hybrydowe: symboliczno - neuronowe
Systemy Ekspertowe
Ograniczenia Symbolicznych SE1
Ograniczenia Symbolicznych SE1
bazują na logice pierwszego rzędu
(dwuwartościowej) - ogranicza
efektywność przetwarzania;
symboliczne przetwarzanie nie pozwala
na rozwiązywanie problemów w
robotyce, wizji komputerowej,
rozpoznawaniu mowy;
eksperci nie zawsze formułują wiedzę w
postaci symbolicznej;
Ograniczenia Symbolicznych SE2
Ograniczenia Symbolicznych SE2
eksperci nie są w stanie przedstawić
swojego postępowania intuicyjnego;
eksperci często nie chcą zdradzać
swoich tajemnic zawodowych;
istnieją trudności w operowaniu
wiedzą niepewną (wprowadzenie CF
współczynnika pewności wiedzy nie zapewnia
wiarygodnego przetwarzania )
często niezbędny jest udział inżyniera
wiedzy w procesie budowy i eksploatacji
Cechy Neuronowych SE
Cechy Neuronowych SE
automatyzacja pozyskiwania wiedzy;
trenowanie sieci bazuje na przykła-
dach rozwiązywanego problemu;
przetwarzanie danych liczbowych jest
trudne lub wręcz niemożliwe;
objaśnianie dojścia do rozwiązania
jest niemożliwe;
Hybrydowe Systemy Eksperowe
Hybrydowe Systemy Eksperowe
hybrydyzacja to łączenie różnych
metod, cech i własności;
połączenie zalet symbolicznych i
neuronowych SE daje możliwość
wzajemnego uzupełniania;
hybrydy mogą być w pełni sprzężone,
silnie lub luzno sprzężone;
Hybrydy Silnie Sprzężone
Hybrydy Silnie Sprzężone
SE
Pełne sprzężenie -
systemy pokrywające się
SSN
SE
Silne sprzężenie -
systemy częściowo
SSN
pokrywające się
Hybrydy Silnie Sprzężone2
Hybrydy Silnie Sprzężone2
SE
Silne sprzężenie -
system SE nadrzędny
SSN
nad SSN
Silne sprzężenie -
SE
system SSN nadrzędny
SSN
nad SE
Hybrydy Luzno Sprzężone
SE
System równoległy
SSN
SE
SSN
SE
System szeregowy
Program
System równoległy
nadrzędny
z programem nadrzędnym
SSN
Główne cele prezentacji
Główne cele prezentacji
Zapoznanie i wprowadzenie do
sztucznych sieci neuronowych
Przegląd zastosowań SSN
w eksploatacji
Programowe narzędzia modelowania
SSN
Podsumowanie i wnioski praktyczne
Wprowadzenie - SSN
Wprowadzenie - SSN
Sztuczne Sieci Neuronowe
Sztuczne Sieci Neuronowe
Sztuczne Sieci Neuronowe (SSN) są
matematycznymi, nieanalitycznymi modelami,
powstałymi jako uproszczone modele mózgu
i biologicznego systemu nerwowego
Biological Neuron Artifical Neuron...
x1
w1
w2
x2
y
w3
x3 Łxiwi
w4
x4
w5
x5
Sieci Neuronowe
Sieci Neuronowe (ang.: NN = Neural Networks)
naśladują w uproszczeniu działanie biologicznych
systemów nerwowych.
Sieć tworzy wiele połączonych wzajemnie prostych
odpowiedników komórek nerwowych zwanych
sztucznymi neuronami.
Każdy z nich posiada wiele wejść i jedno wyjście.
Własności / Różnice
Własności / Różnice
Sieci Neuronowych i Modeli
Sieci Neuronowych i Modeli
Analitycznych
Analitycznych
SN gromadzą wiedzę przez uczenie się
z przykładów a nie przez programowe
algorytmy
SN gromadzą wiedzę w postaci danych
(wartości wag) nie przez stwierdzenia i
instrukcje
SN mogą generalizaować (aproksymować i
interpolować) oraz mogć pracować przy
zakłóceniach i niekompletnych danych
Aspekty modelowania przez sztuczne
sieci neuronowe
" Sztuczna sieć neuronowa jest zespołem połączonych ze
sobą elementów przetwarzających tzw. sztucznych
neuronów. Morfologia struktury większości sieci zapewnia
w dużym stopniu przetwarzanie równoległe, decydujące o
szybkości przetwarzania.
" Przetwarzanie informacji przez każdy sztuczny neuron sieci
składa się z dwóch etapów.
" Pierwszym z nich jest agregacja danych wejściowych
dostarczonych w formie wektora wejść. Na rezultat tej
transformacji w zasadniczy sposób wpływają wartości wag
wejściowych. W większości przypadków agregacja polega
na zsumowaniu iloczynów wartości wejściowych i
odpowiadających im wag. W niektórych zastosowaniach,
agregacja wymaga obliczenia kwadratu odległości
Euklidesa pomiędzy wektorem wejściowym i wektorem
wag.
Schemat sztucznego neuronu
" Drugim etapem jest wyznaczenie wartości wyjściowej przy
pomocy tzw. funkcji aktywacji. Funkcje te mogą mieć
postać funkcji liniowej, S-kształtnej w postaci funkcji
sigmoidalnej (w przedz. od 0 do 1) lub tangensoidalnej (w
przedziale od 1 do 1), eksponentalnej lub też funkcji
gaussowskiej
W1
n
y
W2
S =
y = f (s)
"w xi
i
W3
i=1
Architektura SSN
Architektura SSN
Budowa uzależniona jest od:
Liczby warstw: SSN jednowarstwowa; SSN
dwuwarstwowa; SSN wielowarstwowa
Analitycznej funkcji aktywacji: SSN - liniowe
f(e)=e; SSN nieliniowe (np. progowe,
sigmoidalne, BAM Bidirectional Associative Memory,
BSB Brain State in a Box)
Sposobu połączeń neuronów: SSN
jednokierunkowe; SSN rekurencyjne
(Hopfielda); SSN komórkowe; SSN
o radialnych funkcjach bazowych - RBF
Nieliniowe funkcje aktywacji SSN
Nieliniowe funkcje aktywacji SSN
Progowa: Logistyczna:
1 e e" 0
ż#
(e) =
f (e) =1/(1+ exp(- "e))
#
e < 0
#0
Ą
ż#
Signum: Sinus:
e <
#- 1
1 e > 0
ż# 2
#
#0
#sin( e) - Ą Ą
(e) = d" e d"
(e) = e = 0 #
#
2 2
#
#
Ą
#1
e < 0
#-1 e >
#
2
#
BAM (Bidirectional Associative Memory):
1 e >0
ż#
#
j+1 j
(e) =
# (e) e =0
#
e<0
#-1
Nieliniowe funkcje aktywacji SSN
Nieliniowe funkcje aktywacji SSN
Gaussa:
# ś#
- e2
(e) = expś# ź#
ś# ź#
2
# #
Tanges hiperboliczny:
exp(e) - exp(-e)
(e) = tanh(e) =
exp(e) + exp(-e)
BSB (Brain State in a Box):
1 e > 1
ż#
#e -1 d" e d" 1
(e) =
#
#
e < -1
#-1
Artificial Neural Network MLP
Artificial Neural Network MLP
Multi-Layer Percepton
Multi-Layer Percepton
Wielowarstwowy Perceptron
Wielowarstwowy Perceptron
Warstwy
Warstwa ukryte
Warstwa
wejściowa
Sieci Neuronowe są
wyjściowa
konstrukcjami albo
w postaci
s
programów
Wejścia:
Wyjścia:
komputerowych lub
np.
np.
własności
specialistycznych
Kategorie
objektów
objektów
urządzeń - dających
wysoki stopień
przetwarzania
równoległego
Morfologia Sieci Neuronowej
Morfologia Sieci Neuronowej
Objaśnienia:
McCulloch & Pitts neuron graphical presentation
i = 0 .. n - numer wejścia
(wliczając tzw. bias )
X=[x1, x2, ...xn]T wektor
wejściowy
x0=1, x0w0 = bias
W=[w0,w1, ...wn] - wagi
C funkcja kombinacji
Te - całkowite pobudzenie
("network input")
F - funkcja aktywacji
y - wartość wyjściowa
Morfologia Sieci Neuronowej
Sieć Neuronowa to duża liczba połączonych
Sieć Neuronowa to duża liczba połączonych
prostych elementów przetwarzających- sztucznych
prostych elementów przetwarzających- sztucznych
neuronów.
neuronów.
Wartości podawane na wejścia każdego neuronu są
Wartości podawane na wejścia każdego neuronu są
mnożone przez współczynniki wagowe (analogicznie do
mnożone przez współczynniki wagowe (analogicznie do
synaps w neuronach biologicznych)
synaps w neuronach biologicznych)
Idea i model macierzowy
Idea i model macierzowy
Te = C(W,X)
Te =W " X
n
Te =
"w " xi
i
i=0
y = F(Te)
C - funkcja kombinacji (zbiorcza)
F - funkcja aktywacji
Funkcje: kombinacji i aktywacji
Funkcje: kombinacji i aktywacji
Funkcja zbiorcza (kombinacyjna) - zazwyczaj
kombinacja liniowa czyli suma iloczynów wartości wejść
neuronu przez odpowiadające im wagi ale czasem inna
funkcja przetwarzająca wektor na skalar - na przykład
odległość euklidesowa (jak w sieciach radialnych RBF).
Funkcja aktywacji - przetwarza wynik funkcji zbiorczej
na wartość wyjściową neuronu (skalar na skalar)
zazwyczaj sigmoidalna a jeśli nie występuje to mówi się
że neuron ma liniową charakterystykę.
Optymalizacja Topologii Sieci
Optymalizacja Topologii Sieci
Neuronowej
Neuronowej
W wiekszości przypadków liczba ukrytych warstw
jest dobierana eksperymentalnie metodą prób i
błędów
Istnieją metody automatycznego doboru topologii
SSN np.
metoda grabienia (automatyczne usuwanie
niektórych połączeń)
metoda uczenia z rozbudową (Constructive
Learning) rozrostu sieci lub GDRdes (GDR:
Generalized Delta Rule algorithm of NN construction)
Procesy Uczenia 1
Procesy Uczenia 1
Każda SSN uczona (trenowana) wymaga
zbioru wektorów przykładowych (sygnałów
wejscia i odpowiadających im sygnałów wyjścia)
Zbiór przykładów musi być:
reprezentatywny dla ogółu danych bieżących
i przewidywanych w pracy SSN oraz
wystarczający i adekwatny do liczby węzłów
i złożoności problemu.
Cały zbiór musi być podzielony na 3 podzbiory: (1) zbiór uczący -
dla dopasowania wag wejściowych neuronów, (2) zbiór walidacyj-
ny - dla testu zdolności uogólnień i decyzji o topologii i zakończe-
niu trenowania, (3) zbiór testujący - dla oceny działania sieci.
Procesy Uczenia 1
Procesy Uczenia 1
Uczenie "nadzorowane" albo "z nauczycielem"
wymaga dostarczenia sieci serii przykładowych
wartości wejściowych i prawidłowych dla nich
wartości wyjściowych.
W uczeniu "nienadzorowanym" czyli "bez
nauczyciela" sieć dostaje tylko serię wartości
wejściowych, grupuje je według podobieństw i
każdą grupę przypisuje jednemu wyjściu.
Po nauczeniu sieci można ją używać do
klasyfikowania lub przetwarzania sygnałów także
nieco odmiennych niż podawane przy uczeniu.
Uczenia Nadzorowane
Uczenia Nadzorowane
Uczenie "z nauczycielem" mając
dostarczoną serię przykładowych wartości
wejściowych i prawidłowych wartości
wyjściowych ma na celu:
minimalizację ogólnej funkcji błędu S dla
wszystkich podzbiorów przykładów przez
dobranie wag neuronów
często używa się sumy kwadratów błędów
neuronów wyjściowych ( jako funkcji S) i metod
największych gradientów dla ich minimalizacji.
Algorytm Trenowania Perceptronu
Algorytm Trenowania Perceptronu
Propagacja wsteczna dla sieci jednokomórkowej
Propagacja wsteczna dla sieci jednokomórkowej
Celem jest określenie wektora wag
[W] = [ W0,W1,......Wp] na podstawie N par
przykładów trenujących {[Ek],Ck} , k=1,2,...N
Jeśli dla pary trenujacej {[Ek],Ck}, suma
ważona S>0 ^ Ck=1 lub S<0 ^ Ck= -1,to wagi
są właściwe i nie należy ich zmieniać (nie
poprawiać);
Jeśli warunek powyższy nie jest spełniony,
to wagi mają być zmienione (poprawione);
Algorytm Trenowania Perceptronu
Algorytm Trenowania Perceptronu
Propagacja wsteczna dla sieci jednokomórkowej2
Propagacja wsteczna dla sieci jednokomórkowej2
Zmiana wektora wag polega na dodaniu dla
Ck=1 (lub odjęciu dla Ck=-1) do aktualnego
wektora wag [W] wektora trenującego [Ek]
[W*] = [ W] + 0,5(Ck-sgn(S))[Ek]
sgn(S) = 1 dla S>0
-1 dla S<0
Postępowanie jest iteracyjne a wektor
zmodyfikowanycj wag staje się aktualnym
wektorem dla następnego kroku iteracji.
Przykład trenowania perceptronu
Przykład trenowania perceptronu
by pełnił funkcję AND
by pełnił funkcję AND
Zbiór wektorów trenujących
Ek u0 u1 u2 Ck
E1 1 -1 -1 -1
E2 1 -1 1 -1
E3 1 1 1 1
E4 1 1 -1 -1
Przyjmujemy losową kolejność par trenujących np.:
E2 E1 E3 E4 ; - epoka prezentacji iteracyjnie
powtarzana
Przyjmujemy początkowy wektor wag np. [W] = [0,0,0]
Przykład trenowania perceptronu
Przykład trenowania perceptronu
by pełnił funkcję AND2
by pełnił funkcję AND2
Lp k [Wk][Ek]S=[W]T[Ek][Ck][Wk*]
1 2 0,0,0 1,-1,1 0 -1 -1,1,-1
2 1 -1,1,-1 1,-1,-1 -1 -1 -1,1,-1 epoka I
3 3 -1,1,-1 1,1,1 -1 1 0,2,0
4 4 0,2,0 1,1,-1 2 -1 -1,1,1
5 2 -1,1,1 1,-1,1 -1 -1 -1,1,1
6 1 -1,1,1 1,-1,-1 -3 -1 -1,1,1 epoka II
7 3 -1,1,1 1,1,1 1 1 -1,1,1
8 4 -1,1,1 1,1,-1 -1 -1 -1,1,1
Pełny cykl pozytywnych klasyfikacji
Gradientowa Metoda Trenowania
Gradientowa Metoda Trenowania
Sieci
Sieci
Może być metodą:
LMS (least mean square) minimalizacji
błędu średniokwadratowego
BP (back propagation) propagacji
wstecznej
Algorytm Widrow'a Hoffa (LMS)
Algorytm Widrow'a Hoffa (LMS)
Wagi zmieniają się w każdej iteracji (po każdej
prezentacji wektora uczącego)
Dla waktora wag [W], wektora uczącego [E], i
wektora odpowiedzi [C] błąd kwadratowy (W)
wynosi (W) = ([W]T[E]-C)2 (1)
Gradient wektora błędu kwadratowego wzgl.
poszczególych wag
"(W) = [/W0 , /W1 ,..... /Wp ] (2)
Algorytm Widrow'a Hoffa cd1
Algorytm Widrow'a Hoffa cd1
Różniczkując (1) dla j-tej wagi mamy gradient
"(Wj ) = [/Wj ] = 2([W]T[E]-C)Ej
=2(Sp+1-C)Ej (3)
Przy minimalizacji funkcji błędu, kierunek
najszybszych zmian wag jest zgodny z ujemną
wartością gradientu - "(W)
- "(W) = 2( C- Sp+1)Ej (4)
Algorytm Widrow'a Hoffa cd2
Algorytm Widrow'a Hoffa cd2
Wprowadzając współczynnik zmian (który
zawiera czynnik 2 z poprzedniego wzoru)
"(W ) = [ W ]* - [W] = (Sp+1-C)[E] (5)
Wprowadzając deltę jako = ( C- Sp+1) mamy
[ W ]* = [W] - (Sp+1-C)[E]
[ W ]* = [W] + [E] (6)
i uzyskujemy REGUA DELTY treningu SSN
Algorytm Propagacji Wstecznej
Algorytm Propagacji Wstecznej
(Beck Propagation)
(Beck Propagation)
Algorytm wykorzystuje metodę gradientowego
najszybszego spadku przy minimalizacji błędu
kwadratowego;
W sieci SSN wykorzystuje się sygnały ciągłe
typu sigmoidalnego oraz funkcje aktywacji
typu sigmoidalnego
Ciągłość funkcji aktywacji i sygnałów,
umożliwia różniczkowanie w każdym punkcie,
a macierz wag sieci wielowarstwowej jest
zmieniana wg wzoru: [ W ]* = [W] - "[W]
Algorytm Propagacji Wstecznej
Algorytm Propagacji Wstecznej
(Beck Propagation2)
(Beck Propagation2)
Dla funkcji aktywacji unipolarnej i bipolarnej
i
1
1- e-s
f (si)=
f (si)=
si = wij - u
" j i
i
1+ e-s
1+e-s
j
f s ( 1 = i ) 1 + e
gdzie , pochodne są równe:
ui = f (si)
i
d 1
# ś#
# ś# 1 1
e-s ź# =
#1- ś#
'
f (si)= ś#
ś# ź# = ś# ź#
= ui(1-ui)
i i
i
i
dsi #1+e-s # ś#
(1+e-s )ź#2 1+e-s # 1+e-s #
# #
2 2
-si
i i i i
# ś#
d 2e-s 2e-s + 2e-s +1-1+(e-s ) -(e-s)
'
ś#1-e ź#
f (si)= = =
2 2
i i
dsi ś#1+e-si ź#
(1+ e-s )
# # 2(1+e-s )
Algorytm Propagacji Wstecznej
Algorytm Propagacji Wstecznej
(Beck Propagation3)
(Beck Propagation3)
Kontynuując liczenie pochodnej:
2 2
-si
i i i i
2e-s 2e-s + 2e-s +1-1+(e-s ) -(e-s)
# ś#
d
'
= =
ś#1-e ź#
f (si)=
2 2
f s ( 1 = i ) 1 + e
i i
dsi ś#1+e-si ź#
(1+ e-s )
2(1+e-s )
# #
2 2
2
i i
i
ś#
1(1+e-s ) -(1-e-s )
1
1# (1-e-s )
ś#1- ź#
=
=
= (1- ui2)
2
2
i ź#
i
2
2ś#
(1+e-s ) (1+e-s )
2
# #
Ponieważ i = (Ci -f(Si )) f '(Si ) = (Ci ui ) f '(Si )
algorytm można zapisać w poniższych
punktach:
Algorytm Propagacji Wstecznej
Algorytm Propagacji Wstecznej
(Beck Propagation4)
(Beck Propagation4)
Wybierz małą wartość >0;
Wybierz losowo małe wartości wag Wij dla każdego
neuronu;
Powtarzaj dopóki algorytm osiągnie zbieżność, tj.
gdy zmiany wag i zmiany błędu kwadratowego
staną się wystarczająco małe:
Wybierz kolejną parę trenującą [E] wraz z poprawną
odpowiedzią [C];
Faza propagacji w przód: oblicz kolejne dla wszystkich
neuronów sumy ważone Si oraz aktywacje ui = f(Si )
Algorytm Propagacji Wstecznej
Algorytm Propagacji Wstecznej
(Beck Propagation5)
(Beck Propagation5)
Faza propagacji wstecz: poczynając od warstwy WY oblicz
dla warstwy WY oraz pośrednich ukrytych
Pochodne funkcji aktywacji f '(Si ) tj. ui (1-ui ) unipol.
0.5 (1-ui2 ) bipol.
Współczynniki
i = (Ci ui ) f '(Si ) dla neuronów warstwy WY
i = (Sm>i - m Wmi ) f '(Si ) dla neuronów warstw pośrednich
Uaktualnij wagi wg wzoru:
*
Wij =Wij + iu
Uczenia Nienadzorowane
Uczenia Nienadzorowane
" Uczenie bez nauczyciela powoduje, że sieć sama
odkrywa wzorce na podstwie danych wejściowych;
" Zadania dla sieci trenowanych bez nadzoru to:
określeni podobieństwa, klasyfikacja, analiza
czynników głównych, poszukiwanie pierwowzoru,
kodowanie, tworzenie map cech;
" Dobre wyniki nauczania osiąga się przy
redundancji (nadmiarze) informacji w danych
wejściowych
Uczenia Nienadzorowane1
Uczenia Nienadzorowane1
Metody trenowania bez nauczyciela to:
nauczanie wg reguły Hebba
nauczanie wg reguły Oji
nauczanie wg reguły Kohonena
nauczanie samoorganizującej się sieci
Kohonena
Reguła Hebba
Reguła Hebba
Uczenie polega na modyfikacji wag neuronu pro-
porcjonalnie do iloczynu wejścia i wyjścia neuronu tj.:
wmir+1 = wmir + xirymr gdzie: m nr neuronu;
i nr we; r nr iter.
Nowe wagi są wyznaczane na podstawie iloczynu sygnału
wejściowego i sygnału wyjściowego podanego na neuron
Połączenie silnych sygnałów wejściowych z neuronami, które
na nie reagują, są poprzez korektę wag wzmacniane
Sygnały podobne do siebie będą w miarę uczenia coraz
skuteczniej grupowane i rozpoznawane przez pewne neurony.
Reguła Oji
Reguła Oji
Reguła Hebba prowadzi do nieograni-
czonego wzrostu wartości wag (jest to
wada);
Reguła Oji umożliwia modyfikację i norma-
lizację wag;
Wyznaczenie zmodyfikowanej wartości wagi
następuje wg wzoru:
wmir+1 = wmir + ymr (xir wmir)
Reguła rywalizacji Kohonena
Reguła rywalizacji Kohonena
Architektura Kohonena to sieć jednowarst-
wowa, zorganizowana jako jedno, dwu lub
trójwymiarowa tablica;
Każdy neuron posiada pełny obraz wejścia
(jest połączony ze wszystkimi sygnałami
wejściowymi);
Uczenie konkurencyjne polega na podanu
obrazu wejsciowego [xp], a neurony rywalizują
ze sobą i wygrywa ten, który uzyska
największy sygnał wyjściowy;
Reguła rywalizacji Kohonena1
Reguła rywalizacji Kohonena1
Tylko zwycięski neuron podlega uczeniu przez
modyfikację swoich wag (wzmacnianie ich);
Neuron zwycięski uzyskuje lepsze dopasowanie
wag do rozpoznawania sygnałów podobnych do
obrazu przy któryn zwyciężył;
Wektory wag innych neuronów w tej prezentacji
(iteracji) nie zostają zmienione; mogą one
podlegać modyfikacji przy prezentacji innych
sygnałow wejściowych.
Reguła samoorganizującej się
Reguła samoorganizującej się
sieci Kohonena1
sieci Kohonena1
W regule tej uczeniu podlega nie tylko zwycięski
neuron (wygrywający w konkurencji z innymi), ale
także neurony, które z nim sąsiadują;
Uczenie przez modyfikację wag (wzmacnianie
ich)odbywa się wg reguły Kohonena:
"wi jr = s(i,k) (xjr wi jr)
gdzie: "wi jr modyfikacja wagi j-tego neuronu przy i-tym
wejściu sieci w r-tej iteracji
s(i,k) wartość funkcji sąsiedztwa i-tego neuronu
wzgl. Zwycięskiego neuronu k
Reguła samoorganizującej się
Reguła samoorganizującej się
sieci Kohonena2
sieci Kohonena2
W wyniku uczenia, sieć przyporządkowuje prezen-
towany obraz do określonej klasy, generując
aktywność tylko jednego elementu wyjściowego;
Aktywny element wyjściowy ma wektor wag najbar-
dziej zbliżony do danego prezentowanego obrazu;
Funkcja sąsiedztwa dana jest np. f. Gaussa :
s(i,k) = exp(-d 2(i,k)/2e2)
gdzie: d(i,k) miara odległości między i-tym a zwycięskim
k-tym neuronem
e promień przyjętego sąsiedztwa
Uczenia Nienadzorowane
Uczenia Nienadzorowane
Sieci Kohonena cd. - grupowanie danych
według ich podobieństwa
" W każdym cyklu wygrywa tylko jeden neuron - ten
którego wagi są najbardziej podobne do wektora
wejściowego
" Wagi neuronów w sąsiedztwie są korygowane
odwrotnie proporcjonalnie do odległości
" W kolejnych iteracjach promień sąsiedztwa jest
stopniowo zmniejszany
Uczenie jest kończone gdy RMS błędu jest zredukowany do
akceptowanego poziomu lub zał. liczba iteracji osiągnięta.
Własności Sieci Neuronowych1
Własności Sieci Neuronowych1
" Mogą być produkowane jako wyspe-
cjalizowane układy elektroniczne
działające bardzo szybko (każda warstwa
neuronów pracuje równolegle);
" Bardzo często są modelowane przy
pomocy programów komputerowych;
" Gromadzą wiedzę w postaci zbiorów
danych (obrazów) a nie w postaci
komend jak programy
Własności Sieci Neuronowych2
Własności Sieci Neuronowych2
" Są zdolne do uogólniania
(aproksymacji, interpolacji) oraz
przetwarzania zakłóconych danych
" Sposób działania każdej sieci jest
wypracowywany przez samą sieć w
procesie jej uczenia
Predykcja dla nowych danych
Predykcja dla nowych danych
Eksploatacja SSN sieci neuronowych
Eksploatacja SSN sieci neuronowych
Nowa, gotowa, nauczona sieć ma służyć do obliczania wyników
dla nowych danych
W STATISTICA Sieci Neuronowe są trzy sposoby podawania na
wejście sieci nowych wartości:
1. Jeżeli dane mamy w pliku to plik ten otwieramy za pomocą
przycisku Otwórz dane, w Panelu początkowym. Następnie, za pomocą
przycisku Otwórz plik sieci, na karcie Sieci i zespoły sieci otwieramy plik
sieci. Z listy Sieci na karcie Sieci i zespoły sieci wybieramy sieć i na
karcie Więcej, po wybraniu opcji Uruchom istniejący model klikamy OK.
Otrzymujemy okno Wyniki (uruchamianie modeli). Uwaga, jeżeli
klikniemy OK bez wybranej sieci, to najpierw wywołane zostanie okno
wyboru sieci.
Predykcja dla nowych danych1
Predykcja dla nowych danych
Eksploatacja SSN sieci neuronowych
Eksploatacja SSN sieci neuronowych
2. Możemy używać sieci we własnych programach, dzięki SSN
API (Application Programming Interface) lub generatorowi
kodu. Można też rejestrować makra w STATISTICA Visual
Basic. Za pomocą generatora kodu zamknąć można otrzymaną
sieć neuronową w "czarnej skrzynce" własnego programu, by
mogła być używana przez osoby nie znające sieci neuronowych.
Również STATISTICA Data Miner automatycznie stosuje gotowe
sieci, czyli pozwala "podłączyć" nowe dane do istniejącej sieci w
celu otrzymania wyników.
3. Możemy na wejście sieci podać nowy "przypadek" danych,
czyli dowolne liczby. Przydatne takie podejście może być przy
badaniu sieci albo gdy natura problemu jest taka, że od czasu do
czasu mamy nowy przypadek do predykcji (pojawia się nowa
burza w pewnym miejscu i zachodzi pytanie jakiego jest typu).
Wnioski i podsumowanie 1
Wnioski i podsumowanie 1
Sieci Neuronowe mogą być efektywnie
używane tylko wtedy, gdy istniej
dostateczny zbiór danych uczących
(We - Wy lub tylko Wy) i te dane są
poprawnie mierzone i reprezentują
wszystkie możliwe dane
Wnioski i podsumowanie 2
Wnioski i podsumowanie 2
Sieci Neuronowe mogą być wykorzystane
efektywnie:
w badaniach, eksploatacji i Systemach
Ekspertowych jako dobre narzędzie
matematyczne szczególnie w zadanich
bez dobrych rozwiązań analitycznych
do bieżącego monitorowania, z uwagi
na szybkość i elastyczność
przetwarzania sygnału
Wnioski i podsumowanie 3
Wnioski i podsumowanie 3
Główne zalety sieci neuronowych to:
Bardzo dobra aproksymacja i dokładność
estymacji (w wielu przypadkach lepsza niż
w metodzie regresji)
automatyczne tworzenie modelu bez
konieczności selekcji analitycznych równań
zdolność do uogólnień (generalizacji) oraz
możliwość pracy przy zakłóceniach (szumach)
oraz braku kompletności wejściowych danych
Koniec podstaw Sieci
Neuronowych
Dziękuję
za wysłuchanie
i uwagę
dr inż. Włodzimierz Figiel
Wyszukiwarka
Podobne podstrony:
StatSoft Wprowadzenie do sieci neuronowychNieeuklidesowe sieci neuronoweSIECI NEURONOWEZastosowanie sieci neuronowych w ekonomiSieci neuronowe Skrypt rozdzial 10lab5 Sieci neuronowesieci neuronowe pytaniasieci neuronowe i uczenie maszynowe próba integracji readmesieci neuronowe i uczenie maszynowe próba integracji readmezadanie sieci neuronoweAnaliza skurczu betonu za pomocą sieci neuronowej RBFSieci neuronowe w grachSieci neuronowe w modelowaniu zabużeń neuropsychologicznych readmeSZTUCZNE SIECI NEURONOWEWykłady sieci neuronowepraca dyplomowa sieci neuronowebadanie wrazliwosci sieci neuronowych Automatykawięcej podobnych podstron