sieci1


1. Uczenie z nauczycielem i bez nauczyciela - porównanie.
Uczenie jest to adaptacja struktury sieci oraz parametrów w taki sposób aby sieć
realizowała odwzorowanie y=f(x) tak dobrane, że dla danych uczących y=d.
Są dwa podstawowe tryby uczenia sieci  z nauczycielem (inaczej zwane uczeniem pod
nadzorem) i bez nauczyciela.
Uczenie z nauczycielem  oprócz sygnałów wejściowych tworzących wektor x znamy
również pożądane sygnały wyjściowe neuronu di tworzące wektor d (destination). Dobór wag
należy tak przeprowadzić, aby aktualny sygnał wyjściowy neuronu yi był jak najbliższy
zadanej wartości di. Istotnym elementem procesu jest tu znajomość pożądanej wartości di
sygnału wyjściowego neuronu. Jeżeli nie możemy tego zapewnić musimy skorzystać z
uczenia bez nauczyciela. Dobór wag wiąże się w takim przypadku z wykorzystaniem
konkurencji neuronów między sobą (strategia WTA  winner takes all lub WTM winner takes
most), lub korelacji sygnałów uczących.
Podsumowując, w uczeniu bez nauczyciela na etapie adaptacji neuronu nie jesteśmy w
stanie przewidzieć sygnału wyjściowego neuronu, w odróżnieniu od trybu z nauczycielem
kiedy wynik uczenia jest z góry przesądzony przez wybór wartości uczących.
" Sieci trenowanie z nauczycielem  para ucząca to (x,d) , x- wektor wejściowy sieci, d
 wektor zadany y odpowiadający wartości x
" Sieci samoorganizujące się  znamy tylko x, trenowanie przez współzawodnictwo
(wiele neuronów  jeden wygrywa), trenowanie przez korelację  poszukiwanie
związków między poszczególnymi wartościami.
2. Neuron sigmoidalny i perceptronowy (różnice w działaniu i uczeniu).
Struktura neuronu:
1 - polaryzacja
x1
w1 w0
x2 u
y
f(u)
xn wn
Funkcja aktywacji:
Sigmoidalny: Perceptronowy:
Funkcja aktywacji jest ciągła i przyjmuje
Nieliniowa funkcja aktywacji jest funkcją
postać funkcji sigmoidalnej unipolarnej:
nieciągłą typu skokowego, w związku z tym
sygnał wyjściowy neuronu może
1
przyjmować wartość 0 lub 1 zgodnie z
fu (u) = 1
zależnością:
1+ e- "u
1 dla u e" 0
ż# lub bipolarnej:
f(u)=
#0 dla u < 0
1
#
fb (u) = tgh " u
-1
 - parametr dobierany przez użytkownika
Uczenie:
Sigmoidalny: Perceptronowy:
Uczenie takiego neuronu należy do grupy Uczenie takiego neuronu należy do grupy
uczenia z nauczycielem i polega na takim uczenia z nauczycielem i polega na
doborze wag w aby sygnał wyjściowy y minimalizacji funkcji celu:
najbliższy wartości zadanej d.
Najpopularniejszą metodą uczenia jest 1 P
E = (y(xi) - di) - wg normy
"
i=1
zastosowanie reguły perceptronu
2
euklidesowej L2
Przykładowy wektor x dajemy na wejście i
p  liczba próbek uczących
obliczmy y:
xi - wektor wejściowy
" jeżeli y=d to wagi bez zmian
di  wartość (destination)  skalar
" jeżeli y=1 a powinno być 0 (d=0) to
wagi zmniejszyć: wi(t+1)=wi(t)-xi
Optymalne wagi odpowiadają minimum
" jeżeli y=0 a powinno być 1 (d=1) to
funkcji E.
zwiększyć: wi(t+1)=wi(t)+xi
Minimum odpowiada warunkowi:
i=0,1...n
W 0
Ą# ń#
"E
ó#W1Ą#
d"  W =
ó# Ą#
Uogólnienie reguły perceptronu to reguła
"W
ó# Ą#
Widrowa-Hoffa:
Ł#Wn Ś#
Założenie ciągłej funkcji aktywacji umożliwia
Wi(t+1) = Wi(t)+"Wi
zastosowanie w uczeniu metody gradientowej:
"Wi = xi (di-yi)
1. Start sieci z losowych wartości wag wi
Reguła ta może być stosowana także do (bliskie zeru), -1innych rodzajów neuronów. 2. Podaje się na wejście wektor x
Obie reguły minimalizuje wartość funkcji y(x)=f (u(x))
błędu. 3. Adaptuje się wagi wg algorytmu
2
P gradientowego.
E = ( yi - di) - funkcja błędu (celu lub
"
i =1
W(k+1)=W(k)+p(k)
kosztu), p  liczba danych uczących.
W(k)  stare wagi,  - wsp. kierunkowy
minimalizacji, p  kierunek minimalizacji
Wady: efektywność metody przy dużej
(wektor).
liczbie danych uczących jest niewielka, a
"E
p(k)=-g(k)= - (k)
liczba cykli uczących i czas uczenia rośnie
"W
szybko nie dając gwarancji uzyskania
Wi(k+1)=Wi(k)- xii
minimum funkcji celu.
4. Go to 2, jeśli warunki zakończenia nie są
Usunąć te wady można przez przyjęcie
spełnione:
funkcji aktywacji ciągłej (neuron
"E
sigmoidalny), przy której funkcja celu E
" d" 1
"W
staje się również ciągła, co umożliwia
wykorzystanie w procesie uczenia informacji
" ||W(k+1)-W(k)||<=E2  żeby nie
o wartości gradientu.
chodziło w kółko
" Iteracje>= Iteracje max
3. Równanie adaptacji wag w sieci przy zastosowaniu uczenia
gradientowego. Podać wzór adaptacji przy metodzie największego spadku
Zadanie uczenia sieci neuronowej jest równoważne minimalizacji odpowiednio
zdefiniowanej funkcji celu E(W). Można zatem ją rozwiązać przy zastosowaniu algorytmów
optymalizacji, z których najbardziej skuteczne są algorytmy gradientowe.
Wzór opisujący metodę największego spadku jest wzorem opisującym ogólną metodę
gradientową w przybliżeniu liniowym (upraszcza się szereg Taylora):
E(Wk+pk)=E(Wk)+[gWk)]T
Na etapie poszukiwania minimum wartości funkcji celu kierunek poszukiwań p oraz krok 
są dobierane w taki sposób, aby dla nowego punktu
Wk+1=Wk+ pk
była spełniona zależność
E(Wk+1)Aby spełnić powyższą zależność wystarczy dobrać
[g(Wk)]Tp<0
Przyjęcie
pk=-g(Wk)
spełnia warunek.
Wady:
- małą zbieżność liniowa do rozwiązania (wolna)
- utyka w minimach lokalnych
- spowalnianie rozwiązania w pobliżu punktów optymalnych
Problem minimów lokalnych:
W tym przypadku równanie adaptacji wag
Wk+1=Wk+"Wk
wygląda następująco:
"Wk=-gk+ ą "Wk
ą  współczynnik momentu (uczenie z momentem) z przedziału [0,1]
Pierwszy składnik tego wyrażenia odpowiada zwykłej metodzie uczenia, drugi natomiast
uwzględnia ostatnią zmianę wag i jest niezależny od aktualnejwartości gradientu.
Płaskich funkcji celu:
Przy stałej wartości współczynnika uczenia, przyrost wag jest równy.
"WkH" "Wk+1= "W
zatem:
"W=-gk+ ą "W => "W=-gk/(1- ą)
Czynnik momentu nie może całkowicie zdominować procesu uczenia, gdyż prowadziło by to
do niestabilności algorytmu.
4. Istota algorytmu propagacji wstecznej. Zilustrować przykładem sieci
perceptronowej o 1 wejściu, 2 neuronach ukrytych i jednym wyjściowym
(wszystkie neurony sigmoidalne).
Uczenie sieci wielowarstwowej przy zastosowaniu metod gradientowych wymaga do
wyznaczenia kierunku p(W) określenia wektora gradientu względem wag wszystkich warstw
sieci. Jedynie w przypadku wag warstwy wyjściowej jest to zadanie określone w sposób
natychmiastowy. Warstwy pozostałe wymagają zastosowania specjalnej strategii
postępowania, która w dziedzinie sieci neuronowych nosi nazwę algorytmu propagacji
wstecznej (backpropagation).
Zgodnie z tym algorytmem w każdym cyklu uczącym wyróżnia się następujące etapy czunia:
1. Analiza sieci neuronowej o zwykłym kierunku przepływu sygnałów przy założeniu
sygnałów wejściowych sieci równych elementom aktualnego wektora x. W wyniku
analizy otrzymuje się wartości sygnałów wyjściowych neuronów warstw ukrytych
oraz warstwy wyjściowej, a także odpowiednie pochodne (wzor) & . Funkcji
aktywacji w poszczególnych warstwach.
2. Utworzenie sieci propagacji wstecznej przez odwrócenie kierunków przepływu
sygnałów, zastąpienie funkcji aktywacji przez ich pochodne, a także podanie do
byłego wyjścia (obecnie wejścia) sieci wymuszenia w postaci odpowiedniej różnicy
między wartością aktualną i żądaną. Dla tak utworzonej sieci należy obliczyć wartości
odpowiednich różnic wstecznych.
3. Adaptacja wag (uczenie sieci) odbywa się na podstawie wyników uzyskanych w
punkcie 1 i 2 dla sieci zwykłej i sieci o propagacji wstecznej wg odpowiednich
wzorów.
4. Omówiony proces opisany w punktach 1, 2, 3 należy powtórzyć dla wszystkich
wzorców uczących, kontynuując go do chwili spełnienia warunku zatrzymania
algorytmu. Działanie algorytmu kończy się w momencie, gdy norma gradientu
spadnie poniżej pewnej wartości  określającej dokładność procesu uczenia.
Po uwzględnieniu wszystkich składników otrzymuje się:
Określenie wektora gradientu jest kluczowe w dalszym procesie uaktualniania wag. W
klasycznym algorytmie propagacji wstecznej kierunek p(W) występujący we wzorze
W(k+1)=W(k)+"W
przyjmuje się zgodnie z kierunkiem ujemnego gradientu;
Przykład znajduje się na następnej stronie.
5. Istota zdolnosci generalizacji sieci. Warunki dla uzyskania dobre
generalizacji
Zdolność do rozpoznawania danych, na których sieć nie była trenowana jest miara zdolności
uogólniania (generalizacji).
Zjawisko uogólniania wynika z istnienia dużej liczby kombinacji wzorców możliwych do
zrealizowania na N wejściach.
Zbyt duża liczba neuronów i powiązani między nimi umożliwia dopasowanie zbyt drobnych
szczegółów wynikających z błędów lub rozmycia danych wejściowych  sieć przeuczona.
Błąd uczenia ciągle maleje, ale błąd testowania rośnie.
Zbyt mała liczba neuronów powoduje zjawisko niedouczenia i zaliczania do określonej grupy
danych zbyt od niej odległych.
Podstawą określenia zdolności generalizacji jest twierdzenie Vapnika-Chervonenkisa, że błąd
generalizacji sieci, czyli różnica między zachowaniem się sieci na zbiorze uczącym i
testującym może być dowolnie zredukowany, jeśli liczba reprezentatywnych próbek uczących
jest większa od tzw. miary Vapnika-Chervonenkisa (VCdim). Jest to wymiar S największego
zbioru danych uczących, dla którego sieć może zakodować wszystkie 2S podziały liniowo
odseparowane.
Dla funkcji aktywacji typu nieciągłego VCdim przyjmuje się jako liczbę wszystkich wag
sieci.
Dla nieliniowości neuronów typu sigmoidalnego VCdim przyjmuje się jako podwojoną liczbę
wszystkich wag w sieci.
Z twierdzenia wynika jedynie, że powinno próbek uczących powinno być więcej niż wynosi
VCdim. Z praktyki wynika jednak, że powinno być to dziesięciokrotnie więcej, jest to bardzo
duża liczba często nie możliwa do uzyskania, dlatego stosuje się redukcję wag w sieci. RPbi
się to obcinając najmniej znaczące wagi albo redukując liczbę neuronów.
Bardziej zalecane jest obcinanie wag, czyli Optimal Brain Demage
Najpierw stosuje się standardowo metodę propagacji wstecznej, a potem obcina się wagi,
których obcięcie w najmniejszym stopniu wpływa na wzrost funkcji energetyczniej.
p 2
"2E
Sij = Wij2 =
"" Ek Wij2
"Wij2 k =1 "Wij2
6. Siec BAM - struktura sieci i zasada działania
Pamięć heteroasocjacyjna typu BAM (Bidirectional Associative Memory) realizuje
stowarzyszenie dwu wektorów A i B.
Jest to sieć dwuwarstwowa wyjście drugiej warstwy jest połączone z wejściem pierwszej 
typ rekurencyjny:
Struktura ogólna:
Neurony w poszczególnych warstwach są typu sigmoidalnego o funkcji aktywacji:
f(x) = 1/(1+exp(-x))
 ma zwykle dużą wartość.
Działanie:
Wywołanie pamięci asocjacyjnej rozpoczyna się od przyłożenia jednego z wektorów A lub B
do odpowiedniej warstwy sieci. Może być to wektor w postaci pełnej użyty przy uczeniu
sieci, lub wektor niepełny albo zaszumiony. Przyłożenie wektora A(0) na wejście warstwy
drugiej uruchamia proces przejściowy prowadzący do wygenerowania stabilnych wektorów A
i B
A(0)->B(1)->A(1)->B(2)->A(2)->B(3)->& ->A->B
Każde przejście A i B zbliża te wektory do wartości zapamiętanej. Siec rezonuje aż do
uzyskania punktu rezonansowego.
Stan neuronów w obu warstwach powstały w wyniku rezonansu to pamięć krótkoterminowa
(short term memory) pamięć długoterminową (long term memory) określają wagi sieci.
Sieć BAM uczy się po prostu kodując wagi na drodze obliczeń.
Macierz wag W obliczamy jako sumę iloczynów wektorowych A i B:
p
W = Bi
"Ai
i=1
A i B to wektory kolumnowe; p  liczba stowarzyszonych par.
A i B zwykle są w postaci binarnej, ale do uczenia lepiej zmienić je na postać bipolarną
(0->-1; 1->1) gdyż podczas uczenia 0 nie wpływa na zmianę wag.
Sieć BAM jest bezwzględnie stabilna dla dowolnych wartości wag. Proces rekurencyjny
zachodzący na etapie rezonansu prowadzi zawsze do stanu ustalonego w postaci punktu w
przestrzeni a nie cyklu granicznego.
Maksymalną pojemność szacuje się na:
1
pmax =
2log2 n
7. Siec Elmana struktura i rekurencyjny charakter działania
Sieć rekurencyjna Elmana charakteryzuje się częściową rekurencją w postaci sprzężenia
zwrotnego między warstwą ukrytą a warstwą wejściową realizowana za pośrednictwem
jednostkowych opóznień. Każdy neuron ukryty ma swój odpowiednik w warstwie
kontekstowej, stanowiącej warstwę wyjściową. Warstwę wyjściową tworzą neurony
połączone jednokierunkowo tylko z neuronami warstwy ukrytej tak jak w przypadku sieci
MLP. Jeżeli byśmy oznaczyli zewnętrzny wektor wymuszający sieci przez x, stany neuronów
ukrytych przez V należy RK, a sygnały wyjściowe sieci przez należące do RM. Wektor
wejściowy sieci w chwili t ma postać:
x(k)=[x0(k),x1(k),.......,xN(k), V1(k-1),V2(k-1),........VK(k-1)
Wagi połączeń synaptycznych sieci warstwy pierwszej (ukrytej) oznaczymy jako wij(1),
warstwy drugiej jako wij(2). Przy oznaczeniu sumy wagowej i-tego neuronu warstwy ukrytej
przez ui, a jego sygnalu wyjsciowego przez Vi, otrzymuje się:
ui(k)= (suma od j=0 do N+K)wij(1)xj(k)
Vi(k)=f1(ui(k))
Wagi wij(1) tworzą macierz W(1) połączeń synaptycznych w warstwie ukrytej, a f1(ui) jest
funkcja aktywacji i-tego neuronu tej warstwy. Podobnie można oznaczyć przez gi sumę
wagowa i-tego neuronu warstwy wyjściowej, a przez yi odpowiadający mu i-ty sygnał
wyjściowy sieci. Sygnały te są opisane wzorami:
gi(k)=(suma od j=0 do K)wij(2)Vj(k)
yi(k)=f2(gi(k))
Wagi wij2) tworzą z kolei macierz W(2) opisująca wagi połączeń synaptycznych neuronów
warstwy wyjściowej, a f2(gi) jest funkcja aktywacji i-tego neuronu warstwy wyjściowej.
8. Siec PCA w układzie kodowania i dekodowania sygnałów
Analiza składników głównych PCA jest metoda statystyczna określająca przekształcenie
liniowe y=Wx transformujące opis stacjonarnego procesu stochastycznego w postaci wektora
x należącego do RN w wektor y należący do RK za pośrednictwem macierzy W należącej do
RKxN przy Kstatystycznie niezależnych składników, według ich ważności. Stanowi zatem formę kompresji
stratnej znanej jako transformacja Karhunena-Loeve. Przy ograniczeniu się do K
największych wartości własnych macierzy W przekształcenia PCA definiuje się w postaci
W=[w1,w2,w3,....,wK]T przy W należącym do RKxN. Macierz ta określa transformacje PCA
jako przekształcenie liniowe y=Wx. Transformacja jest ściśle związana z rozkładem macierzy
korelacji według wartości własnych. Z punktu widzenia statystycznego PCA określa zbiór K
wektorów ortogonalnych mających największy wkład w wariancje danych wejściowych.
Celem algorytmów PCA jest określenie w1,w2,.....wk w taki sposób, aby zmaksymalizować
wartość E||wiTx|| przy spełnieniu warunku ortogonalności. Macierz rozkładu PCA i macierz
rekonstrukcji stanowią wzajemne transpozycje. PCA minimalizuje wartość błędu
rekonstrukcji danych. Transformacja PCA pozwala określić korelacje zachodzącą miedzy
wieloma zmiennymi w zbiorze danych.
9. Sieć kaskadowej korelacji Fahlmana - struktura sieci i metoda uczenia.
W sieci kaskadowej dobór struktury sieci odbywa się równolegle z uczeniem sieci przez
dokładanie na każdym etapie uczenia jednego neuronu ukrytego.
Każdy kolejno dokładany neuron ma połączenia z węzłami wejściowymi i wszystkimi już
istniejącymi neuronami ukrytymi. Wyjścia wszystkich neuronów ukrytych i węzły wejściowe
sieci zasilają bezpośrednio neurony wyjściowe.
Na etapie początkowym sieć zawiera wejścia i neurony wyjściowe. Liczba wejść i wyjść nie
podlega modyfikacji. Neurony wyjściowe mogą mieć dowolną funkcję aktywacji.
Każdy dodawany neuron warstwy ukrytej stanowi jednoneuronową warstwę.
Proces uczenia rozpoczyna się przy braku neuronów ukrytych. W oryginalnym rozwiązaniu
zastosowano algorytm  quickprop , charakteryzujący się szybką zbieżnością do punktu
rozwiązania, ale zastosowany algorytm może być dowolny. Jeśli wynik działania sieci ze
względu na błąd jest satysfakcjonujący, następuje koniec uczenia i kształtowania sieci, jeśli
nie to dodawany jest kolejny neuron do warstwy ukrytej. Najpierw kształtowane są jego wagi
wejściowe, następnie wagi są zamrażane i dołączany jest do struktury sieciowej. Po tej
procedurze douczane są ponownie wagi neuronów wyjściowych. Czynności te są powtarzane
aż do osiągnięcia zadowalających rezultatów.
Dobór wag polega na maksymalizacji wartości korelacji między aktywnością mierzoną
sygnału, a wartością błędu na wyjściu sieci.
W celu uzyskania najlepszych wyników uczenia korelacyjnego trenuje się zwykle kilka
neuronów kandydatów, wybiera się najlepszego, najlepszego największej wartości
współczynnika korelacji i instaluje w strukturze sieci. Takie działanie zmniejsza szansę
utknięcia w minimum lokalnym.
Każdy z nowo dodawanych neuronów może charakteryzować się inną funkcją aktywacji.
10. Wyjaśnić zastosowanie sieci Kohonena do kompresji danych
Podstawowym zastosowaniem sieci samoorganizującej Kohonena jest kompresja danych.
Duże grupy danych tworzące klaster, reprezentowane są przed pojedynczy wektor wagowy
neuronu zwyciężcy. Na p danych podzielonych na P klastrów, gdy każdemu z n neuronów
odpowiada jeden klaster uzyskuje się znaczne zmniejszenie informacji. Jest to kompresja
stratna stosowana przede wszystkim do obrazów, towarzyszy jej błąd kwantowania
p
Eq = (1/p)* SUMA(||Xi - Ww(i)||^2) {małe w(i) to indeks dużego W}
i=1
Xi - wektor wejściowy
Ww(i) - waga neuronu zwyciężającego przy prezentacji wektora Xi
p - ilość wektorów wejściowych
Przy kompresji obrazów błąd odwzorowania musi być zachowany na określonym poziomie.
Obraz o wymiarach Nx * Ny pikseli dzielimy na równomierne ramki zawierające n_x * n_y
pikseli. Piksele każdej ramki stanowią składowe wektorów wejściowych. W trakcie uczenia
minimalizuje się błąd kwantyzacji poprzez odpowiedni dobór wag poszczególnych neuronów.
Następuje taka organizacja sieci, przy której wektorowi x każdej ramki odpowiada wektor
wagowy neuronu zwyciężcy. Numery neuronów zwyciężców tworzą książkę kodową, a wagi
tych neuronów reprezentują uśrednioną wartość odpowiadającą poszczególnym składowym
wektora x. Liczba neuronów jest zwykle sporo mniejsza niż liczba ramek, otrzymuje się więc
spore zmniejszenie informacji opisujących dany obraz. Możliwe jest uzyskanie
współczynnika kompresji rzędu 16, przy PSNR ok. 26-28 dB. Wzór na współczynnik
kompresji wygląda następująco:
Kr = ( Nr * n_x * n_y * T ) / ( Nr*lg2n + n * n_x * n_y * t )
lg2n - logarytm o podstawie 2 z liczby n neuronów
T, t - liczba bitów przyjętych w reprezentacji odpowiednio stopnia szarości pikseli i wag.
11. Zastosowanie sieci neuronowej jako układu kompresji danych
(struktura sieci i jej interpretacja, uczenie, pojęcie ramki, stopień
kompresji)
Zastosowanie sieci neuronowej umożliwia uzyskanie nowych rozwiązań kompresji
typu stratnego (z pewną utratą informacji) o dobrych własnościach generalizacyjnych i
stosunkowo wysokim współczynniku kompresji.
W tym celu wykorzystuje się sieć liniową o jednej warstwie ukrytej:
Liczba neuronów warstwy wejściowej = liczbie neuronów warstwy wyjściowej.
q  liczba neuronów warstwy ukrytej (q<Warstwa wejściowa i warstwa ukryta stanową właściwą kompresje danych, natomiast
warstwa wyjściowa i warstwa ukryta powodują dekompresję.
Sieć jest typu autoasocjacyjnego  wektor uczący d jest równy wektorowi wejściowemu x, a
sygnały wyjściowe sieci ^xi odpowiadają sygnałom wejściowym xi.
Kompresja  dotyczy danych podzielonych na ramki, bedące ciągiem wektorów n-
elementowych (n  liczba węzłów wejściowych).
Ramkę  stanowi prostokąt o wymiarze h pikseli w poziomie i v w pionie.
Stopnie szarości pikseli wchodzących w skład ramki tworzą składowe wektora x.
Ponieważ q<informacja ta jest reprezentowana dla zbioru danych i wystarczająca do rekonstrukcji
oryginalnych danych wejściowych z określoną dokładnością.
Sygnał warstwy ukrytej stanowią składniki główne rozkładu PCAł, stanowiące jądro
informacji [29, 82]. Liczba tych składników jest równa liczbie neuronów q w warstwie
ukrytej.
Większa liczba q odpowiada zwiększonej informacji zawartej w neuronach warstwy ukrytej,
co s kolei umożliwia wierniejsze odtwarzanie informacji wejściowej, uzyskane w wyniku
dekompresji.
13. Sieć Hamminga  struktura sieci i sposób doboru wag
Sieć Hamminga odznacza się dużą pojemnością zapamiętywanych wzorców. Jest ona siecią
dwuwarstwową. Każda z dwóch warstw tworzy podsieć o innej architekturze. Podsieć
wejściowa wyznacza odległość w sensie Hamminga między wzorcem wejściowym a każdą z
zapamiętanych klas (wagi wejściowe są metryką Hamininga dla wzorca wejściowego:
oceniają one dopasowanie tego wzorca do każdej klas). Podsieć wyjściowa ma architekturę
zbliżoną do sieci Hopfielda. Ma ona zadanie wybrać klasę najlepiej dopasowaną do wzorca
wejściowego. Charakterystyki funkcji aktywacji neuronów obydwu podsieci są
ogranicznikami twardymi lub funkcjami sigmoidalnymi.
Charakterystyka sieci:
" siec dwuwarstwowa
" każda z warstw wyznacza odległość w sensie Hamminga (liczba bitów we wzorcu
wejściowym różniąca się od liczby bitów we wzorcu zapamiętanym dla danej klasy)
odległość między wzorcem wejściowym a każdą z zapamiętanych klas
" podsieć wyjściowa zbliżona do sieci Hopfielda ma za zadanie wybrać klasę najlepiej
dopasowaną do wzorca wejściowego
" charakterystyki funkcji aktywacji są ogranicznikami twardymi (skokowe) lub funkcje
sigmoidalne
" sieć o N wejściowych i M wyjściowych może zapamiętać M wzorców
" uczenie sieci polega na zapamiętywaniu przez nią wartości wszystkich wzorcowych
wektorów wejściowych w wagach wejściowych oraz progach  neuronów warstwy
wejściowej zgodnie ze wzorem
wij = x, j = N/2
- wij  waga od i-tego wejścia (0 d" i d" N-1) do j-tego neuronu podsieci wejściowej
(0 d" j d" M-1)
-  jest progiem komórek podsieci wejściowej
- x - i-ty bit j-tego wzorcowego wektora wyjścia
Rozważmy sieć Hamminga mającą N wejść i M wyjść. Sieć taka może zapamiętać M
wzorców. Uczenie sieci polega na zapamiętaniu przez nią wartości wszystkich wzorcowych
wektorów wejściowych w wagach wejściowych oraz progach neuronów warstwy wejściowej
zgodnie ze wzorem:
wij = xij
N
q =
j
2
gdzie wij jest wagą od i-tego wejścia ( 0 d" i d" N -1 ) do j-tego neuronu podsieci wejściowej
( 0 d" j d" M -1); jest progiem komórek podsieci wejściowej;
xij jest i-tym bitem j-tego wzorcowego wektora wejściowego.
Odległość Hamminga jest to liczba bitów we wzorcu wejściowym różniąca się od liczby
bitów we wzorcu zapamiętanym dla danej klasy.
Wagom połączeń między różnymi neuronami podsieci wyjściowej nadaje się wartości
ujemne:
przy czym tkl jest wagą od neuronu k-tego do l-tego w podsieci wyjściowej. Progi neuronów
podsieci wejściowej są równe zeru. Wagi połączeń między neuronami podsieci wejściowej i
wyjściowej przyjmuje się równe 1.
Wartość wyjściowa j-tego neuronu podsieci wejściowej oznacza stopień dopasowania wzorca
wejściowego do klasy j-tej:
przy czym Mj jest wyjściem j-tego neuronu podsieci wejściowej; Fa ( ) jest funkcją aktywacji
neuronu.
Podobnie jak w modelu Hopfielda i tu zakładamy, że sygnał wejściowy do podsieci
wyjściowej służy tylko do zainicjowania iteracji, po czym przestaje być aktywny. Niech j
oznacza wyjście j-tego neuronu podsieci wyjściowej
Wówczas iteracje w podsieci wyjściowej opisuje się równaniem
przy czym 0 < k, j < M-1; n + l oznacza kolejną iteracje;
e jest pewną małą liczbą.
Kiedy podsieć wyjściowa rozpoczyna działanie, wtedy są pomijane pobudzenia od podsieci
wejściowej. Iteracje trwają tak długo, aż stan neuronów warstwy wyjściowej ustali się. Sieć
Hamminga jest próbą obejścia ograniczeń pojemności sieci Hopfielda. Każdej zapamiętanej
klasie odpowiada jeden neuron w podsieci wejściowej i jeden w podsieci wyjściowej. Tak
więc sieć ta zawiera dwa razy więcej neuronów w porównaniu z liczbą zapamiętanych klas,
czyli jej pojemność jest równa M/2.
14. Sieć RBF  struktura i zasada działania jako uniwersalnego
aproksymatora
Sieć RBF (ang. Radial Basis Functions) jest siecią jednokierunkową, w której występuje
jedynie jedna warstwa (nie więcej) ukryta składająca się z tzw. radialnych funkcji bazowych
(t.j. funkcji o symetrii kołowej).
Funkcje RBF oznaczone przez  ( x - c ) posiadają punkt symetrii we współrzędnej c
zwanym jej centrum.
x1 1(x)
1
w1 w0
.
w2 y
.
.
wk
xN
 (x)
N
K>N Mozna dostawić wyjście i struktura jest wielowymiarowa. Identyczne równanie dla
każdego wyjścia.
Dla p punktów danych  liczba k funkcji radialnych: k

k
y(x) = i (x) + w0
"wi
i=1
Podstawą teoretyczną działania sieci typu RBF jest twierdzenie Covera o separowalności
wzorców. Mówi ono, że złożony problem klasyfikacyjny  zrzutowany nieliniowo na
przestrzeń wielowymiarową może być rozdzielony za pomocą separatora liniowego z
większym prawdopodobieństwem niż przy rzutowaniu na przestrzeń o mniejszej liczbie
wymiarów.
Udowodniono, że każdy zbiór wzorców losowo rozmieszczonych w przestrzeni
wielowymiarowej jest Ć- separowalny z prawdopodobieństwem równym jeden, pod
warunkiem zastosowania odpowiednio duzego wymiaru, na który rzutowana jest ta przestrzeń
(t.j. przestrzeń generowana przez funkcje bazowe i ).
Np. dla odseparowania dwóch klas od siebie wystarcza jeden neuron liniowy wyjściowy.
RBF wykorzystuje jako funkcje aktywacji funkcję gaussowską.
- f. Gaussowska jednowymiarowa
-( x-c)2
2

f (x) = e
c - centro
  poziom szerokości (szerokość)
- f. Gaussowska wielowymiarowa
2
- ż-c
2

(ż) = e
C  wektor centralny
  szerokość (skalar)
Uczenie jako problem aproksymacji.
Dla N punktów
(i)
X " Rp,Yi " R1
{ }
znalezć funkcję spełniającą:
(i)
FW X = Yi, i =1..N
( )
Postać funkcji RBF:
K
(i)
FW X = h X - X
( )
()
"W
i
i=1
2
- ż-c
2

(ż) = e
Dobór szerokości () funkcji radialnych.
Szerokość musi być tak dobrana, aby w efekcie aproksymacji radialnej otrzymać gładkie
odwzorowanie.
Reguła p-sąsiadów:
p
1 2
 = c - ci
j " j
p
i=1
jest brane pod uwage, że centra mają na siebie nachodzić
Algorytm hybrydowy:
Dane uczące (X,d)
cj
1.Klasteryzacja danych X

j
2. Dobór wag W przy założeniu, że cj i  są znane
j
3. Korekta położeń centrów.
" Y= G "W
1 2
" T=(y-d) E= 
2
" Minimalizacja E względem  oraz 
j j
np. największego spadku
E
Cj (k +1) = C (k) -
j
C
j
E
 (k +1) =  (k) -
j j

j
" Jeśli warunek stopu niespełniony go to 2.
(dla nowych C oraz  wyznacz nowe wagi W)
j j
15. Uczenie WTA i WTM - porównanie
WTA (Winner Takes All - wygrany bierze wszystko ) i WTM (Winner Takes Most - wygrany
bierze większość ) należą do metod nauki po przez współzawodnictwo (bez nauczyciela) .
Zasada WTA : Tylko neuron zwycięski ma prawo uaktualnić swoje wagi, tzn. przysunąć się,
do wektora x(k) wejściowego . Inne neurony pozostają na swoich miejscach. Wagi
zwycięskiego neuronu mogę zostać uaktualnione w zależności od różnicy miedzy waga a
wektorem. Podczas ustalania wag, pod uwagę brany jest współczynnik uczenia. Zasada WTM
: Zmianie nie tylko wagi neuronu - zwycięzcy, ale również jego "sąsiadów", natomiast wagi
innych neuronów pozostają niezmienione. Wagi "sąsiadów" aktualizowane są z mniejszym
współczynnikiem zbieżności niż wagi neuronu zwycięskiego, ale biorą udział w procesie
aktualizacji. Zasada ta jest rozwinięciem WTA i została wprowadzona w celu zwiększenia
zbieżności uczenia się sieci.
16. Siec samoorganizująca się przez współzawodnictwo jako mapa
Kohonena
System, który miałby realizować funkcjonowanie sieci samoorganizującej powinien składać
się z kilku podstawowych elementów. Pierwszym z nich jest macierz neuronów pobudzanych
przez sygnały wejściowe. Każdy neuron w takiej macierzy musi mieć ściśle określone miejsce
w przestrzeni oraz określonych sąsiadów. Kolejną częścią składową sieci jest mechanizm,
który dla każdego neuronu określa stopień podobieństwa jego wag do danego sygnału
wejściowego czyli uczenie się sieci przez WTA bądz WTM. Wreszcie konieczne do
przeprowadzenia samoorganizacji jest, aby sieć była wyposażona w zdolność do adaptacji
wartości wag neuronu zwycięzcy i jego sąsiadów w zależności od siły, z jaką odpowiedział on
na dane wejście. Topologię sieci można w łatwy sposób określić poprzez zdefiniowanie
sąsiadów dla każdego neuronu. Załóżmy, że jednostkę, której odpowiedz na dane pobudzenie
jest maksymalna, będziemy nazywali "obrazem" tego pobudzenia. Wtedy możemy przyjąć, że
sieć jest uporządkowana, jeśli topologiczne relacje między sygnałami wejściowymi i ich
obrazami są takie same.
18. Sieć samoorganizacji poprzez współzawodnictwo  algorytmy uczące.
Celem uczenia sieci samoorganizących się przez konkurencję neuronów jest takie
uporządkowanie neuronów (dobór wartości ich wag), które zminimalizuje wartość
oczekiwaną zniekształcenia, mierzoną jako błąd popełniany przy aproksymacji wektora
wejściowego x wartościami wag neuronu zwyciężającego w konkurencji. Przy p wektorach
wejściowych x i zastosowaniu normy euklidesowej błąd ten może być wyrażony wzorem.
p
1
E = xi -Ww(i)
"
p
i=1
Ww(i) - waga neuronu zwyciężającego przy prezentacji wektora xi
Numery neuronów zwyciężających przy kolejnych prezentacjach wektorów x tworzą tzw.
książkę kodową. Stosuje się tu algorytm WTA(Winner Takes All). Po prezentacji wektora x
jest obliczana aktywność każdego neuronu. Zwycięzcą zostaje neuron o największym sygnale
wyjściowym, ma on przywilej adaptacji swoich wag w kierunku wektora x. Pozostałe
neurony nie podlegają adaptacji. Algorytmy WTA są algorytmami słabo zbieżnymi. W
praktyce zostały one zastąpione algorytmami WTA, różniącymi się między sobą przede
wszystkim postacią funkcji G(i,w).
Algorytm Kohonena
W samoorganizujących się mapach odwzorowań topologicznych Kohonena określa się
najpierw zwycięzcę stosując euklidesową miarę odległości, a następnie wartość
współczynnika adaptacji neuronów należących do sąsiedztwa zwycięscy.
G(i,x) = 1 dla d(i, w) d"  ,
0 dla pozostałych
d(i,w) - 1 odległość eukl. miedzy wektorami wag neutronu zwycięscy i neutronu i -tego
 - promień sąsiedztwa o wartości malejącej wraz z czasem uczenia
Tego typu sąsiedztwo nosi nazwę sąsiedztwa prostokątnego
Drugim typem stosowanego sąsiedztwa jest sąsiedztwo gaussowskie
2
# ś#
d (i, w)ź#
ś#
G(i, x) = expś#-
22 ź#
# #
O stopniach adaptacji neuronów z sąsiedztwa zwycięscy decyduje tu nie tylko odległość
euklidesowa neuronu i  tego od zwycięscy, ale również promień sąsiedztwa. W
przeciwieństwie do sąsiedztwa gaussowskiego (gdzie każdy neutron podlegał adaptacji w
jednakowym stopniu), przy sąsiedztwie gaussowskim stopień adaptacji jest zróżnicowany i
zależy od wartości funkcji Gaussa. Prowadzi to do znacznie lepszych rezultatów uczenia i
lepszej organizacji sieci.
Algorytm stochastycznej relaksacji
Wszystkie neurony podlegają adaptacji z prawdopodobieństwem określonym rozkładem
Gibbsa.
#
x -Wi 2 ś#
ź#
expś#-
ś# ź#
T
# #
P(i) =
2
#
n
x -Wj ś#
ź#
"expś#
ś#- ź#
T
ś# ź#
j=1
# #
T  tzw.  temperatura , podobnie jak w procesie wyżarzania
W procesie uczenia  temperaturę obniża się od wartości maksymalnej do zera, w wyniku
tego w granicy algorytm scholastyczny przekształca się w zwykły algorytm WTA.
G(i,x) = 1 dla P(i)>P,
0 dla pozostałych
P  liczba losowa z przedziału [0,1]
Przy odpowiedniej organizacji procesu uczenia i wolnym obniżaniu  temperatury algorytm
umożliwia uniknięcie pułapek minimów lokalnych i uzyskanie dobrych wyników organizacji
sieci. Ceną za to jest spowolnienie czasu uczenia.
Algorytm SCS
Modyfikacja algorytmu scholastycznej relaksacji (szybsze działanie)
G(i,w) = P(i)
1
ni(k) =
k -1
1+ (i, w)
"G j
j=1
Algorytm stał się algorytmem deterministycznym, działa skuteczniej niż alg. Scholastycznej
relaksacji, ale ma mniejszą zbieżność do rozwiązania.
Algorytm gazu neutronowego
W każdej iteracji wszystkie neurony są sortowane w zależności od ich odległości od wektora
x. Następnie ustawiane są w kolejności odpowiadającej narastającej odległości
do < d1 < d2 K < dn-1
gdzie dm = x -Wm(i) oznacza odległość i  tego neuronu zajmującego w wyniku sortowania
m-tą pozycję w szeregu za neuronem zwycięzcą
m(i)
-

G(i, w) = e
m(i) oznacza kolejność uzyskaną w wyniku sortowania, a  jest parametrem analogicznym
do promienia sąsiedztwa w algorytmie Kohonena. Przy  = 0 tylko neuron zwycięzca podlega
adaptacji i algorytm przekształca się w zwykły algorytm WTA. Współczynnik uczenia  jest
w algorytmie określany indywidualnie dla każdego neuronu i przyjmuje wartości również
malejące w czasie. Współczynnik uczenia oraz  zmieniają się według funkcji.
k k
kmax
# ś#
min kmax
ś# ź# ś# ź#
(k) = max ś# ź# (k) = i(0)# min ś#
ś#
max (0)ź#
# # # i #
Algorytm gazu neuronowego jest w praktyce najskuteczniejszym narzędziem organizacji
neuronów w sieci. Przy odpowiednio dobranych parametrach jest najlepszy spośród
przedstawionych.
19. Problem normalizacji wektorów w sieciach Kohonena
W sieciach samoorganizujących się, w których podstawą uczenia się jest konkurencja między
neuronami dochodzi zawsze do problemu wyłonienia zwycięzcy , czyli neuronu, którego
Stosowanymi w tym celu metrykami są:
1)Miara Euklidesowa
N
d(x,wi)=||x-wi||= - wij )2
"(x j
j=1
2)Iloczyn skalarny
d(x,wi)=1- x wi=1-||x|| ||wi|| cos (x,wi)
3)Miara według normy L1
N
d(x,wi)= x - wij |
"| j
j=1
4)Miara według normy L"
d(x,wi)=max | xj - wij |
Proces samoorganizacji sieci prowadzi zawsze do spójnego podziału przestrzeni danych ,
jeżeli choć jeden z wektorów x,w podlega normalizacji. Widać to na przykładzie iloczynu
skalarnego, gdzie niezastosowanie normalizacji może doprowadzić do niespójnego podziału
przestrzeni Jeżeli ||wi||=const , wtedy iloczyn ||x|| ||wi|| także jest stały i o aktywacji neuronu
decyduje cos(x,wi) , stając się wspólną miarą dla całej sieci. Dodatkowo należy zaznaczyć , że
przy normalizacji wag miara Euklidesowa i iloczyn skalarny są sobie równe. Wykazano
natomiast potrzebę normalizacji wektorów przy małych wymiarach przestrzeni. Dokonujemy
jej poprzez:
" Redefinicję składowych wektora wg. Wzoru:
xi
Xi !
N
xi2
"
i=1
" Zwiększenie wymiaru przestrzeni o jeden , przy takim wyborze składowej N+1
wektora , że:
N +1
xi2 = 1
"
i=1
Przy zwiększeniu wymiaru wektora wejściowego efekt normalizacji staje się coraz mniej
widoczny i przy dużych wymiarach (N>200) normalizacja nie odgrywa większej roli w
procesie samoorganizacji.
20. Sieć jednokierunkowa ICA - podstawowe zależności
Sieć ta jest rodzajem liniowych , samoorganizujących się sieci, wykorzystujących uogólnioną
regułę Hebba. Głównym zadaniem jest analiza składników niezależnych. Sieć
jednokierunkowa eliminuje podstawową wadę sieci rekurencyjnych. W sieci rekurencyjnej
ciężko było zachować stabilność przy separacji sygnałów , szczególnie , gdy macierz
mieszająca A była zle uwarunkowana, a sygnały zródłowe różniły się tylko pod względem
amplitudy. Schemat ogólny sieci jednokierunkowej ICA przedstawia rysunek:
Sygnały zmieszane xi(t) stanowią jedyne zródło informacji dla sieci. Dla tej sieci po
przykładowym przyjęciu jednej z reguł uczących dla sieci rekurencyjnej (np. reguły
Cichockiego) otrzymuje się zależność adaptacyjną wag zapisaną w postaci macierzowej:
dW
T
= (t)W[1- f ( y(t)[g( y(t))] ]W
dt
z warunkiem początkowym W(0)=1,mającą identyczne własności jak algorytm uczący sieci
rekurencyjnej , z której powstała. Podobnie jak w sieciach rekurencyjnych , współczynnik
uczenia (t) stanowi funkcję malejącą w czasie do zera. W praktyce powstało wiele odmian
zależności adaptacyjnej, charakteryzującymi się dobrymi własnościami przy zły
uwarunkowaniu macierzy A lub przy dużym zróżnicowaniu amplitud sygnałów zródłowych.
Można spośród nich wyróżnić
1. algorytm Cichockiego-Amari-Younga
2. algorytm opierający się na gradiencie naturalnym
3. algorytm Cardossa
21. Metody poprawy zdolności generalizacji sieci neuronowych
Generalizacja to zdolność do prawidłowego odtwarzania procesu na podstawia
informacji zawartej w wektorze wejściowym x niebiorącym udziału w uczeniu.
Po uzyskaniu struktury prawie optymalnej, można dokonać regularyzacji struktury
poprzez obcinanie wag lub neuronów ukrytych.
Metody:
 Obcinanie wag
 Obcinanie neuronów ukrytych
Obcinanie wag i neuronów ukrytych
N
U=Ł WiXi
i=0
W grupie x1-xn wszystkie mają równe znaczenie przy tworzeniu wyników (są
porównywalnej wielkości), waga decyduje o wielkości.
w1=100 x1=0.8
w2=1 x2=0.5
w3=0.01 x3=1
U=100x0.8+1x0.5+0.01x1
(ta ostatnia najmniej waży i można ją odjąć)
U=100x0.8+1x0.5
 Obcinamy wagi te, które w sposób zdecydowany są minejsze, co do modułu, od
pozostałych.
 Po obcięciu wag trzeba douczyć sieć (odcięcie jest jak psucie mózgu).
Można obciąć do 30% i poprawia to zdolności sieci.
 po odcięciu błąd uczenia rośnie do 30%
 błąd testowania maleje do 30%
obcięcie neuronów wyjściowych to ingerencja w dane (obcinamy dane niepotrzebne)
Metoda funkcji i kar
Aby zmusić sieć do minimalizacji wartości wag modyfikuje się funkcje celu o część
kary za zbyt duże wartości wag.
 modyfikacja minimalizująca wszystkie wagi
Ezm(w)=E(w)+łŁ wi, j
(funkcja zmodyfikowana) (współczynnik kary za zbyt duże wagi)
(funkcja zwykła)
min Ezm(w)
Wszystkie wagi (nawet potrzebne) są zmniejszane.
 taka modyfikacja nie zmusza duzych wag do minimalizacji:
Ezm(w)=E(w)+ łŁ[wi, j/(1+Łwi, j)]
Technika funkcji wag służy do bezpośredniej eliminacji niepotrzebnych neuronów ukrytych.
Neuron (ukryty) nie jest potrzebny, gdy:
 Zawsze odpowiada tym samym sygnałem na pobudzenie
 Zawsze odpowiada 0
Neuron ukryty pełni użyteczną funkcje, jeśli wariancja jego odpowiedzi przy różnych xi jest
duża:
k p
Ezm(w)=E(w)+ łŁ Ł e("ij)
i=1 j=1
"ij  zmiana sygnału neuronu i-tego przy pobudzeniu sieci wektorem xj
k  liczba neuronów ukrytych
e("ij)  powinno być małe przy dużych "ij
powinno być duże przy małych "ij
Typowe:
e("ij)=(1/(1+"ij ))
To, że waga jet zbyt mała nie oznacza że jest nieistotna.
Powinno się odcianć te wagi, które najmniej znaczą na wyjściu.
23. Algorytmy uczenia sieci Hopfielda - porównanie
Algorytmy uczenia sieci Hopfielda  porównanie
Sieć Hopfielda  jednowarstwowa rekurencyjna sieć autoasocjacyjna. Charakteryzuje się
brakiem sygnałów wejściowych. Uczenie sieci metodą przypisania wag bez rekurencyjnego
procesu uczącego.
Algorytmy uczące:
Algorytm Hebba
W przypadku prezentacji pojedynczego wzorca uczącego
1
wij = xixj
N
W przypadku wielu wzorców uczących x(k) dla k = 1,2,...,p, wagi wij dobierane są według
uogólnionej reguły Hebba
p
1
( k ) ( k )
wij = i
"x xj
N
k =1
Taki tryb uczenia sprawia że wagi przyjmują wartości średnie wynikające z uśrednienia wielu
próbek uczących.
Reguła Hebba jest mało efektywna i w fazie odtworzeniowej przy istnieniu szumu prowadzi
do licznych przekłamań. Pojemność sieci (liczba zapamiętanych wzorców ) wynosi około
14% przy dopuszczalnym błędzie względnym =1%.
Metoda rzutowania
Metoda oparta na założeniu ,że przy właściwie dobranych wagach każdy wzorzec x podany
na wejście generuje na wyjściu sieci samego siebie. Oznacza to w zapisie macierzowym
WX = X
gdzie W jest macierzą wag o wymiarze NxN a X macierzą kolejnych wektorów x(i) o
wymiarach Nxp. Rozwiązaniem tego układu jest
t T
W = X (X X )-1 X
po zapisaniu w postaci iteracyjnej otrzymujemy postać zależną od kolejnych wektorów p
1
(i) (i-1) (i-1) (i-1)
W = W + [W x(i) - x(i) ][W x(i) - x(i) ]T
(i-1)
[x(i) ]T x(i) - [x(i) ]T W x(i)
Zastosowanie metody rzutowania zwiększa pojemność maksymalną sieci no N-1.
Metoda rzutowania "
Metoda jest gradientową odmianą algorytmu minimalizującego odpowiednio zdefiniowanej
funkcji celu. Dobór wag odbywa się rekurencyjnie w cyklu po wszystkich wzorcach uczących
powtarzanym wielokrotnie

W ! W + [x(i) -Wx(i) ][x(i) ]T
Ż#Ż#
N
gdzie  jest współczynnikiem uczenia . W przeciwieństwie do zwykłej metody rzutowania
metoda rzutowania " wymaga wielokrotnej prezentacji wzorców Ado ustalenia się wag.
Metoda Hebba jest najsłabszą z metod uczenia sieci Hopfielda. Wykazuje ona najmniejszą
pojemność wyuczonej sieci o raz brak tolerancji na zaszumienie wzorców w fazie
odtworzeniowej.
25. Neuron sigmoidalny i perceptronowy (różnice w działaniu i uczeniu).
Sieć BAM  dobór wag, funkcja energetyczna i jej związek z odtwarzaniem.
" Neuron sigmoidalny
To neuron o funkcji aktywacji sigmoidalnej. Może być ona dwóch rodzajów:
o Funkcja sigmoidalna unipolarna
Funkcja ta jest najczęściej wykorzystywana przy budowie sieci. Opisana jest
następującym wzorem:
y=1/(1+exp(-beta*z))
Przy beta rosnącym do nieskończoności wykres pokrywa się z wykresem funkcji
progowej.
o Funkcja sigmoidalna bipolarna
Funkca jest drobnym przetworzeniem powyższej. Dzięki temu został rozszerzony przedział wartości wyjścia (-1,1): y=2/(1+exp(-
beta*z))-1
" Neuron perceptronowy
To neuron o skokowej funkcji aktywacji
o Funkcja liniowa
W przypadku tej funkcji wielkiej filozofii nie ma: suma ważona jest
bezpośrednio przepisywana na wyjście:
y=z
o 'Obcięta' funkcja liniowa
Funkcja ta zapewnia, że sygnał wyjściowy nigdy nie będzie mniejszy niż -1 ani
większy od jedynki. Dzieje się to jednak w sposób bardzo brutalny: jeżeli z<-1 to
y=-1, jeżeli z>1 to y=1, w pozostałych przypadkach y=z
" Sieć BAM
Jest to sieć, która przy nadzorowanym procesie uczenia opiera się na algorytmie
rekurencyjnym dobierania wag. BAM (ang. Bidirectional Associative Memory)
Dwukierunkowa Pamięć Asocjacyjna ( Kosko (1992), Fausett (1994));
" Dobór wag w sieci BAM
Sieć BAM nie poprzestaje weryfikacji wag w momencie gdy wartości wejściowe dotrą
do warstwy wyjściowej. Faza uczenia kończy się w momencie ustabilizowania sieci, czyli
w przypadku gdy między dwoma cyklami dobierania wag nie ma zmiany między
wartościami wejściowymi a wyjściowymi. Sieć BAM jest stosunkowo prosta i posiada
adresowaną pamięć. Używa się jej do rozpoznawania wzorców lub przy zaszumionych
lub uszkodzonych wzorcach.
" Funkcja energetyczna i jej związek z odtwarzaniem
Funkcja energetyczna jest nierosnącą funkcją dyskretnego czasu k, co powoduje, że
sieć zmienia podczas swej pracy sygnały wyjściowe w taki sposób by osiągnąć stan
odpowiadający minimum funkcji energetycznej czyli odtworzyć któryś z zapamiętanych
wzorców.
Oprócz minimów odpowiadających zapamiętanym wzorcom mogą powstać również
minima nie odpowiadające żadnemu z wzorców - tzw. minima fałszywe. Fakt ten może
spowodować, że w procesie rozpoznawania żaden z wzorców nie zostanie odtworzony
pomimo, że wszystkie wzorce zostały prawidłowo zapamiętane (wokół nich powstały
odpowiadające im minima).
1. v2 Uczenie z nauczycielem i bez nauczyciela  porównanie.
" Wstęp
Przy rozwiązywaniu konkretnych problemów z użyciem sieci neuronowych pojawia się
niezmiennie ten sam problem. Jest to kwestia doboru odpowiednich wag na wejściach
jednostek. W przypadku prostych przykładów wagi te przy użyciu odrobiny sprytu udaje się
dobierać a priori. Jednakże większe możliwości stwarza zmiana wag w trakcie obliczeń.
Wagi są wtedy zmieniane przy kolejnych iteracjach obliczeń. Proces dostrajania tych wag
określamy jako uczenie
Istnieją dwa najczęściej stosowane algorytmy nauczania sztucznych sieci neuronowych  jest
to nauczanie z nauczycielem i nauczanie bez nauczyciela (zwane też nauczaniem
nadzorowanym i nienadzorowanym).
" Uczenie z nauczycielem
W tej metodzie właściwy rezultat jest znany czyli znane są prawidłowe dane wyjściowe. Te
dane podawane są sieci, która zmieniając poszczególne wagi połączeń stara się otrzymać
wynik jak najbardziej podobny do podanego. Po treningu sieć poddawana jest testom,
podczas których sieć nie zna prawidłowych rozwiązań a podane przez nią rozwiązanie jest
porównywane z prawidłowym. Szczególnym przypadkiem tego sposobu uczenia sieci jest
uczenie ze wzmocnieniem (sygnał zwrotny niesie informację czy sygnał wyjściowy jest
prawidłowy, czy nie - sama prawidłowa odpowiedz nie jest podawana)
Przykłady: Metoda Delta
ADALINE (ADAptive LINear Element)
MADALINE (Many ADALINEs)
" Uczenie bez nauczyciela
Metoda ta jest najbardziej zbliżona do procesu uczenia mózgu człowieka, gdyż wielu
czynności mózg uczy się bez świadomego i celowego instruktażu. Tak właśnie się dzieje w tej
metodzie, którą stosujemy, kiedy cel uczenia nie jest określony przez konkretne, prawidłowe
przykłady. Jedyną informacją, która musi wystarczyć jest sama wewnętrzna struktura
sygnałów wejściowych (przykładów, przy pomocy których można wytrenować sieć). Na
podstawie wewnętrznych zależności w podanych informacjach sieć neuronowa musi stworzyć
własne kategorie i będzie rozpoznawać (klasyfikować) podane sygnały wejściowe (generując
odpowiednie sygnały na wyjściu).
Przykłady: Metoda Hebba i jej modyfikacje.
" Podsumowanie
Wybór metody uczenia sieci neuronowej zależy od postawionego problemu i początkowych
danych, które są podstawą do jego rozwiązania. Jeśli mamy zestaw danych testowych i
możemy przeprowadzić dobranie wag sieci na podstawie tych danych to stosujemy metody
uczenia z nauczycielem, natomiast w przypadku gdy nie wiemy jak sklasyfikować sygnały
wejściowe wybieramy uczenie bez nauczyciela. Metoda Hebba posiada istotną wadę
mianowicie prowadzi do procesu rozbieżnego (wagi są przez cały czas zwiększane) dlatego w
pewnych przypadkach stosuje się ją do już nauczonych sieci np. z nauczycielem w celu
zwiększenia ich możliwości adaptacyjnych, lub w rozwiązaniach hybrydowych (jedna
warstwa tak, druga inaczej).
2. v2 Neuron perceptronowy i sigmoidalny (różnice w działaniu i uczeniu)
Perceptron:
" Nieliniowa funkcja aktywacji perceptronu jest funkcją nieciągłą typu skokowego, w
związku z czym sygnał wyjściowy neuronu może przyjmować tylko dwie wartości, 0
lub 1
" Uczenie perceptronu należy do grupy uczenia z nauczycielem, polega na takim
doborze wag wij, aby sygnał wyjściowy yi był najbliższy wartości zadanej di.
" Najpopularniejszą metodą uczenia perceptronu jest zastosowanie reguły perceptronu
(jest ona szczególnym przypadkiem reguły Widrowa-Hoffa
" Cechą charakterystyczną zarówno reguły perceptronu jak i Widrowa-Hoffa jest
wykorzystywanie w uczeniu jedynie informacji o aktualnej wartości sygnału
wyjściowego neuronu i wartości zadanej.
Neuron sigmoidalny:
" Funkcja aktywacji jest ciągła i przyjmuje postać funkcji sigmoidalnej unipolarnej lub
bipolarnej (2.7), (2.8)
" Cechą funkcji sigmoidalnej jest jej różniczkowalność.
" Uczenie neuronu sigmoidalnego odbywa się zwykle w trybie z nauczycielem, przez
minimalizację funkcji celu.
" Założenie ciągłej funkcji aktywacji umożliwia zastosowanie w uczeniu metody
gradientowej. Najprościej jest przyjąć metodę największego spadku.
" Na skuteczność uczenia ma wpływ dobór współczynnika uczenia.
" Przyjmuje się go bądz jako stałą wielkość, bądz zmienianą w trakcie uczenia w sposób
adaptacyjny lub dobieraną w każdym kroku uczącym na podstawie procesu
minimalizacji kierunkowej
" Metoda gradientowa zastosowana w uczeniu neuronu gwarantuje osiągnięcie jedynie
minimum lokalnego
" Pomocne może być zastosowanie uczenia z tzw. momentem lub rozpędem. W
metodzie tej proces aktualizacji wag uwzględnia nie tylko informację o gradiencie
funkcji, ale również aktualny trend zmian wag.
" Czynnik momentu nie może całkowicie zdominować procesu uczenia, gdyż
prowadziłoby to do niestabilności.
3. v2 Równanie adaptacyjne wag w sieci przy zastosowaniu uczenia
gradientowego. Podać wzór adaptacji przy metodzie największego spadku.
W[](k +1) = W[](k) -g(w) - adaptacja wag w metodzie gradientowej największego spadku.
`
"f "Ui
Wij (k +1) = Wij (k) -[ f (ui ) - di ] = = Wij (k) -i f (ui )X
j
"Ui "Wij
 - współczynnik uczenia
i - błąd bezwzględny w i  tej próbie
`
f - pochodna funkcji aktywacji
Xj  składowa j-ta wektora i-tego X
Algorytm gradientowy kończy uczenie kiedy dojdzie do minimum lokalnego lub
globalnego. Możliwe utknięcie w minimum lokalnym (nie mamy gwarancji, że punkt
wpada w minimum globalna, a nie lokalne).
Jedną z metod poprawy efektywności jest modyfikacja metody do tzw. metody uczenia z
momentem.
`
Wij (k) -i f (ui )X
j
przyjmując
`
i f (ui )X -- "Wij (k +1)
j
`
Wij (k) -i f (ui )X +ą"Wij (k)
j
5. v2 Istota zdolności generalizacji sieci. Warunki dla uzyskania dobre
generalizacji.
Jedną z podstawowych własności sieci neuronowych jest zdolność generalizacji nabytej
wiedzy. Generalizacja ogólnie mówiąc jest to zdolność rozpoznawania danych należących do
zbioru, ale zbioru takiego na którym sieć nie była trenowana
Większość stosowanych obecnie algorytmów redukcji sieci(tym samum poprawy ich
zdolności generalizacji) może być sklasyfikowana do dwóch grup. W pierwszej grupie
estymuje się wrażliwość funkcji celu na usunięcie wagi lub neuronu. Wagi o najmniejszej
wrażliwości, dające najmniej widoczny wpływ na wartość funkcji celu, są usuwane, a proces
uczenia kontynuowany na tak zredukowanej sieci.
W drugiej grupie metod modyfikuje się funkcje celu, wprowadzając składniki kary za
nieefektywną strukturę. Najczęściej wprowadza się do definicji funkcji celu składniki
wspierające małe wartości amplitudy wag. Ta metoda jest mniej efektywna od pierwszej za
względu na to, że małe wartości wag niekoniecznie muszą oznaczać ich mały wpływ na
działanie sieci.
Metody poprawy zdolności generalizacyjnych sieci neuronowych.
-Metody wrażliwościowe redukcji sieci
Metoda ta polega na usunięci wag, które które mają mały wpływ na sygnał wyjściowy
tzn . których wrażliwość sieci na zmianę wag jest mała.
Jednym ze sposobów poprawy zdolności generalizacji sieci jest medoda
LeCuena(OBD ang. Optimal Brain Damage). Punkt wyjścia stanowi rozwinięcie funkcji celu
w szereg Taylora w otoczeniu aktualnego rozwiązania. Dla uproszczenia zadania przyjmuje
się w tej metodzie że wobec dodatniej określoności hesjanu, macierz H jest diagonalnie
dominująca. Uwzględnia się wobec tego tylko składniki diagonalne, pomijając pozostałe.
Miarą ważności danej wagi jest w OBD współczynnik Sij, zwany współczynnikiem
asymetrii.
Wagi o najmniejszej wartości współczynnika Sij, mogą ulec obcięciu bez istotnego
zaburzenia działania sieci. Procedurę OBD można przedstawić tak:
1. Pełne wytrenowanie wstępnie wyselekcjonowanej struktury sieci przy użyciu
dowolnej metody uczenia.
2. Określenie elementów diagonalnych hesjanu odpowiadającej każdej wadze i
obliczenie parametru Sij określającego znaczenie danego połączenia synaptycznego dla sieci.
3. Posortowanie wag według przypisanych im parametrów Sij i obcięcie tych, których
wartości są najmniejsze. Powrót do punktu 1 z aktualną strukturą zredukowaną sieci i
powtórzenie procesu redukcji aż do pozbycia się wag o najmniejszym wpływie na wartość
funkcji celu. Szczególnie dobre wyniki otrzymuje się dzięki powtórzeniu douczenia sieci po
obcięci najmniej znaczących wag.
Następną metoda tego rodzaju jest metoda OBS(Optimal Brain Surgeon)
Punkt wyjścia stanowi rozwinięcie funkcji celu w szereg Taylora i pominięcie składowych
pierwszego rzędu. W tej metodzie uwzględnia się wszystkie składowe hesjanu i liczy
współczynik asymetri Si .Obcięciu ulega waga o najmniejszej wartosco Si. Dodatkowym
rezultatem tego podejścia jest prosty wzór korekty wszystkich wag, sprowadzający z
powrotem stan sieci do minimum funkcji celu mimo obcięcia wagi. Metoda polega na
-przeprowadzeniu uczenia wstępnie wyselekcjonowanej struktury aż do uzyskania minimum
funkcji
-wyselekcjonowaniu wagi która ma najmniejszą wartość współczynnika wrażliwości sieci i
ocenieniu czy wartość funkcji celu towarzysząca obcięciu wagi jest dużo mniejsza niż
wartość funkcji celu przed obcięciem. Jeśli tak jest waga ulega obcięciu w i dokonuje się
korekcji pozostałych wag po czym znowu następuje wyselekcjonowanie wagę o
najmniejszym celu itd w przeciwnym razie zakańcza się obcinanie.
Metody redukcji sieci z zastosowaniem funkcji kary
Jest to metoda, która również polega na redukcji wag. Polega ona na takiej organizacji
uczenia, która wymusza samoczynne zmniejszanie wartości wag I w rezultacie pozwala na
eliminacje tych, których wartość spadła poniżej pewnego progu. W odróżnieniu od metod
wrażliwościowych, w metodach tych modyfikuje się samą funkcję celu w taki sposób, aby
proces uczenia samoczynnie minimalizował wartości wag, aż do osiągnięcia pewnego progu,
poniżej którego przyjmuje się wartość wagi równą zeru.
Metody rozbudowy sieci
Jest to przeciwny kierunek działań polega na starcie z minimalną(zwykle zerową)
liczbą neuronów ukrytych i stopniowym ich dodawaniu aż do uzyskania dobrego stopnia
wytrenowania sieci. Proces uczenia jest połączony zwykle z częściowym sprawdzaniem
zdolności generalizacji sieci w procesie uczenia. Taki kierunek jest stosowany w algorytmie
kaskadowej korelacji Fahlmana
Dobór próbek uczących
W tej metodzie kładzie się nacisk na odpowiednie dobranie próbek uczących.
Omawiając zdolności generalizacyjne sieci neuronowej nie sposób pominąć wpływu długości
uczenia na stopień ich uzyskania. Przebieg błędu uczenia malej monotonicznie z liczbą
iteracji, podczas gdy błąd generalizacji maleje tylko do pewnego momentu, a potem zaczyna
rosnąć.
Wprowadzenie szumu do wzorców uczących
Gdy określona jest minimalna architektura sieci poprawę zdolności można uzyskać
poprzez specjalne przygotowanie zbioru wzorców uczących. Chodzi ot żeby tak dobrać te
wzorce aby podobne sygnały wejściowe generowały podobne odpowiedzi, nawet gdy nie
wchodziłyby w skład wzorców uczących. W tym celu do wzorców uczących wprowadza się
zaszumienie.
8. v2 Siec PCA w układzie kodowania i dekodowania sygnałów
Transformacja PCA zamienia dużą ilość informacji zawartą skorelowanych ze sobą danych
wejściowych w zbiór składników statystycznie niezależnych według ich ważności. Stanowi
zatem firmę kompresji stratnej.
Transformacja PCA jest ściśle związana z rozkładem macierzy korelacji według wartości
własnych. Z punktu widzenia statystycznego transformacja określa zbiór wektorów
ortogonalnych (kolejne wiersze macierzy W) mających największy wkład w wariancję
danych wejściowych. Celem algorytmów PCA jest określenie kierunków w1,& ,wk zwanych
głównymi wektorami własnymi maksymalizując E(||wiTx||2).
Rekonstrukcja wektora wejściowego x na podstawie wektora y i macierzy ortogonalnej W
odbywa się zgodnie z zależnością
x=WTy
Dokonując reprezentacji danych tylko za pomocą jednego składnika głównego oraz
skojarzonego z nim wektora własnego i wybierając jako reprezentanta największy ze
składników głównych y1, popełnia się najmniejszy błąd rekonstrukcji, maksymalizując
jednocześnie wariancję transformacji. Najmniej znaczący składnik główny ma najmniejszy
wpływ na dokładność odtworzenia danych. Kompresja danych wymaga reprezentowania tych
danych poprzez zbór największych składników głównych.
Transformacja PCA pozwala określić korelacje zachodzącą między wieloma zmiennymi w
zbiorze. Jeśli zmienne są skorelowane ze sobą znajomość jedynie części z nich wystarczy do
określenia pozostałych.
Główne zastosowanie transformacji PCA dotyczy kompresji danych. Duża ilość informacji
jest zastępowana ich zmniejszoną dawką zawartą w wektorach y i wi. W zależności od stopnia
kompresji (liczby składników głównych) można uzyskać różną jakość danych odtworzonych.
19. v2 Problem normalizacji wektorów w sieciach Kohonena
Problem normalizacji wektorów Kohonena dotyczy procesu uczenia w sieciach
samoorganizujących się (np. Kohonena). Samoorganizacja sieci Kohonena polega na
konkurencji neuronów na podstawie miary odległości wektora wag wi od wektora
wejściowego x na podstawie wybranej metryki. Modyfikowane są wagi neuronu
zwycięskiego i jego sąsiedztwa. Jako metryki stosuje się najczęściej: miarę euklidesową,
iloczyn skalarny, miarę według normy L1 lub L". W przypadku niektórych miar, np. iloczynu
skalarnego może zaistnieć sytuacja, iż przestrzeń danych zostanie w procesie samoorganizacji
podzielona niespójnie, tzn. w pewnych regionach znajdzie się po kilka neuronów, w innych
zaś nie będzie żadnego. Wykazano, że jeśli w ciągu wektorów uczących lub wagowych
występuję choć jeden wektor znormalizowany taki że ||x||=1, to przestrzeń danych zostanie
podzielona w sposób spójny.
Normalizacja wektorów odbywa się w dwojaki sposób:
a) poprzez redefinicję składowych wektora x, w taki sposób, że: (1)
b) zwiększenie wymiaru przestrzeni o 1 (RNRN+1), przy takim wyborze składowej
N+1, że (2). Zwykle zachodzi tu konieczność wcześniejszego przeskalowania wektora
x w przestrzeni RN, aby możliwe było spełnienie
x1(t)
równania (2).
w1
N
xi
w2
y1(t)
x1! (1) xi2 =1 (2)
"
N
"
i=1
xi2
"
(...)
i=1
wn
Stosując znormalizowane wektory uczące x wektory
wagowe automatycznie podążają za nimi stając się
w1
również znormalizowanymi. Jednakże normalizacja
w2
y2(t)
x2(t)
wektora wagowego powoduje, że jeśli ||wi||=const,
"
wtedy dla wszystkich neuronów iloczyn ||x|| ||wi|| jest
(...)
także stały przy określonej wartości x. O aktywacji
wn
(...)
(...)
neuronu decyduje więc cos(x,wi), stając się wspólną
w1
miarą dla całej sieci. Zaznaczmy, że przy normalizacji
yn(t)
w2
wektora wi miara euklidesowa i iloczyn skalarny są
"
sobie równe, gdyż ||x-w||2=||x||2-||wi||2-2xTwi. Stąd
(...)
min||x-wi||=max(xTwi) przy ||wi||=const.
xn(t)
wn
Ponadto normalizacja wektorów odgrywa praktyczną
rolę przy mniejszych wymiarach N przestrzeni danych
Schemat jednokierunkowej sieci ICA
np N=2, 3 itp. Wraz ze wzrostem wymiaru przestrzeni
maleje znaczenie normalizacji i przy N>200 nie ma ona
już praktycznego wpływu na proces samoorganizacji sieci.
20. v2 Sieć jednokierunkowa ICA - podstawowe zależności
Sieć jednokierunkowa ICA Independent Component Analysis  podstawowe zależności 
Została ona opracowana na podstawie rekurencyjnej sieci ICA Heraulta-Juttena, należy do
klasy sieci samoorganizujących się, asocjacyjnych. ICA może służyć do separacji sygnałów
niezależnych zmieszanych z zależnością określoną w macierzy Anxn. Jedynym zródłem
informacji sieci jest wektor xi(t). Dane przetworzone przez układ wag wij tworzą wektor
wyjściowy y, określony y=Wx, macierz WTRNxN, jest macierzą pełną. Przy takim rozwiązaniu
sieć jednokierunkowa jest równoważna sieci ze sprzężeniem zwrotnym, jeśli W=(t+1)-1,
gdzie t  macierz wag sieci rekurencyjnej. Po przekształceniach matematycznych i
uwzględnieniu zmodyfikowanej reguły Cichockiego algorytm uczący przyjmuje postać:
dW/dt=(t)W[1-f(g(t)[g(y(t))]T)]W, z warunkiem początkowym W(0)=1. (t) jest to
współczynnik uczenia zwykle w postaci funkcji wykładniczej malejącej w czasie do 0 o
wzorze:
(t)=Ae-t/. Z matematycznego punktu widzenia proces doboru wag sieci jednokierunkowej
ICA jest tożsamy z procesem sieci rekurencyjnej. Powyższy algorytm ma właściwości
identyczne jak algorytm uczący sieci ze sprzężeniem zwrotnym. W takiej sieci wagi neuronu
odpowiadającego słabym sygnałom przyjmują duże wartości i odwrotnie, co w rezultacie
pozwala osiągnąć zrównoważoną amplitudę sygnałów wyjściowych. Sieć jednokierunkowa
eliminuje nakłady obliczeniowe wymagane w sieciach rekurencyjnych do inwersji macierzy
w każdym kroku, jest odporna na zle uwarunkowane macierze A, oraz na duże zróżnicowanie
amplitud sygnałów wejściowych.


Wyszukiwarka


Podobne podstrony:
Sieci1
Sieci1
Sieci1 7
Sieci1

więcej podobnych podstron