Sieci neuronowe i algorytmy uczenia Część materiałów ze slajdów pozbawiona:

Transkrypt

Sieci neuronowe i algorytmy uczenia Część materiałów ze slajdów pozbawiona:
Sieci neuronowe
i algorytmy uczenia
Część materiałów ze slajdów pozbawiona:
większości rysunków, przykładów, niektórych
wzorów.
Sztuczne sieci neuronowe
• Co to takiego? (dlaczego neuronowe?!)
• Skąd się wzięły?
• Z czym to łączyć? (biologia,
informatyka?)
• Do czego służą? (czy w ogóle mają jakieś
zastosowania?)
Wprowadzenie, a więc…
• Początki – fascynacja możliwościami
ludzkiego umysłu
• Próby modelowania – poszczególne
elementy, a może całość?
• Nowa dyscyplina nauki: kognitywistyka
Kognitywistyka (cognitive science)
• Dział nauki zajmujący się badaniem,
opisywaniem i modelowaniem zjawisk
dotyczących działania umysłu
• Bada naturę ludzkiej inteligencji
• Łączy różne dyscypliny: psychologię, filozofię,
neurologię, lingwistykę, informatykę,
socjologię, biologię, etc.
Kognitywistyka – trochę historii
• Można wywodzić ją ze starożytności – Platon i
Arystoteles też zastanawiali się nad działaniem
umysłu
• W latach 50. XX wieku pojawiają się pierwsze
pomysły modelowania działania ludzkiego umysłu
(Miller, Minsky, Simon, Papert, McCarthy)
• W połowie lat 70. wyodrębnia się nowa dziedzina
wiedzy, rozpoczyna się wydawanie Cognitive
Science, odbywają się konferencje, pojawiają się
kierunki studiów
Główne założenie
• Do wyjaśnienia działania umysłu konieczne
jest zrozumienie mechanizmów zachodzących
w nim na różnych poziomach, np. poziomie
najwyższym (psychologia) i najniższym
(neurobiologia, biochemia), jak również
powiązanie ich ze sobą (matematyka)
Sztuczna inteligencja (AI)
• Gałąź informatyki (a może innej dyscypliny) mająca
na celu stworzenie inteligentnej maszyny
• Badanie i projektowanie „inteligentnych agentów”
(systemów postrzegających swoje środowisko i na
tej podstawie podejmujących działania
maksymalizujące ich sukces)
• John McCarthy: "the science and engineering of
making intelligent machines"
Sztuczna inteligencja
• Dziś dyscyplina „pokawałkowana” na wiele subdyscyplin
rozwijających się oddzielnie
• Główne problemy AI: rozumowanie (wnioskowanie), wiedza,
planowanie, uczenie się, komunikowanie, percepcja, zdolność
ruchu i manipulowania obiektami
• Kiedyś stworzenie sztucznego rozumu wydawało się proste:
•
1965, H. A. Simon: "[M]achines will be capable, within
twenty years, of doing any work a man can do"
•
1967, Marvin Minsky: "Within a generation ... the
problem of creating 'artificial intelligence' will substantially be
solved."
Modelowanie obliczeniowe
• Tworzenie modeli komputerowych
pozwalających symulować różne poziomy i
zjawiska procesu poznawczego
• Modelowanie symboliczne – starsze
podejście, zapisanie reguł, wiedzy, różne
struktury
• Modelowanie podsymboliczne – sieci
neuronowe i metody pokrewne
Sztuczne sieci neuronowe
• Struktury i algorytmy mające początkowo modelować
działanie biologicznych układów neuronowych, w
tym, docelowo również mózgu ludzkiego
• Dziś: struktury, metody, modele programowe i
sprzętowe, przetwarzające, najczęściej równolegle,
sygnał wejściowy za pomocą elementów zwanych
neuronami
Historia
• 1943 r.: McCulloch i Pitts – pierwszy matematyczny
opis komórki nerwowej
• 1949 r.: D. Hebb – reguła Hebba, struktura sieci jako
pamięć
• 1957, 1968 r.: Rosenblatt – perceptron (do
rozpoznawania znaków, Cornell Aeronautical
Laboratory )
• 1960 r.: Widrow – Adaline i Madaline (Stanford),
pierwszy komercyjny neurokomputer
Historia – c.d.
• 1969 r.: Minsky i Papert – pokazanie ograniczeń sieci
jednowarstwowych
• Lata 70.: „Wielka Smuta” 
• 1974 r.: Werbos – schemat uczenia sieci
wielowarstwowej, niezauważony
• 1982 r.: Kohonen – samoorganizujące się sieci
Kohonena
• 1982 r.: Hopfield – ponowne odkrycie wstecznej
propagacji
• 1986 r.: McClellanda i Rumelhart – popularyzują ideę
sieci wielowarstwowych
• a potem… gwałtowny rozwój SSN aż do dziś
Zastosowania:
• Rozpoznawanie, klasyfikacja
• Klasteryzacja
• Analiza i przetwarzanie obrazów
• Przetwarzanie sygnałów (aproksymacja, filtracja)
• Predykcja szeregów czasowych
• Optymalizacja
• Pamięci autoasocjacyjne
• Kompresja
• i wiele innych…
Podstawy biologiczne
• Inspiracja: układ nerwowy, począwszy od
robaków, stawonogów, mięczaków, na ssakach
skończywszy
• Cel: zbadanie (a potem skopiowanie) mózgu
ludzkiego
• Fakty: mózg człowieka – 1400 ccm,
powierzchnia 2000cm2, (dla kuli 600 cm2),
waga 1.5 kg
Podstawy biologiczne – budowa
mózgu
• Kora mózgowa: grubość 3mm, 10^30 komórek
nerwowych, 10^12 glejowych, 10^15 połączeń
o długości od 0.01mm do 1m
• Komórki nerwowe wysyłają i przyjmują
impulsy o częstotliwości 1-100 Hz, czasie
trwania 1-2 ms, napięciu 100 mV i szybkości
propagacji 1-100 m/s
Podstawy biologiczne - mózg
• Szybkość pracy: 1018 operacji/s
• Do typowej reakcji mózgu potrzeba ok. 100
kroków: czas reakcji nie mniejszy niż 300ms,
czas refrakcji neuronu 3ms
• Pojemności kanałów zmysłów : wzrok 100
Mb/s, dotyk 1 Mb/s, słuch 15 Kb/s, węch 1
Kb/s, smak 100 b/s
Model neuronu (McCulloch i Pitts)
Rodzaje SSN
• Sieci jednowarstwowe – wejścia, jedna
warstwa neuronów
• Sieci wielowarstwowe jednokierunkowe –
propagacja sygnałów od wejść do wyjść, brak
sprzężeń
• Sieci rekurencyjne – sprzężenie zwrotne
między wejściem a wyjściem, mogą być jednolub wielowarstwowe
Sieć jednowarstwowa
• Składa się z węzłów wejściowych, oraz
warstwy neuronów
• W zależności od metody uczenia, oraz funkcji
aktywacji może to być: perceptron prosty, sieć
jednokierunkowa (sigmoidalna lub radialna),
czy też sieć samoorganizująca typu Kohonena
Sieć wielowarstwowa
Sieć wielowarstwowa
• Składa się z węzłów wejściowych, jednej lub
kilku warstw ukrytych, oraz warstwy
wyjściowej
• Sieci te to sieci jednokierunkowe sigmoidalne
• Mogą być traktowane jako uniwersalne
aproksymatory
Sieci rekurencyjne
Sieci rekurencyjne
• Posiadają sprzężenie pomiędzy sygnałami
wyjść, a wejściami sieci
• Opis – dynamika nieliniowa: dynamiczne
ustalanie się sygnałów (operatory opóźnień) i
nieliniowe funkcje aktywacji
Metody uczenia sieci – klasyfikacja
• Uczenie nadzorowane, z nauczycielem
(supervised learning)
• Uczenia z krytykiem (reinforcement learning)
• Uczenia bez nauczyciela, samoorganizujące
(unsupervised learning)
Metody uczenia – inny podział
• Uczenie typu on-line, reguła delta: aktualizacja
wag następuje po prezentacji każdego obrazu
uczącego
• Uczenie typu skumulowanego, batch-learning:
adaptacja wag po prezentacji wszystkich
elementów ciągu uczącego
• Możliwe strategie mieszane
Uczenie sieci neuronowych
• Wagi modyfikowane są w kolejnych iteracjach
zwanych epokami
• Zmiana wag zapisana być może jako:
przy czym
Perceptron
• Skokowa funkcja aktywacji neuronu
• Dopuszczalne dwie wartości wyjścia (0 i 1, -1 i
1)
• Uczenie perceptronu – minimalizacja błędu
np. kwadratowego
• Nauczenie – błąd zerowy
Reguła perceptronu
Reguła Widrowa-Hoffa
• Uogólnienie reguły perceptronu
• Możliwość stosowania przy różnych funkcjach
aktywacji neuronu
• Zmiana wag postaci:
Neuron Adaline (Adaptive Linear
Element, B. Widrow)
Neuron Instar
• Dopasowuje wagi do
swoich sygnałów
wejściowych
• Funkcja aktywacji
zwykle liniowa
• Uczenie wg reguły
Grossberga:
wij t +1 = wij t + ηyi x j  wij t 
• Może być uczony z
nauczycielem lub bez
Neuron Outstar (S. Grossberg)
Neuron typu Outstar
• Ma wygenerować wektor zadany dla
neuronów z nim powiązanych
• Dopasowuje wagi do neuronów liniowych, do
których dochodzą jego wyjścia
• Uczenie z nauczycielem lub bez
Neurony WTA
• Neurony współzawodniczą ze sobą
• Zwycięzcą zostaje neuron o największej
wartości wyjścia sumatora
• Zwycięzca przyjmuje na wyjściu wartość „1”
(stan aktywny), pozostałe neurony „0”
• Uczenie odbywa się bez nauczyciela (np.
reguła Instar)
Neuron Hebba (D. Hebb)
• Działanie oparte na obserwacji biologicznej:
wzmacniane są połączenia komórek będących w
stanie pobudzenia (aktywności) w tym samym
czasie
• Reguła Hebba: zmiana wag neuronu odbywa się
proporcjonalnie do iloczynu wejścia i wyjścia
Δwij = ηyi x j
• Uczenie z nauczycielem lub bez
Neuron sigmoidalny
Liniowa separowalność
XOR
x1
0
0
1
1
x2
0
1
0
1
d
0
1
1
0
W 1969 w słynnej książce
"Perceptrons"
Marvin Minsky i
Seymour Papert pokazali, że
jednowarstwowego perceptronu nie
można nauczyć nawet funkcji XOR.
W
1957
Frank
Rosenblatt
skonstruował elektromechaniczny
perceptron
w the Cornell
Aeronautical Laboratory.
Przykładowe funkcje aktywacji
(Matlab)
Neuron sigmoidalny – funkcje
aktywacji
• Funkcja unipolarna:
• Funkcja bipolarna:
1
f x  =
 αx
1 e
f x  = tanh αx 
Uczenie neuronu sigmoidalnego
• Pierwszy sposób
(dyskretny):
• Drugi sposób:
wij t +1 = wij t   η i xi
df si 
 i =  yi  d i 
dsi
dwij
dt
= ηdi x j
Funkcje aktywacji
w1,w2,...wp – wagi (ang. weights)
w0 - wartość progowa, polaryzacja, przesunięcie (ang. bias)
f – funkcja aktywacji (ang. activation function, transfer function)
y
w0
w1
x1
wp
w2
x2
1
xp


y  f  w0   wi xi 
i 1


p
Funkcje aktywacji
Skokowa f. aktywacji (nieróżniczkowalna):
f b sgn (u )  sgn( u )
Funkcja sigmoidalna bipolarna:
f bip1 (u )  tgh( u )
2
f bip 2 (u ) 
 1  2 f unip (u )  1
1  exp(  u )
Funkcja sigmoidalna unipolarna:
1
f unip (u ) 
1  exp( u )
Pochodne funkcji aktywacji
df unip (u )
d (u )
df bip1 (u )
d (u )
df bip 2 (u )
d (u )

   f unip (u ) 1  f unip (u )

2
  1  f bip
1 (u )



 2f unip (u ) 1  f unip (u )

Liczba neuronów w warstwie ukrytej
Pewną wskazówką:
Maksymalna liczba obszarów, na które J hiperpłaszczyzn
może podzielić n-wymiarową przestrzeń
n
M ( J , n) 
J
 
k
k 0  

Uczenie perceptronu
Uczenie z nauczycielem (pod nadzorem)
Zbiór uczący:
{x (i ) , d (i ) }iN1 ,
gdzie x (i )  R p , d (i )  R q
Zwykle funkcja celu:
Dla jednej próbki uczącej (uczenie on-line):
ang. on-line (incremental) learning
Dla całego zbioru uczącego:
ang. batch learning
q
1
E
2

1
E
2
N
Epoka – zaprezentowanie całego zbioru uczącego
( y j  d j )2
j 1
q

k
j 1
( y (jk )  d (jk ) ) 2
Uczenie sieci jednokierunkowych
• Najpopularniejszy rodzaj sieci
(jednokierunkowe, wielowarstwowe, o
sigmoidalnych funkcjach aktywacji)
• Uczenie opiera się na wstecznej propagacji
błędu (backpropagation)
• Uczenie polega na minimalizacji zadanej
funkcji błędu (najczęściej metody
gradientowe)
Metoda wstecznej propagacji błędu (J.
Werbos)
W metodzie wstecznej propagacji błędu przyjęto
następujące założenia dotyczące zadania uczenia:
• sieć jest ściśle wielowarstwowa (istnieją jedynie
połączenia pomiędzy neuronami kolejnych warstw),
• funkcje aktywacji sieci, oraz funkcja celu są ciągłe i
różniczkowalne,
• dane uczące składają się z wartości podawanych na
wejście sieci i odpowiadających im pożądanych
wartości wyjść.
Backpropagation
1. Sieć analizowana jest w kierunku od wejścia do wyjścia. Przy ustalonych
sygnałach wejściowych obliczane są wartości wyjść neuronów
poszczególnych warstw, oraz pochodne cząstkowe wszystkich funkcji
aktywacji.
2. Siec analizowana jest w kierunku odwrotnym do zwykłego przepływu
sygnałów. Funkcje aktywacji zastępowane są przez swoje pochodne, do
wyjścia sieci podawane jest wymuszenie w postaci różnicy miedzy
obliczonym wcześniej wyjściem, a wartością zadaną. W tak zdefiniowanym
stanie, od warstwy ostatniej do pierwszej propagowany jest błąd (różnice
wsteczne) obliczany dla wszystkich neuronów kolejnych warstw.
3. Następuje aktualizacja wszystkich wag sieci na podstawie zadanej reguły
uczenia i wyników uzyskanych w poprzednich krokach algorytmu. Jeżeli nie
został spełniony warunek stopu, powraca się do punktu pierwszego.
Minimalizowana funkcja kryterialna
(funkcja błędu)
• Najczęściej używa się funkcji kwadratowej:
• Ogólnie można użyć funkcji:
a więc w szczególności
Algorytmy gradientowe
• Rozwinięcie funkcji w szereg Taylora:
gradient:
n – ilość wag sieci.
Algorytmy gradientowe
• Hesjan:
Algorytmy gradientowe
• Najczęściej ograniczamy się do rozwinięcia:
i otrzymujemy krok uczenia:
Algorytmy gradientowe:
• Największego spadku:
• Levenberga – Marquardta
• Gradientów sprzężonych
• BPQ
• Quickprop
• RBPROP
• i wiele innych…
Ogólna zasada postępowania dla
algorytmów gradientowych
• Dla punktu początkowego wk
Algorytm największego spadku
Algorytm największego spadku
• Otrzymujemy więc zmiany wag:
gdzie
Współczynnik uczenia
W najprostszej wersji współczynnik uczenia
jest stały:
więc zmiana wag odbywa się zawsze
proporcjonalnie do niego.
Stały współczynnik uczenia
Oczywiste wady stałego współczynnika uczenia:
• Łatwo utknąć w minimum lokalnym
• Przy zbyt małej wartości proces uczenia przebiega
bardzo powoli
• Przy wartości zbyt dużej można przeoczyć ekstremum
• Nie ma prostej metody doboru właściwej wartości,
np. oszacowanie (Klimauskas):
Zmienny współczynnik uczenia
Różne strategie doboru współczynnika:
• Metody adaptacyjne
• Minimalizacja funkcji celu w zadanym
kierunku po wartościach współczynnika
uczenia (m. bisekcji, Fibbonaciego,
aproksymacji wielomianami, etc.)
• Metoda delta-delta, delta-bar-delta i podobne
Algorytm ze współczynnikiem wzrostu
błędu
• Zmiany współczynnika uczenia w czasie przebiegają
następująco:
η(t +1 ) = η(t)qi dla Q(t)  k wQ(t  1 )


η(t)qd dla Q(t) > k wQ(t  1 )
Przy czym qi > 1, qd < 1. Współczynnik kw niewiele
większy od jedności – pozwala on na niewielki
chwilowy wzrost wartości błędu.
Metody adaptacyjne
• Jeśli błąd popełniany przez sieć maleje,
zwiększenie współczynnika o zadaną wartość
• W przeciwnym przypadku zmniejszenie go
(geometrycznie, podział przez stałą wartość)
• Inny sposób: uzależnienie współczynnika od
szybkości i etapu uczenia
Oddzielny współczynnik uczenia dla
każdej wagi
• Współczynnik uczenia różny dla każdego
kierunku (każdej zmiennej, a więc każdej wagi)
• Dobierany np. w oparciu o gradient funkcji
celu:
Metoda delta-delta
Współczynnik uczenia obliczany metodą
największego spadku:
Metoda delta-delta
Na podstawie:
Otrzymujemy:
Reguła delta-bar-delta
• Udoskonalenie metody delta-delta
• Uwzględnia się uśredniony gradient, a nie jego
chwilowe zmiany
• Unika się niepotrzebnych oscylacji po
powierzchni funkcji celu
• Najczęściej stosowany przy uczeniu
skumulowanym
Reguła delta-bar-delta
Modyfikacja wag:
Przy czym:
Reguła delta-bar-delta
Wyrażenie uśredniające gradient:
Sprawdzane jest, czy uśredniona wartość ma
znak identyczny z aktualną, jeśli tak,
przyspiesza się uczenie.
Reguła delta-bar-delta
• Zmienia się tempo uczenia w zależności od
relacji znaków gradientu aktualnego i
uśrednionego
• Współczynnik rośnie addytywnie, maleje
wykładniczo
• Algorytm przyspiesza proces uczenia
Algorytm Resilient Backpropagation
• Uwzględnianie jedynie znaku składowych
gradientu w procesie uczenia
• Przyspieszenie minimalizacji na stosunkowo
płaskich obszarach
• Może być prostszy obliczeniowo
Algorytm Resilient Backpropagation
Zmiana wag ma więc postać:
przy
Algorytmy z czynnikiem „momentu”
• Metoda uczenia Momentum Backpropagation
polega na dodaniu czynnika „obciążenia”, czy
„bezwładności”, który zwiększa wielkość
wahań koniecznych do zmiany kierunku
uczenia
• W algorytmie tym pod uwagę brana jest
ogólniejsza tendencja, a nie gwałtowne zmiany
wartości gradientu
Algorytmy z czynnikiem „momentu”
Najprostszy sposób wprowadzenia
bezwładności:
Warto zauważyć, że dla płaskiej powierzchni
funkcji:
Algorytm z czynnikiem momentu
• Odgrywa pozytywną rolę na płaskich
odcinkach
• Pomaga uniknąć
• oscylacji przy
• niewielkich
• zmianach gradientu
• Wymaga kontrolowania błędu – przy zbyt
dużym wzroście błędu proces uczenia
mógłby stać się niestabilny
Algorytm Quickprop (Fahlman)
 E t 

Δwij t  = η
+ γwij t  + αij t Δwij t  1
 w t 

 ij

αij t  = αmax βij t  > αmax  Sij t Δwij t  1βij t  < 0




 βij t  w przeciwnym przypadku

βij t  =
Sij t 
Sij t 1  Sij t 
Zmodyfikowany Quickprop (Veith)
Δwij t  = αij t Δwij t  1 dla Δwij t  1  0






E t 
w przeciwnym przypadku
 η



 wij t 



Sij t 
αij t  = min 
,αmax 
 Sij t   Sij t  1

E t 
Sij t  =
wij t 
Algorytm Levenberga-Marquardt’a
• Jeden z najbardziej efektywnych i najczęściej
stosowanych
• Szybko zbieżny, o niewielkiej złożoności
obliczeniowej i prostej implementacji
• Oparty na rozwiązaniu nieliniowego problemu
najmniejszych kwadratów
Algorytm Levenberga-Marquardt’a
• Zastąpienie hesjanu w optymalizacji
newtonowskiej jego przybliżeniem
• Dodanie czynnika regularyzacyjnego
• Założenie kwadratowej funkcji błędu:
Algorytm Levenberga-Marquardt’a
Dla wektora residuów
gdzie
Algorytm Levenberga-Marquardt’a
Można zapisać
jakobian:
Algorytm Levenberga-Marquardt’a
Dla kwadratowej funkcji błędu gradient
wyrazić można za pomocą jakobianu jako:
Algorytm Levenberga-Marquardt’a
Przyjmuje się przybliżenie hesjanu zależnością:
gdzie u jest czynnikiem regularyzacyjnym.
Otrzymujemy przyrost wag:
Algorytm Levenberga-Marquardt’a
• Czynnik regularyzacyjny u jest funkcją postępu
procesu uczenia
• Początkowo jest dużo większy od wartości
własnych macierzy
by ze
zmniejszaniem się błędów dążyć do zera
• Początkowo alg. największego spadku, później
alg. Gaussa-Newtona o kwadratowej
zbieżności
Algorytm gradientów sprzężonych
• Algorytm gradientów sprzężonych (conjugated
gradients) rezygnuje z informacji o hesjanie
• Jeden z najszybszych i najbardziej efektywnych
algorytmów drugiego rzędu
• Zbieżność zbliżona do liniowej, niewielkie
wymagania co do pamięci
Algorytm gradientów sprzężonych
Algorytm postuluje tworzenie nowego
kierunku tak, by był sprzężony z poprzednią
wartością gradientu, oraz, jeśli to możliwe, z
poprzednimi kierunkami:
Byłoby to jednak mało praktyczne.
Algorytm gradientów sprzężonych
Nowy kierunek konstruuje się więc tak, aby
zależał od gradientu i poprzedniego kierunku,
oraz spełniał warunek ortogonalności:
Algorytm gradientów sprzężonych
Metody doboru współczynnika sprzężenia
najczęściej wykorzystują gradient, bądź
poprzednie kierunki poszukiwań. Jedną z
najpopularniejszych jest metoda PolakaRibiere’a:
Algorytm gradientów sprzężonych
• Metoda ta wymaga ponownego startu po
pewnej liczbie epok ze względu na błędy
zaokrągleń
• W związku z nimi zatracić się mogą
właściwości ortogonalności między wektorami
Algorytmy gradientowe podsumowanie
• Metody gradientowe stanowią podstawowe
narzędzie przy tworzeniu algorytmów uczenia
sieci jednokierunkowych
• Opierają się na strategii wstecznej propagacji
błędu
• Dzielą się na metody pierwszego i drugiego
rzędu
Algorytmy gradientowe podsumowanie
• Algorytmy pierwszego rzędu stosowane są
praktycznie jedynie przy uczeniu „on-line”
• Dużo efektywniejsze są algorytmy drugiego
rzędu
• Algorytmy ze stałym współczynnikiem uczenia
mają obecnie znaczenie historyczne
Algorytmy gradientowe podsumowanie
• Spośród wielkiej różnorodności metod uczenia wśród
najpopularniejszych wymienić można algorytmy
Levenberga-Marquardt’a i gradientów sprzężonych
• Są one szybkimi algorytmami drugiego rzędu nie
wymagającymi obliczania macierzy hesjanu
• Większość z metod jest bardzo czuła na dobór stałych
Algorytmy gradientowe podsumowanie
• Prócz algorytmów czysto gradientowych,
istnieją również metody łączące sporą dozę
wiedzy heurystycznej z analizą funkcji
• Sieci jednokierunkowe uczyć można także
metodami czysto heurystycznymi lub
„inteligentnymi” (np. alg. genetyczne,
symulowane wyżarzanie, etc.)
Sieci o bazach radialnych
• Inaczej sieci radialne, RBF (radial basis
function networks)
• Zamiast sigmoidalnej, bądź skokowej funkcji
aktywacji (f. bazowej) neuronu, funkcja
radialna, np. gaussowska
• Zamiast aproksymacji globalnej – lokalna
Sieci o bazach radialnych
Wykorzystanie w praktyce idei twierdzenia
Covera:
• problem separowalności wzorców zrzutowany
nieliniowo w przestrzeń o większej liczbie
wymiarów może być rozwiązany (liniowo
separowalny) z większym
prawdopodobieństwem, niż przy rzutowaniu
w przestrzeń mniej wymiarową
Struktura sieci RBF
• Budowa: jedna warstwa ukryta, warstwa
wyjściowa (stała architektura)
Struktura sieci RBF
• Ustalona architektura: warstwa neuronów
radialnych i sumujący neuron liniowy na
wyjściu
• Funkcje bazowe różne dla poszczególnych
neuronów
• Funkcje bazowe działają na odległościach
wejść od centrów bazowych
Sieci RBF
Wyjście sieci może zostać zapisane jako:
gdzie
- pewna norma, np.
euklidesowa
Aproksymacja siecią RBF
• Dla zbioru danych uczących szukamy funkcji:
Możemy zapisać aproksymację za pomocą
radialnych funkcji bazowych:
Działanie: sieci sigmoidalne contra RBF
• Neuron sigmoidalny dzieli przestrzeń
hiperpłaszczyzną na dwie części
• Neuron radialny rozciąga hiperpłaszczyznę wokół
pewnego centrum (np. punktu danych)
• Aproksymacja sieciami sigmoidalnymi – globalna
• Aproksymacja sieciami RBF – lokalna, wokół centrów
(np. superpozycja hiperpłaszczyzn związanych ze
wszystkimi danymi uczącymi)
Sieci RBF
• Neuron sigmoidalny – podział liniowy
hiperpłaszczyzną
• Neuron radialny – podział kołowy hipersferą
Sieci RBF – funkcje radialne
• Funkcja gaussowska:
• Funkcja Hardy'ego:
• Funkcja potęgowa:
Sieci RBF – funkcje radialne
Uwagi:
• W typowym przypadku funkcje radialne
charakteryzują się kołową symetrią wokół
centrum
• Od doboru parametru dyspersji σ zależy
„zasięg oddziaływania” neuronu
Sieci RBF
• Przypadek najprostszy - liczba neuronów
równa liczbie obrazów uczących
• Przyjmujemy centra w punktach x
• Otrzymujemy równanie liniowe względem wag
sieci:
Sieci RBF
• Rozwiązanie równania daje nam parametry
sieci
Wady:
• Ilość neuronów jest nadmiarowa, równa ilości
próbek
• Sieć ma słabą zdolność generalizacji
(dopasowana do danych uczących)
• Sieć jest bardzo podatna na błędy w danych
Sieci RBF - uczenie
• Oczywiście można stosować sieci o mniejszej
liczbie neuronów
• Aproksymacja przy użyciu k funkcji:
• Należy dobrać centra i wagi
Sieci RBF - uczenie
• Uczenie znów polegać będzie na minimalizacji
funkcji celu
• Dla normy euklidesowej otrzymujemy
kwadratową funkcję błędu:
Sieci RBF - uczenie
• Zadanie aproksymacji rozwiązujemy minimalizując
funkcjonał:
2


L f  =   w j G || xi  c j ||  d i  + λ || Pf ||2
i=1  j=1

N
K
gdzie czynnik stabilizujący
2
T
|| Pf || = W G0W
RBF - uczenie
• Macierz symetryczna KxK
G0 = G(c1 ,c1 )

G(c2 ,c1 )



G(cK ,c1 )
 G(cK ,c1 ) 

G(c2 ,c2 )  G(cK ,c2 ) 


 


G(cK ,c2 )  G(cK ,cK )
G(c1 ,c2 )
Sieci RBF - uczenie
• Zdefiniujmy macierz Greena:
• Dla ustalonych centrów problem znów
sprowadza się do rozwiązania układu równań
Sieci RBF - uczenie
• Rozwiązujemy względem wektora wag: G*w =
d (dla lambda=0)
• Jako, że macierz Greena jest prostokątna,
stosujemy jej pseudoinwersję:
i obliczamy szukany wektor wag sieci.
Sieci RBF - uczenie
• Dodatkowy problem – różna zmienność funkcji
błędu w różnych kierunkach
• Rozwiązanie – wprowadzenie do normy
współczynników wagowych:
Sieci RBF - uczenie
• Jeżeli zdefiniujemy macierz korelacji jako:
otrzymamy zmodyfikowaną normę
euklidesową:
Sieci RBF – dobór parametrów funkcji
radialnych
• Losowy – przyjęcie wartości z zakresu obrazów
uczących lub wylosowanie centrów spośród nich
• Dyspersja – przyjmowana apriorycznie w zależności
od ilości neuronów i odległości między centrami
d
σ=
2K
• Własności: rozwiązanie najprostsze, dla
nieskomplikowanych problemów stosunkowo
efektywne
Co dalej z wagami?
• Otrzymujemy
(pomijając
regularyzację)
GW = d
• Gdzie elementy G dane
są np. jako:
 || xi  t j ||2 

Gij = exp 
2


d
/
K


Co dalej z wagami?
• Po przekształceniu otrzymujemy jeszcze prostszą
postać zależności na elementy G:


 xi  t j 2 
Gij =  exp  k 2 k 
 d /K 
k =1


N
przy czym k to k-ta składowa wektora, i to i-ty
wzorzec uczący, a j – j-te centrum.
Rozwiązanie
• Rozkładamy macierz G na iloczyn macierzy
ortogonalnych P (pxp) i Q (KxK), oraz
T
pseudodiagonalnej S:
G = PSQ
• Macierz pseudoodwrotną do G można zapisać jako:
G = Q P
+
przy czym

więc
T
1 1

1
= diag , , , ,0,,0
SK
 S1 S 2

+
W =G d
Dobór parametrów RBF w procesie
samoorganizacji
• Po zaprezentowaniu k-tego obrazu uczącego
wybierane jest najbliższe centrum, które podlega
aktualizacji WTA:
ti (k +1 ) = ti (k)+ ηxk  ti (k)
• W wersji skumulowanej tworzy się klastry, których
centrum jest średnią wektorów składowych:
1
ti (k +1 ) =
Ni
Ni
 x (k)
j
j=1
Inne rozwiązania
• Zastosowanie wagowej miary odległości centrum od
prezentowanego wzorca (faworyzujemy centra,
które rzadko wygrywały)
• W miarę modyfikacji centrów zmienia się również
współczynnik:
η(k) =
η0
k
1
+
gdzie stałą czasową należy dobrać indywidualnie wT
zależności od problemu.
Dynamiczny dobór współczynnika
uczenia
Dobieramy współczynnik uczenia szacując postęp
procesu uczenia:
ti (k +1 ) = ti (k)+ M i (xk )η(k )xk  ti (k)



M i xk  = 1 dla vi || xk  t j ||2  v j || xk  t j ||2

0 dla reszty



vi (k +1 ) = αvi (k)+ ( 1  α)M i (xk ) || xk  ti ||
2
Miara oceny jakości uczenia
• Zakładamy, że w stanie optymalnym wszystkie
wagi centrów v są równe.
• Miara jakości podział na klastry w postaci funkcji
entropii:
K
H v1 ,v2 , ,vK  =   vˆk ln ( vˆk )
k =1
vˆk =
vk
K
v
i
i=1
Współczynnik uczenia oparty na
mierze jakości
• Dobór współczynnika zależy od postępów procesu
uczenia (mierzonych funkcją H) i jest bezpośrednio
związany z wartościami wag w każdym kroku:
H v1 ,v2 , ,vK 
η(k) = 1 
ln(K)
Dobór pola recepcyjnego (dyspersji)
funkcji bazowych
• Pola recepcyjne powinny pokrywać cały obszar
danych wejściowych
• Powinny się na siebie nakładać jedynie
nieznacznie (gładkie odwzorowanie)
• Najprostsze rozwiązanie: odległość
euklidesowa od najbliższego sąsiada.
Dobór pola recepcyjnego (dyspersji)
funkcji bazowych
• Można również uwzględnić szersze sąsiedztwo (P
najbliższych sąsiadów):
1 P
2
σj =
|| t j  tk ||

P k=1
• Zwykle P nie przekracza 3
Sieci RBF – dobór parametrów funkcji
radialnych
• Użycie technik samoorganizacji sieci
• Podział danych na klastry różnymi metodami
(np. k-średnich)
• Dyspersje ustalane w zależności od odległości
od najbliższego sąsiada
• Różne modyfikacje i wariacje na temat metody
• Bardziej złożony, ale efektywniejszy sposób od
doboru losowego
Sieci RBF - podsumowanie
• Druga z najczęściej stosowanych grupa sieci
• Sieci jednokierunkowe o ustalonej
architekturze (jedna warstwa ukryta)
• Zamiast skokowych funkcji aktywacji
neuronów, funkcje radialne
• Funkcje bazowe o symetrii kołowej
zmieniające się wokół pewnego centrum
Sieci RBF - podsumowanie
• Mogą być stosowane w zadaniach
aproksymacji i klasyfikacji nieliniowej (tw.
Covera)
• Aproksymacja jest w praktyce oparta na
lokalnej interpolacji
• Wymagają często mniejszej liczby neuronów
niż sieci o sigmoidalnych funkcjach aktywacji
Sieci RBF - podsumowanie
• Uczenie sieci RBF polega na wyznaczeniu funkcji
bazowych (centrów, dyspersji), a następnie na
obliczeniu wag warstwy ukrytej
• Najprymitywniejsze podejście zakłada budowę sieci
dokładnie odwzorowującą dane uczące
• Bardziej efektywne są metody, które pozwalają na
stopniowe dodawanie neuronów, aż do osiągnięcia
założonego błędu, lub dążące do stworzenia sieci o
zadanym rozmiarze
Sieci rekurencyjne
• W odróżnieniu od sieci jednokierunkowych
istnieje sprzężenie zwrotne między wyjściem a
wejściem
• Często symetryczne połączenia między
neuronami
• Duża liczba owych połączeń
• Opis za pomocą zależności dynamicznych
Sieci rekurencyjne
• Zmiana stanu jednego neuronu powoduje
zmianę stanu wszystkich elementów sieci
• Zmiana stanu wywołuje stan przejściowy,
prowadzący do ustalenia się nowych wartości
parametrów i sygnałów w sieci
• Dla funkcji aktywacji f sygnał wyjściowy
neuronu oznacza jego stan:
Sieci rekurencyjne
• Zmianę stanu neuronów można opisać
układem równań postaci:
gdzie i=1…N, b jest wartością progową,
natomiast tau pewną stałą wartością
(analogicznie do opisu układów RC).
Sieci rekurencyjne
• Stan neuronu uzyskujemy na podstawie rozwiązania
równania różniczkowego jako y=f(u)
• Dla danego stanu pobudzenia neuronów można
przyporządkować sieci funkcję energetyczną
Lapunowa daną wzorem:
N
1
1
E =   wij yi y j + 
2 j i,i  j
i=1 Ri
xi
f
0
1
i
N
(yi )dyi +  bi yi
i=1
Sieci rekurencyjne
• Funkcja Lapunowa maleje w funkcji stanu
pobudzenia neuronów
• W związku z tym zmiana stanu pojedynczego
neuronu powoduje zmianę stanu energetycznego
całej sieci
• Energia sieci maleje aż do osiągnięcia minimum
(lokalnego) funkcji energetycznej
• Sieci o symetrycznych powiązaniach między
neuronami nie mogą oscylować
Sieci Hopfielda (Hopfield 1982)
• Ze względu na
zastosowania nazywana
również pamięcią
asocjacyjną
• Zwykle przedstawiana
jako układ z
bezpośrednim
sprzężeniem od wyjść do
wejść sieci
Sieć Hopfielda
• Wyjścia sieci stanowią jednocześnie jej sygnały
wejściowe
• Brak jest sprzężenia neuronu z jego własnych
wyjściem
• Zadaniem sieci jest zapamiętanie elementów
ciągu uczącego tak, aby w trybie odtwarzania
układ wygenerował dla zadanego wzorca
jeden z wcześniej zapamiętanych elementów
Sieć Hopfielda
• Sieć powinna wygenerować jeden z
zapamiętanych obrazów nawet jeśli
prezentowany jej wzorzec różni się od niego
nieznacznie
• W tym celu wprowadza się odpowiednią
metrykę, która umożliwi zbadanie odległości
prezentowanego wzorca od obrazów wcześniej
zapamiętanych
Sieć Hopfielda
• Dla wektorów o składowych binarnych można
zdefiniować tzw. odległość Hamminga daną jako:
n
d H =  xi 1  yi + 1  xi  yi 
i=1
• Odległość Hamminga równa jest więc liczbie bitów
różniących te dwa wektory
• Będzie ona równa zero jedynie dla y=x
Sieć Hopfielda
• Proces uczenia ma więc za zadanie taki dobór
wag, aby na etapie odtwarzania sieć mogła
wygenerować obraz najbliższy w sensie miary
Hamminga prezentowanemu wzorcowi
• Podczas uczenia ustalane są obszary
przyciągania (atraktory) punktów
odpowiadających danym uczącym
Działanie sieci
• Dwa tryby: tryb uczenia (ustalania wag) sieci, oraz
tryb odtwarzania (działania)
• Przy przyjęciu skokowej funkcji aktywacji (signum)
sygnał wyjściowy neuronu można zapisać jako:
 N


yi = sgn  wij x j + bi 

j=
0


• Można więc opisać sieć:

yi k  = sgn



wij y j k  1


j=1, i  j

N
z warunkiem początkowym
y j 0 = x j
Działanie sieci
• Jeżeli w procesie uczenia bierzemy pod uwagę
tylko jeden wzorzec uczący, proces uczenia
będzie trwał dopóki zależność nie będzie
spełniona dla wszystkich neuronów
• Otrzymamy rozwiązanie dla:
ponieważ
(bo x*x=1)
Działanie sieci
• Dla p elementów ciągu uczącego otrzymujemy
aktualizację wag wg uogólnionej reguły Hebba:
a więc wagi przyjmują uśrednione wartości
elementów ciągu.
Działanie sieci - stabilność
• Gdy wzorców uczących jest wiele, istotne staje
się zapewnienie stabilności działania
• Aby sieć działała stabilnie, odpowiedź i-tego
neuronu na l-ty wzorzec musi być równa i-tej
składowej wzorca
• Otrzymujemy więc warunek:
Stabilność sieci
• Zapiszmy sumę ważoną sygnałów wejściowych i-tego
neuronu:
N
1
(l)
u = x +  xi(k)x(k)
x
j
j
N j=0 k l
(l)
i
(l)
i
• Pierwszy składnik to pożądany czynnik x, natomiast reszta to
tzw. składnik przesłuchu
• Składnik przesłuchu musi być na tyle mały, aby nie zmienił
znaku x
• Nawet dla niezerowego przesłuchu proces klasyfikacji może
zakończyć się we właściwym atraktorze
Pojemność pamięci asocjacyjnej
• Pojemność pamięci – maksymalna liczba wzorców
zapamiętanych i odtwarzanych z zadanym
akceptowalnym błędem
• Dla błędu rzędu 1% bitów w niewłaściwym stanie,
pojemność pamięci wynosi 18.5% liczby neuronów
(przy założeniu, że początkowy błędny stan jednego z
nich nie wpływa na inne neurony)
• W rzeczywistości, maksymalna pojemność to
zaledwie 13.8% liczby neuronów
Uczenie sieci Hopfielda
• Uczenie ma na celu znalezienie takich wag, dla
których w fazie odtworzeniowej przy prezentacji
wektora bliskiego zapamiętanemu, sieć znajdzie się
w stanie ustalonym
• Najprostsza metoda – uczenie regułą Hebba:
1
W = XX
N
• Metoda mało efektywna, przy istnieniu szumu wiele
błędów (minima lokalne dalekie od rozwiązania)
Uczenie sieci Hopfielda
• Metoda pseudoinwersji (rzutowania) – każdy wzorzec
podany na wejście powinien generować siebie samego
i prowadzić do natychmiastowego stanu ustalonego:
• Jednym z rozwiązań układu Np równań
jest:
(X+ - pseudoinwersja)
• Dla wektorów liniowo niezależnych można uprościć
do:
(metoda rzutowania
– zwykła inwersja macierzy kwadratowej)
Uczenie sieci Hopfielda
• Dla metody rzutowania zastosować można
również wersję iteracyjną, nie wymagającą
obliczania odwrotności macierzy
• Dla warunku początkowego W(0)=0, po
jednokrotnej prezentacji wzorców
otrzymujemy:
• Pojemność sieci wzrasta i wynosi: N-1
Uczenie sieci Hopfielda
• Metoda rzutowania delta (gradientowa metoda minimalizacja odpowiedniej funkcji celu)
• Dobór wag rekurencyjny

i 
w  w + η / N x  wx
i 
x 
• Metoda ta wymaga wielokrotnej prezentacji
wszystkich wzorców uczących
i 
T
Tryb odtwarzania sieci Hopfielda
• Gdy sieć zostanie nauczona jej wagi nie ulegają
dalszym modyfikacjom
• Na wejście podajemy wektor testowy x (y(0)=x)
i obliczamy iteracyjnie wyjście sieci:
y i  = sgn Wy i  1
aż do ustalenia się odpowiedzi.
• Istnieje też metoda sekwencyjna, w której obliczenia
przeprowadza się dla losowo wybranych neuronów
(mniejsza złożoność)
Tryb odtwarzania sieci Hopfielda
• Obliczanie wyjścia – iteracyjny, długotrwały
proces
• Niebezpieczeństwa: częste osiąganie
niewłaściwych punktów równowagi – te same
wartości funkcji energetycznej dla przeciwnych
stanów polaryzacji (np. stany (1, -1, 1) i (-1, 1, 1) mają tę samą energię)
• Mieszanie składowych zapamiętanych
wzorców, minima lokalne, pośrednie minima
lokalne, nie wynikające z żadnych wzorców
Implementacja sprzętowa sieci
Hopfielda
• Punkt wyjścia – opis równaniem
różniczkowym:
• Schemat neuronu:
Sieć Hamminga (Lippmann, 1987)
• Zasada działania: minimalizacja odległości
Hamminga wektora testowego od wektora
reprezentującego wzorce uczące, zakodowane
w strukturze sieci
• Budowa: trójwarstwowa struktura
rekurencyjna
Sieć Hamminga –budowa
• Warstwa pierwsza jednokierunkowa, bez sprzężenia,
skokowa aktywacja (0-1)
• Warstwa druga, MAXNET: neurony sprzężone każdy z
każdym (również z własnym wyjściem)
• Wagi warstwy MEXNET stałe, pomiędzy różnymi
neuronami gaszące, pomiędzy wyjściem a neuronem
równe +1
• Warstwa wyjściowa jednokierunkowa, reprezentuje
wektor wyjściowy
Uczenie sieci Hamminga
• Wzorce uczące – wektory N-wymiarowe z wartości -1
lub +1
• Pierwsza faza uczenia: prezentujemy wzorzec uczący
tak długo, aby neurony pierwszej warstwy ustaliły
swoje wyjścia (wejście MAXNETu)
• Druga faza: rozpoczyna się proces iteracyjny w
MAXNET tak długo, aż wszystkie wektory poza
jednym osiągną stan 0
• Neuron o niezerowym wyjściu zwycięża – oznacza
klasę wektora wejściowego
Uczenie sieci Hamminga
• Pamięć heteroasocjacyjna – pamięta pary wektorów
(we/wy)
• Węzły wejściowe przyjmują wartości kolejnych
wektorów uczących
• Neurony warstwy pierwszej określają odległość
Hamminga między wektorem testowym a każdym
zapamiętanym
• Warstwa MAXNET wykrywa najmniejszą odległość
• Warstwa wyjściowa odtwarza wektor wyjściowy dla
danej klasy
Działanie sieci Hamminga
• Pojemność pamięci jest równa ilości neuronów
warstwy wejściowej (każdy neuron
reprezentuje jedną klasę)
• Inicjalizacja wag: wagi warstwy pierwszej
reprezentują kolejne wzorce uczące, wagi
warstwy wyjściowej kolejne wektory
wyjściowe z c. uczącego
• W warstwie MAXNET inicjalizacją wzmacnia
się sygnał danego neuronu i osłabia sygnały
pozostałych
Działanie sieci Hamminga
• Inicjalizacja warstwy MAXNET:
wii(m) = 1
1

< wij(m) < 0
p 1
• Wagi powinny różnić się między sobą, można więc przyjąć:
1
w =
+φ
p 1
(m)
ij
gdzie p jest ilością neuronów w pierwszej warstwie, phi
wartością losową o niewielkiej amplitudzie
Działanie sieci Hamminga
• Na początku wartości wszystkich węzłów
układu są zerowe (prócz wejścia)
• Neurony warstwy wejściowej przyjmują
sygnały wyjściowe:
(dh – odległość Hamminga)
• Następnie usuwa się pobudzenie a warstwie
MAXNET zachodzi iteracyjny proces obliczeń:
Działanie sieci Hamminga
• Proces ten jest powtarzany do ustalenia się
wartości wszystkich neuronów (jeden aktywny,
pozostałe w spoczynku)
• Neuron aktywny zostaje zwycięzcą i poprzez
zestaw wag wyjściowych odtwarza
odpowiedni wektory na wyjściu
Sieć Hamminga - podsumowanie
• Zwykle daje lepsze rezultaty niż sieć Hopfielda
• Potrzebuje mniej wag: dla sieci o 100
wejściach kodującej 10 wektorowych klas, sieć
Hopfielda wymaga 10000 wag, natomiast sieć
Hamminga 1000 wag w warstwie pierwszej i
100 w warstwie MAXNET (bez warstwy
wyjściowej - autoasocjacja)
• Pojemność sieci 2cp, c<1
Sieci BAM (Bidirectional Associative
Memory, Kosko 1988)
• Uogólnienie struktury
Hopfielda na
dwuwarstwową sieć
rekurencyjną
• Umożliwia zakodowanie
par wektorów We/Wy
• Przepływ sygnałów
dwukierunkowy, tryb pracy
synchroniczny
Sieci BAM
• Skokowa funkcja aktywacji neuronów (0 i 1 lub
-1 i 1)
• Wejściowe wektory binarne muszą być
zakodowane jako bipolarne (-1, 1)
• Macierz wag jest niesymetryczna, określa
przepływ sygnałów w jedną stronę jako W, w
drugą jako WT
• Macierz W określa się jako macierz korelacji
dla danych uczących:
Sieci BAM
• Zaczynając od pary sygnałów początkowych (x0, y0 )
następuje dwukierunkowy proces przetwarzania
sygnałów: najpierw od wejścia do wyjścia, potem
odwrotnie:
Sieci BAM
• W końcu generowane są na wyjściu wartości
odpowiadające stanowi ustalonemu sieci BAM
• Dla każdego punktu procesu ustalania wag
zapisać można funkcję energetyczną:
• Każda kolejna zmiana wag powoduje
zmniejszenie wartości funkcji energetycznej
Sieci BAM
• W skończonej ilości kroków osiągane jest
minimum lokalne:
• Każde inne rozwiązanie, nawet odległe o 1 w
sensie odległości Hamminga będzie gorsze
• Niestety, nie zawsze otrzymany punkt stabilny
równy jest parze uczącej najbliższej stanowi
początkowemu (muszą zajść dodatkowe
warunki)
Sieci BAM
• Wykazano, że jeśli energia stowarzyszona z i-tą
parą uczącą nie tworzy minimum lokalnego, to
nie może być ona odtworzona (nawet, gdy
przyjmiemy równe jej wartości początkowe)
• Jeśli obrazy uczące są niepodobne do siebie w
sensie odległości Hamminga (np. podobne
wejścia, różne wyjścia), to sieć działa źle
Problem – błędy w danych
• związane z procesem akwizycji, przetwarzania,
wstępnej analizy
• mogą być wynikiem różnego rodzaju szumów, błędów
urządzeń, błędów człowieka
• typowa zawartość grubych błędów w rzeczywistych
przypadkach – kilka procent;
• zawartość w naukach opisowych (medycyna) – do
20%
• mogą być systematyczne (proste do identyfikacji), lub
trudne do wykrycia i zidentyfikowania
Błędy grube:
• różnią się znacznie od większości danych
• nieprawdziwe staję się założenie o
normalności rozkładu błędów
• nieskuteczne stają się również tradycyjne
metody statystyczne
Dane odstające:
• dane różniące się znacznie od ogółu danych
(nieścisła definicja)
• mogą być błędami grubymi lub nieść
informacje na temat zjawiska
• istnieją statystyczne metody pomagające je
wykrywać
Odporna statystyka (robust
statistics)
• zajmuje się sytuacjami, w których założenia
tradycyjnej statystyki nie są spełnione
• bada skuteczność istniejących metod przy
różnych założeniach
• proponuje nowe, lepsze (odporniejsze)
metody statystyczne oraz ich aplikacje
Odporna statystyka
• Pierwsze prace z dziedziny odpornej statystki
datują się na połowę lat 60. ubiegłego stulecia
• Skuteczne algorytmy obliczeniowe odpornych
estymatorów powstawać zaczęły w latach 80.
• Pierwsze próby zastosowania osiągnięć tej
dziedziny do praktyki uczenia sieci neuronowych
miały miejsce pod koniec lat 90. XX wieku
• Rozwój zarówno odpornej statystyki, jak i metod
uczenia z nią związanych trwa do dziś
Główne postulaty odpornej
statystyki
• odporność metod statystycznych na dane
słabej jakości, niepełne, zawierające błędy
grube, etc.
• prawidłowe działanie odpornych metod dla
czystych danych
Wybrane odporne estymatory
• RM (Siegel, 1982)
• LMS (Rosseeuw, 1984)
• S (Rousseuw i Yohai 1984)
• MAD (Martin, Yohai, Zamar 1989)
• -estymatory (Yohai i Zamar 1998)
• W, L, R, i inne
Uczenie sieci neuronowych a błędy grube:
• metody uczenia sieci dedykowane są dla
danych o gaussowskim rozkładzie błędów
• sieć ucząc się na błędnych danych modeluje
nieprawidłową relację
• model tworzony przez sieć może być daleki od
żądanego
• działanie tak nauczonej sieci jest
nieprzewidywalne, bez względu na rodzaj
danych, na których pracuje
Wybrane odporne algorytmy uczenia sieci
• RBP w zadaniu aproksymacji funkcji (Chen i
Jain, 1994)
• Próby uodpornienie algorytmu uczenia dla RBF
(Sanchez, 1995)
• Algorytm z kryterium Lmls (Liano, 1996)
• ARBP (Chuang, 2000)
• TAO (Pernia-Espinoza et al., 2005)
Odporne algorytmy uczenia sieci
(literatura):
• przeznaczone są do uczenia sieci
jednokierunkowych (najczęściej
sigmoidalnych)
• opierają się zwykle na modyfikacji funkcji
kryterialnej minimalizowanej przez algorytm
• działają przy stosunkowo ostrych
ograniczeniach i biorą pod uwagę jedynie
pewne rodzaje zakłóceń
Odporne algorytmy uczenia sieci –
postulaty:
• algorytmy powinny uczyć sieć prawidłowo dla
danych czystych
• powinny uczyć sieć możliwie dobrze również w
przypadku obecności w danych różnych typów
dużych zakłóceń
• mechanizmy uodporniające proces uczenia
powinny być wkomponowane w sam algorytm
uczenia
Signal Plus Error Model
Klasyczne podejście do modelowania danych
z zakłóceniami przedstawia się następująco:
yi  R oznacza odpowiedź układu na wejście
xi  Rp,
g - jest pewną określoną funkcją,
 - wektorem parametrów rozkładu,
 - parametrem dyspersji,
 - oznacza szum lub losowe zakłócenia.
Modele błędów w danych
• Typ 1: Zakłócenia modelowane są jako suma dwóch
rozkładów normalnych o różnych wariancjach i
zerowej wartości oczekiwanej (Gross Error Model).
• Typ 2: Zakłócenia modelowane są jako suma kilku
rozkładów o różnych wariancjach i wartościach
oczekiwanych (zakłócenia niesymetryczne).
• Typ 3: Zakłócenia symulowane są zastąpieniem
połowy danych jednorodnym szumem tła.
• Typ 4: Zakłócenia typu 1 wprowadzane są do wektora
wejściowego.
Błędy typu 1: Gross Error Model
Rozkład zakłóceń ma następującą postać:
Błędy typu 2: o rozkładzie
niesymetrycznym
Rozkład zakłóceń jest postaci:
Błędy typu 3: brak części danych
• połowa danych zastąpiona zostaje
jednorodnym szumem tła
Błędy typu 4: błędy w wektorze
wejściowym
• błędy w wektorze wejściowym generowane
podobnie jak dla typu 1
Minimalizowana funkcja kryterialna
(funkcja błędu)
• Najczęściej używa się funkcji kwadratowej:
• Ogólnie można użyć funkcji:
a więc w szczególności
Współczynnik uczenia
W najprostszej wersji współczynnik uczenia
jest stały:
więc zmiana wag odbywa się zawsze
proporcjonalnie do niego.
Celem klasycznego algorytmu uczenia jest
minimalizacja funkcji kosztu (cost function)
postaci:
1 N
E =  ρri 
N i=1
gdzie
 – funkcja błędu ciągła i symetryczna,
ri = ti – yi,( błąd dla obrazu uczącego i),
N – ilość obrazów uczących.
Gdy w jest modyfikowanym wektorem
parametrów (wag sieci) można obliczyć
pochodną:
ri
E 1 N
 =  ψ ri  
w N i=1
w
Wtedy funkcję definiowaną jako:
ρri 
ψ ri  =
ri
Nazywamy funkcją wpływu
(influence function).
W najogólniejszej postaci odpornego algorytmu
uczenia funkcję kosztu definiuje się następująco:
N
ER =  σ ei , β 
gdzie:
i=1
 ( ) – funkcja strat, symetryczna, posiadająca swe
jedyne minimum w zerze;
 – estymator skali, punkt odcięcia;
ei – szacowany błąd dla i-tego obrazu uczącego;
N – ilość danych uczących.
Przy zastosowaniu algorytmu uczenia
opierającego się na minimalizacji w kierunku
malejącego gradientu, aktualizacja wag
odbywa się w następujący sposób:
N

ei
ER
Δw j = η  = η ei ; β  
w j
w j
i=1
przy czym:
 - stały współczynnik uczenia;
oraz:
ei ; β 
ei ; β  =
ei
Cechy tej metody uczenia
• mniejszy, niż w przypadku algorytmu
klasycznego wpływ błędów grubych na
rezultaty uczenia sieci
• problemy, m.in. z wyborem wag
początkowych, czy też funkcji 
• sugeruje się zastosowanie wersji klasycznej w
kilku pierwszych epokach
Algorytm LTS
• funkcja kryterialna oparta na odpornym
estymatorze LTS (least trimmed squares)
• dwa warianty algorytmu
• przeznaczony do stosowania przy uczeniu
skumulowanym, metodami pierwszego lub
drugiego rzędu
Estymator LTS
Estymator Lts zapisać można jako:
Zastosowanie na gruncie sieci
neuronowych
Wyjście drugiej warstwy sieci:
Kryterium LTS
Nowa funkcja kryterialna przyjmuje postać:
Aktualizacja wag
Dla metody największego spadku przyrosty
wag wynoszą:
Problem – postać gradientu
Dla opisanego przyrostu wag
Problem: dobór stałej trymowania h
• h dobierane na podstawie wiedzy a priori
• h dobierane na podstawie aktualnych błędów
jako:
Algorytm Ltls (Least Trimmed Log
Squares)
• nowa funkcja kryterialna
• połączenie idei przycinania błędów z
funkcją kary
• zasada działania analogiczna do Lts
Kryterium Ltls
Otrzymuje się analogiczne do Lts funkcję
kryterialną i przyrosty wag:
Gradient Ltls
Otrzymujemy, podobnie jak poprzednio,
gradient dany jako:
Algorytm ze zmiennym
współczynnikiem uczenia VLR (variable
learning rate)
• algorytm dla metod uczenia typu „on-line”
• niwelowanie wpływu błędów grubych przez
zmiany współczynnika uczenia
• współczynnik uczenia modyfikowany w
zależności od aktualnego błędu
Zmiana wag wg największego spadku
Modyfikacja współczynnika dla
każdego obrazu uczącego:
Odporny algorytm z adaptacyjnym
doborem współczynnika uczenia ALR
(adaptive learning rate)
• algorytm dedykowany do uczenia typu
skumulowanego (batch learning)
• możliwość użycia z metodami uczącymi
drugiego rzędu
• współczynnik uczenia odpowiada za
zmniejszanie wpływu błędów grubych
W każdym kroku algorytmu dobiera się
współczynnik uczenia za pomocą
minimalizacji funkcji celu po wartościach
zależnego od błędu współczynnika uczenia:
Algorytm ze zmienną funkcją aktywacji
neuronów ATF (adaptive transfer
function)
• kształt funkcji aktywacji neuronów jest
zmienny w czasie
• jego zmiany odpowiadają za zmniejszanie
wpływu błędów grubych na proces uczenia
• przeznaczony do uczenia skumulowanego
również z algorytmami drugiego rzędu
Parametr funkcji aktywacji neuronów
zmienia się w zależności od postępów
procesu uczenia
Odporny algorytm drugiego rzędu
dedykowany dla kryterium Lmls
• algorytm drugiego rzędu do uczenia sieci
przy założeniu funkcji błędu postaci Lmls
• szybciej zbieżny od metody największego
spadku
• prosty obliczeniowo
Algorytmy gradientowe opierają się o
rozwinięcie funkcji celu w szereg wokół
rozwiązania:
W algorytmach drugiego rzędu bierze się pod
uwagę pierwsze dwie pochodne, a więc:
Definiuje się macierz Jakobianu jako:
Oblicza się dokładną wartość gradientu i
przybliżoną hesjanu i na ich podstawie definiuje
krok algorytmu Levenberga-Marquardta:
Definiujemy nową odporną funkcję błędu, oraz
macierz q:
Na tej podstawie obliczyć można gradient, oraz
definiując macierz JQ przybliżoną wartość
hesjanu:
Algorytm z ważoną funkcją celu Wlmls
• informacja o danych uczących odbiegających
od większości przekazywana jest do algorytmu
uczenia poprzez wprowadzenie ważonej
funkcji celu
• wagi zmniejszają wpływ danych uznanych za
błędy grube
• stosowanie z algorytmami typu „batch”
Odporny estymator MCD polega na znalezieniu
określonej wielkości zbioru danych, dla którego
macierz kowariancji ma najmniejszy wyznacznik. Na
tej podstawie oblicza się odległości poszczególnych
punktów od centrum.
W algorytmie uczenia tworzy się wektor ze
wszystkich elementów ciągu uczącego, następnie na
podstawie wyznaczonych wcześniej odległości,
oblicza się poszczególne wagi, które uzupełniają
definicję funkcji błędu:
Nowe rozwiązania
• Least Median of Squares (El-Melegy, M.T.,
Essai, M.H., Ali, A.A.) 2009
• RANSAC (El-Melegy) in press
• LTA
Sieci samoorganizujące się
• Koherencja i kolektywność
• Pierwsze sieci samoorganizujące się, tzw. sieci
Kohonena (Kohonen, 1982)
• W sieciach tych występuje najczęściej uczenie
oparte na współzawodnictwie neuronów (typu
konkurencyjnego)
• Neuron wygrywający ma szanse na
aktualizację swych wag
Sieci Kohonena
• Neurony reprezentowane
mogą być wektorami wag
w przestrzeni wzorców
wejściowych
• Neuron zwyciężający ma więc szansę
przybliżyć się do wzorca mu najbliższego (w
danej metryce)
• Docelowo sieć tworzy topologiczny obraz
przestrzeni sygnałów wejściowych
Sieć Kohonena (SOM – Self Organizing
Feature Map)
• Sieć uczona bez nauczyciela
• Dane uczące składają się jedynie z wektorów
wejściowych
• W najprostszej postaci sieć jednokierunkowa,
każdy neuron połączony z każdym wejściem
• Wejście znormalizowane:
Sieci Kohonena
• Po prezentacji obrazu wejściowego,
rywalizację wygrywa neuron najbliższy mu
według zadanej metryki
• Następnie neuron zwyciężający i neurony z
jego sąsiedztwa aktualizują wagi:
(wsp. zależny od odległości)
Uczenie sieci Kohonena
• Otrzymujemy więc algorytm uczenia:
• W klasycznym algorytmie definiowano G jako:
• Lepsze rezultaty:
Sąsiedztwo na podstawie topologii
sieci
• Sąsiedztwo określać można również na
podstawie budowy sieci
Miary odległości
• Euklidesowa:
• Il. skalarny:
• Mahalanobisa:
• L1 i L∞:
Miary odległości
• Dla miary Euklidesowej
otrzymujemy podział przestrzeni
na wieloboki Voronoia –
przestrzeń wokół punktów
centralnych to strefy dominacji
neuronów
• Iloczyn skalarny (b) bez
normalizacji może skutkować
niespójnym podziałem
przestrzeni
• Rozwiązanie – normalizacja
(istotna jedynie dla małych
wymiarów sieci)
Wieloboki Voronaia
Obszary Voronaia definiuje się jako:
Np. dla normy Euklidesowej otrzymujemy
wypukłe wieloboki:
Algorytm z mechanizmem zmęczenia
• Podstawa – obserwacja biologiczna: neuron ma
skończony czas relaksacji
• Założenie – dać szansę neuronom, które nie wygrały
procesu współzawodnictwa
• Wprowadza się dla każdego neuronu potencjał dany
jako:
1
dla i  w

pi k +1 =  pi k +
n

 p k   p
min
 i
dla


i = w

• Neuron, którego potencjał spadnie poniżej pmin
„odpoczywa”
Uczenie z wymuszeniem
(z krytykiem)
• Metoda autoasocjacji:
• Przyrostowej autoasocjacji:
• Metoda zbliżania wag:
Algorytm gazu neuronowego
• Swobodne neurony mogące przemieszczać się
w przestrzeni wag
• Analogia do dynamiki cząsteczek gazu
• Neurony sortuje się w zależności od ich
odległości od wektora wejściowego
• Siła adaptacji wag (przesunięcia neuronów)
zależy od ich odległości od wzorca
Algorytm gazu neuronowego
• Neurony są sortowane niemalejąco w zależności od
ich odległości od wektora wejściowego
• Wartość funkcji sąsiedztwa zapisuje się jako:
mi 

G i, x  = e λ
gdzie m oznacza pozycję neuronu uzyskaną w wyniku
sortowania, lambda odpowiada za określenie
promienia sąsiedztwa neuronu
Algorytm gazu neuronowego
• Proces powinien rozpoczynać się od dużej wartości
lambda, która powinna maleć
w nieskończoności do zera:
k / k max
 λmin 

λk  = λmax 
 λmax 
• Współczynnik uczenia dla każdego neuronu również
powinien maleć w czasie:
 ηmin 

ηi k  = ηi 0
 ηi 0 
k / k max
Logika rozmyta
• Rozszerzenie klasycznej logiki dwu- lub więcejwartościowej do logiki o ciągłym zbiorze wartości
• Opracowana przez profesora Lotfi Zadeha w latach
60.
• Powiązana z teorią zbiorów rozmytych
• Stosowana w systemach sterowania, automatyki, do
detekcji elementów obrazu, etc.
Zbiory rozmyte
• Rozszerzenie klasycznej teorii zbiorów
uwzględniające możliwość częściowej przynależności
do zbioru
• Funkcja przynależności przyjmować może wartości z
ciągłego zbioru [0,1], a nie jedynie wartości 0 lub 1
• Wartości funkcji traktować można jako opis stopnia
prawdziwości stwierdzenia, że element należy do
zbioru
Zbiór rozmyty - definicja
Zbiorem rozmytym na przestrzeni X (będącej
klasycznym zbiorem) nazywamy zbiór
uporządkowanych par:
gdzie
funkcją przynależności do zbioru.
jest
Funkcja przynależności
Dla funkcji przynależności zachodzi:
Zbiór rozmyty - definicje
Nośnik zbioru (support)
Rdzeń zbioru (core)
Wysokość zbioru (height)
Zbiór rozmyty - definicje
Wypukły zbiór rozmyty
Alfa-cięcie zbioru rozmytego
Logika rozmyta (fuzzy logic)
• Jest pewnym rozszerzeniem, choć nie
uogólnieniem logiki wielowartościowej
• Dopuszcza ciągły zbiór wartości
• Może być traktowana jako zastosowanie teorii
zbiorów rozmytych
• Różni się znacząco od teorii
prawdopodobieństwa, nie jest jej
uogólnieniem
Logika rozmyta
• Umożliwia opisywanie świata ze
stopniowaniem, np. bardzo, trochę, wcale,
etc.
• Pozwala na formalny zapis „niepewności”
rozumianej jako niepełny opis sytuacji
• Rozmywaniu mogą uleć nie tylko funkcje
przynależności określone na predykatach
logicznych, ale i cały sposób wnioskowania
Logika rozmyta – formalnie
Funkcja przynależności przekształcająca
predykaty logiczne w uporządkowany zbiór
par rozmytych:
Zastosowania - przykład
Kontrola systemu ABS
Operatory logiczne
• W logice rozmytej operatory logiczne AND, OR
i NOT definiowane są zwykle jako minimum,
maksimum i dopełnienie, a więc:
Schemat kontrolera rozmytego
Wyostrzanie
• Proces przedstawienia wyników działania
logiki rozmytej w sposób możliwy do
późniejszego wykorzystania
• Zwykle wynik działania systemu rozmytego
opisany jest jako przynależność do zbiorów
rozmytych możliwych działań
• Rolą wyostrzania jest przetłumaczenie tego
na konkretne działanie
Wyostrzanie – podstawowe metody
• Metoda maksimum:
• Metoda środka ciężkości:
• Metoda średnich wartości centrów:
Neuro – fuzzy systems
• Systemy łączące cechy wnioskowania w
oparciu o logikę rozmytą z teorią sieci
neuronowych
• Dwa sprzeczne postulaty: możliwość
interpretacji kontra dokładność sieci
• Możliwość wykorzystania modyfikacji znanych
algorytmów uczenia sieci do wygenerowania
systemu rozmytego
Neuro – fuzzy systems
Sieć neuronowa rozmyta
• Gaussowska funkcja przynależności:
• Funkcja wyostrzająca uśredniająca centra:
• Można uczyć alg. gradientowymi
Logika rozmyta - podsumowanie
• Pozwala zapisać problem w sposób intuicyjny,
wyróżniający „odcienie szarości” między
prawdą a fałszem
• Pozwala na prosty zapis (kodowanie)
stopniowania obecnego w języku naturalnym
• Umożliwia tworzenie systemów hybrydowych
(numeryczno – lingwistycznych)
Podejście ewolucyjne
• Podejście obliczeniowe oparte na
przeglądaniu populacji rozwiązań
• Inspirowane regułami ewolucji biologicznej
(doboru naturalnego)
• Wykorzystuje znane z biologii mechanizmy:
rozmnażanie, rekombinacje, mutacje, dobór
osobników najlepiej przystosowanych
Podejście ewolucyjne
• Spojrzenie na problem: potencjalne
rozwiązania jako osobniki w populacji, funkcja
dopasowania jako opis warunków
środowiskowych, funkcja celu (czasem
tożsama) jako opis celu nadrzędnego procesu
ewolucji
• Osobnik dobrze dopasowany do warunków –
dobre rozwiązanie
Techniki ewolucyjne
• Programowanie genetyczne – poszukiwania programów
komputerowych, które w najlepszy sposób nadają się do
rozwiązania konkretnych problemów
• Programowanie ewolucyjne – poszukiwania odpowiednich
parametrów w algorytmach (programach)
• Neuroewolucja – poszukiwania właściwej do danych
zastosowań struktury sztucznej sieci neuronowej
• Strategie ewolucyjne – strategie ze zmiennoprzecinkową
reprezentacją danych, zwykle z adaptacyjnym doborem
czynnika mutacji
• Algorytmy genetyczne – o tym będzie więcej
Algorytmy genetyczne
• Rodzina algorytmów przeszukiwania
przestrzeni rozwiązań w problemie
optymalizacyjnym oparta na mechanizmie
ewolucyjnym
• Globalne algorytmy heurystyczne
umożliwiające przybliżanie się do optimum
globalnego (znalezienie rozwiązania
przybliżonego lub dokładnego)
Historia
• 1954 – N. Barricelli przeprowadza pierwsze
symulacje komputerowe procesu ewolucyjnego
• 1957 – A. Fraser (genetyk): sztuczna selekcja
organizmów
• Lata 60. – publikacje łączące problemy
optymalizacyjne z mechanizmami ewolucyjnymi
• Lata 70. – J. Holland: podstawy algorytmów
genetycznych w Adaptation in Natural and Artificial
Systems
• Lata 80. – coraz więcej technik symulacji
• Lata 90. – komercyjnie dostępne oprogramowanie,
etc. i tak aż do dziś…
Algorytmy genetyczne - podstawy
• Populacja reprezentowana w dziedzinie poszukiwań
za pomocą abstrakcyjnych tworów (zestaw
chromosomów, genotyp, genom) określających
niezbędny zestaw informacji
• Rozwiązania reprezentowane jako osobniki
(fenotypy) w populacji
• Fenotyp osobnika (a więc również dopasowanie do
środowiska) zależy od zestawu genów
Zarys algorytmu
• Wylosowanie populacji początkowej o zadanym
rozmiarze
• Ocena przystosowania każdego z osobników
• Wybór osobników najlepiej przystosowanych
• Rozmnażanie wybranych osobników (rekombinacje,
mutacje, etc.)
• Wygenerowanie kolejnego pokolenia – nowej
populacji
• Jeśli nie jest to dobre rozwiązania, ponowne
wykonanie kolejnych kroków algorytmu
Algorytm wymaga więc:
• Zdeterminowania sposobu kodowania
genotypu jako reprezentacji wyniku (zwykle
kodowanie binarne, możliwe też inne)
• Doboru odpowiedniego sposobu obliczania
funkcji dopasowania, a więc obliczania
wartości rozwiązania (funkcja ta wskazywać
ma na jakość rozwiązania)
Kodowanie informacji genetycznej
• Od jego postaci zależy nie tylko szybkość osiągania
rozwiązania, ale i to, które obszary przestrzeni
rozwiązań zostaną przeszukane
• Zwykle kodowanie genomu w postaci ciągu bitów,
możliwe też wersje z danym zmiennoprzecinkowymi
(trudniejsze w implementacji)
• Możliwe również kodowanie za pomocą struktur
drzewiastych i grafów
Funkcja przystosowania (dostosowania,
fitness function)
• Określa jakość uzyskanego rozwiązania
(inaczej przystosowania osobnika do
warunków środowiska)
• Zwykle zależy od funkcji celu w problemie
optymalizacyjnym
• Może być budowana na podstawie odległości
od pożądanego
(zadanego) celu
Metody selekcji – wyboru osobników najlepiej
przystosowanych
• Chcemy, aby generowane w następnym kroku
algorytmu (następnej populacji) rozwiązania
miały cechy najlepszych rozwiązań z kroku
aktualnego
• Problem sprowadza się więc do wyboru
osobników, które będą miały możliwość
przekazania swoich genów dalej
Metody selekcji
• Najprostszy sposób – obliczenie funkcji
przystosowania dla wszystkich osobników w
populacji i następnie wybór grupy o
najlepszych (najmniejszych lub największych)
wartościach
• W praktyce często ocena przystosowania
wszystkich osobników jest technicznie
niewykonalna (rozwiązanie: losowanie)
Metody selekcji
• Zwykle oprócz pozostawienia grupy
osobników najlepiej przystosowanych
pozwala się przetrwać pewnej ilości
osobników słabszych
• Zapobiega to szybkiej zbieżności do optimów
lokalnych – zwiększa różnorodność populacji
pozwalając na przeszukiwania większych
obszarów
Metody selekcji
• Często stosowana jest tzw. metoda ruletki
(roulette-wheel selection)
• Osobniki najlepiej przystosowane dysponują
największym wycinkiem koła
• Potem „kręci się” kołem i wybiera tego, który
zostanie wylosowany
• Procedura powtarzana jest zadaną ilość razy
(tyle, ile osobników potrzebujemy)
Metoda ruletki – algorytm
• Policz wartości funkcji przystosowania dla każdego
osobnika i znormalizuj je (aby sumowały się do 1)
• Posortuj populację wg otrzymanych wartości
• Policz wartości skumulowane dla każdego osobnika
• Wylosuj osobnika do wyboru (pierwszy, którego
wartość skumulowana przekroczy losową liczbę z
przedziału [0,1])
Metody selekcji – inne rozwiązania
• Uniwersalne próbkowanie – za każdym razem
losujemy więcej niż jednego osobnika
• Turniej – za każdym razem wybieramy najlepszego
osobnika z losowej próby
• Można również zawężać wybór do pewnej liczby lub
procentu najlepszych
• Czasem pozwala się grupie najlepiej
przystosowanych osobników powielić się bez zmian
w następnym pokoleniu
Metody selekcji
• Można również stosować wybór
wielokryterialny – oceniać przystosowanie
osobników za pomocą różnych funkcji
• Podsumowując: osobniki lepiej
przystosowane mają większe szanse na
rozmnażanie – przekazanie genów dalej
• Zbieżność jest tu równoznaczna z
praktycznym brakiem różnić pomiędzy
pokoleniami
Przeszukiwanie przestrzeni cech rozmnażanie
• W tworzeniu nowego pokolenia uczestniczą
osobniki wybrane odpowiednią metodą
selekcji
• Genotypy potomków uzyskiwane są zwykle
na podstawie odpowiedniego przetworzenia
genotypów rodziców
• W procesie powstawania nowego zestawu
genów uczestniczyć może 2 lub więcej
rodziców
Rozmnażanie – typowe operacje
• Krzyżowanie – utworzenie nowego genomu na
podstawie np. dwóch innych przez wymianę
fragmentów genomu (crossover), stosowanie sumy i
przekroju bitowego, uśrednianie
• Mutacja – wprowadzenie pewnych losowych zmian
w chromosomach, np. zamiana miejscami,
wygenerowanie nowych wartości z zadanego
rozkładu (mutacja zachodzi z niewielkim
prawdopodobieństwem)
Kryteria stopu algorytmu
• Algorytm kończyć można podobnie jak inne
algorytmy optymalizacyjne, a więc wtedy, gdy:
- znajdujemy wystarczająco dobre rozwiązanie,
- przekroczymy zadaną maksymalną liczbę pokoleń,
- zatrzymał się postęp procesu optymalizacji (nowe
rozwiązania niewiele poprawiają),
- przekroczone zostały dopuszczalne zasoby
Zastosowania algorytmów genetycznych
•
•
•
•
•
•
•
Informatyka
Inżynieria (projektowanie)
Chemia
Ekonomia
Bioinformatyka
Filogenetyka
Fizyka
Zastosowania – konkretniej
• Rozwiązywanie problemów NP-trudnych, np.
problem komiwojażera, problem plecakowy
• Projektowanie anten, ich ułożenia
• Projektowanie obwodów elektrycznych
• Projektowanie układów scalonych
• Neuroewolucja (!)
Neuroewolucja
• Za pomocą algorytmów ewolucyjnych
dobiera się parametry sieci neuronowych
• Dobierać można wagi sieci (typowe
parametry) lub całą topologię (architekturę)
sieci
• W najprostszym przypadku topologię dobiera
się na podstawie zmniejszania lub
zwiększania liczby neuronów
Neuroewolucja
• Schemat postępowania – genotyp musi
zawierać informacje o strukturze (lub jedynie
wagach sieci)
• Fenotyp to sieć neuronowa mająca
wykonywać określone zadanie
• Genotyp może zostać zakodowany
bezpośrednio lub w postaci reguł
umożliwiających wygenerowanie sieci
NEAT (Neuroevolution of augmenting
topologies, Stanley 2002)
• Najpopularniejszy algorytm neuroewolucyjny
• Budowanie struktury i parametrów sieci
wielowarstwowej jednokierunkowej
• Sieć początkowa posiada jedynie wejścia i
wyjścia
• Kolejne pokolenia są coraz bardziej rozwinięte
• Dopuszcza się krzyżowanie topologii, oraz
ewolucję gatunków
Podsumowanie – podejścia
ewolucyjne
• Proste w implementacji i stosowaniu
• Zaskakująco skuteczne w szybkim
generowaniu dobrych rozwiązań
• Gorsze w szczegółowym „dostrajaniu”
rozwiązania
• Wymagają ustalenia wielu wstępnych
parametrów
• „Ciężkie” obliczeniowo

Podobne dokumenty