Wykłady Sieci Neuronowe(1), uczenie maszynowe, sieci neuronowe


1. Proszę omówić budowę neuronu biologicznego

Komórka neuronowa poprzez swoje dendryty odbiera sygnały elektryczne pochodzące od synaps (końcówki transmitujące impulsy) innych komórek. Sygnały mogą być pobudzające i hamujące. Jeżeli potencjał elektryczny ma odpowiednią wartość (jest wystarczająco ważny), komórka sama generuje sygnał elektryczny i poprzez własne synapsy przekazuje go innym neuronom. W ludzkim mózgu jest ok. 10 ^ 11 neuronów i ok. 10 ^15 połączeń.

2. Proszę przedstawić model neuronu McCullocha-Pittsa

0x08 graphic

Sygnały wej xi, gdzie i= 1, 2,...,n, mają wartość 1 lub 0, zależnie od tego, czy w chwili k impuls wej pojawił się,, czy nie. Sygnał wyj.- y. Reguła aktywacji neuronu :

0x01 graphic

k= 0,1,2,... oznacza kolejne momenty czasu,

Wi multiplikatywną wagą przypisaną połączenia wej i z błoną neuronu. pomiędzy chwilami k oraz k +1 upływa jednostkowy czas opóźnienia, ze Wi=+1 dla synaps pobudzających, a Wi =-1 dla synaps hamujących oraz T jest wartością progową poniżej której neuron nie zadziała.

Przy dobrym doborze wag i progów można zrealizować funkcje logiczne NOT, OR AND NOR lub NAND, Przykłady realizacji trójwejściowych bramek NOR i NAND za pomocą, modelu neuronu McCullocha Pittsa

NOR

0x08 graphic

NAND

0x08 graphic

Model ten jest punktem wyjścia do konstrukcji najprostszej jednokierunkowej sieci neuronowej o nazwie perceptron. Model ten powstał w 1943 roku. Jako funkcję progową w tym modelu przyjmuje się funkcje jednostkową f(x)={1 dla x >=0 ; 0 dla x< 0}, funkcję bipolarną f(x)={1 dla x >=0 ; -1 dla x< 0} .Obecnie wykorzystuje się funkcje sigmoidalne f(x) = 1/1+e^-Bx gdzie b > 0, lub tangens hiperboliczny f(x)= tgh(ax/2) a>0. Pozwala to podzielić N-wymiarową płaszczyznę wektorów wejściowych na dwie półpłaszczyzny. Tzn. zakwalifikować sygnał wejściowy do jednej z dwóch grup.

4. Proszę wyjaśnić bezcelowość tworzenia wielowarstwowych liniowych sieci

Stosując liniowe sieci neuronowe nie uzyskamy korzyści z budowy sieci wielowarstwowej,

bo będzie miała takie same właściwości jak sieć jednowarstwowa. Jeżeli odwzorowanie dla

sieci jednowarstwowej zapiszemy w postaci Y = Wk * X gdzie Wn jest macierzą wag neuronu, a X jest wektorem sygnałów wejściowych. A następnie wynik tego odwzorowania wprowadzimy na drugą warstwę neuronów U=Wm*Y co w wyniku daje --> U=Wk*Wm*X stosując rachunek macierzowy otrzymamy U= Wkm *X gdzie Wkm jest iloczynem wektorowym oznacza to że związek pomiędzy U a X jest nadal odwzorowaniem liniowym niczym istotnym nie różniącym się od odwzorowania dla sieci jednowarstwowej.

  1. Proszę narysować jednokierunkową jednowarstwową sieć neuronową o binarnych funkcjach aktywacji, mając następujące dane:

0x01 graphic
0x01 graphic
0x01 graphic

0x01 graphic

6. Proszę wyjaśnić na czym polega uczenie z nauczycielem i bez nauczyciela.

UCZENIE Z NAUCZYCIELEM

Uczenie z nadzorem lub inaczej - z nauczycielem zwane również uczeniem metodą wstecznej propagacji błędów pokazuje iż pierwszą czynnością w procesie uczenia jest przygotowanie dwóch ciągów danych:

- uczącego

- weryfikującego.

Ciąg uczący jest to zbiór danych, które charakteryzują dany problem. Jednorazowa porcja danych nazywana jest wektorem uczącym. W jego skład wchodzi wektor wejściowy czyli te dane wejściowe, które podawane są na wejścia sieci i wektor wyjściowy czyli takie dane oczekiwane, jakie sieć powinna wygenerować na swoich wyjściach. Po przetworzeniu wektora wejściowego, nauczyciel porównuje wartości otrzymane z wartościami oczekiwanymi i informuje sieć czy odpowiedź jest poprawna, a jeżeli nie, to jaki powstał błąd odpowiedzi. Błąd ten jest następnie propagowany do sieci ale w odwrotnej niż wektor wejściowy kolejności (od warstwy wyjściowej do wejściowej) i na jego podstawie następuje taka korekcja wag w każdym neuronie, aby ponowne przetworzenie tego samego wektora wejściowego spowodowało zmniejszenie błędu odpowiedzi. Procedurę taką powtarza się do momentu wygenerowania przez sieć błędu mniejszego niż założony. Wtedy na wejście sieci podaje się kolejny wektor wejściowy i powtarza te czynności. Po przetworzeniu całego ciągu uczącego (proces ten nazywany jest epoką) oblicza się błąd dla epoki i cały cykl powtarzany jest do momentu, aż błąd ten spadnie poniżej dopuszczalnego. Jeżeli mamy już nauczoną sieć, musimy zweryfikować jej działanie. . Do tego używamy ciągu weryfikującego, który ma te same cechy co ciąg uczący tzn. dane dokładnie charakteryzują problem i znamy dokładne odpowiedzi. . Dokonujemy zatem prezentacji ciągu weryfikującego z tą różnicą, że w tym procesie nie rzutujemy błędów wstecz a jedynie rejestrujemy ilość odpowiedzi poprawnych i na tej podstawie orzekamy, czy sieć spełnia nasze wymagania czyli jak została nauczona.

UCZENIE BEZ NAUCZYCIELA.

Sieci neuronowe mogą być uczone bez udziału nauczyciela za pomocą metody hebbian learning.

Zasada polega na tym, że waga wi(m) i- tego wejścia m- tego neuronu wzrasta podczas prezentacji j-tego wektora wejściowego X(j) proporcjonalnie do iloczynu i-tej składowej sygnału wejściowego xi(j) docierającego do rozważanej synapsy i sygnału wyjściowego ym(j) rozważanego neuronu. Zapisując to wzorem, otrzymujemy:

0x01 graphic
, przy czym 0x01 graphic

indeksy oznaczają:

  1. numer składowej części wektora wejściowego,

  1. numer kolejny pokazu (prezentacji) wektora wejściowego

m- numer kolejny neuronu

Tak więc np. wzmocnieniu podlegają te wagi, które, które są aktywne (wartość xi(j) jest duża) w sytuacji, gdy „ich” neuron jest aktywny (wartość ym(j) jest duża).

Inaczej mówiąc, jeżeli przy pierwszej prezentacji któryś z neuronów zasygnalizuje pewne pobudzenie, to w miarę zwiększania ilości prezentacji sygnalizacja przez ten właśnie neuron będzie coraz wyraźniejsza.

Tego typu sieć potrafi grupować przychodzące bodźce w kategorie, ponieważ neuron wytrenowany dla określonego sygnału X, potrafi również rozpoznać sygnały podobne do niego.

Uczenie z nauczycielem i bez nauczyciela

Z nauczycielem

0x08 graphic

przy nowych danych wej nauczyciel podpowiada pożądaną| odpowiedz d odległość p(d,y) pomiędzy rzeczywistą a pożądaną odpowiedzią sieci jest miarą błędu używana do korekcji parametr6w sieci. Zestaw obrazów wej i wyj w czasie nauki nazywamy zbiorem uczącym jest realizacją procesu przypadkowego i procedura minimalizacji błędu musi uwzględnić jego własności statystyczne

Bez nauczyciela

0x08 graphic

sieć musi się uczyć poprzez analizę reakcji na pobudzenia. Samo uczenie może doprowadzić do znalezienia granic pomiędzy klasami obrazów wej rozmieszczonych w skupiskach lub bez. .Regułą adaptacji jest zasada, ze obraz dodawany jest do tego skupiska-do centrum którego leży najbliżej.

7. Proszę opisać koncepcję przyrostowego samouczenia.

Przyrostowe samouczenie polega na uzależnieniu procesu zmiany wag od przyrostów sygnałów wejściowych na synapsie i wyjściowych, na danym neuronie:

w(m)(j+1)= wi­(m)(j)+η[(xi(j)- xi(j-1))( y(j)- y(j-1))]

W niektórych wypadkach ta przyrostowa strategia daje znacznie lepsze rezultaty niż „czysty” algorytm Hebba.

8. Proszę wyjaśnić uczenie metodą Hebba

Jeżeli akson komórki A bierze systematycznie udział w pobudzaniu komórki B powodującym jej aktywację, to wywołuje to zmianę metaboliczną w jednej lub obu komórkach, prowadzącą do wzrostu skuteczności pobudzaniu B przez A.

Dodatnia wartość składnika korelacyjnego yixj powoduje wzrost wagi wij, i silniejszą reakcję neuronu. Nieraz trzeba przeciwdziałać nieograniczonemu wzrostowi wartości wag, gdy składnik yixj ma ciągle ten sam znak

Syg uczący to syg wuj neuronu:

r = yi = f(wit x)

przyrost wektora wagi:

0x01 graphic

każda wij zmienia się o:

Δwij = cyixj, j=1,2,......n

warunek: ustawienia wag na wartości przypadkowe z otoczenia wi = 0

Reguła Hebba polega na tym, że waga wi(m), i-tego wejścia m-tego neuronu wzrasta podczas prezentacji j-tego wektora wejściowego X(j) proporcjonalnie do iloczynu i-tej składowej sygnału wejściowego xi(j) docierającego do rozważanej synapsy i sygnału wyjściowego ym(j) rozważanego neuronu. Krótko mówiąc: algorytm modyfikowania wag opiera się na wzorze:

w(m)(j+1)= w(m)(j)+ηxi(j) y(j)

przy czym neuron może być określony jako element liniowy:

y(j)=Σni=1 w(m)(j) w(j)

Podwójne górne indeksy przy współczynnikach wagi w(m)(j) wynikają z faktu, że trzeba uwzględnić numerację neuronów, do których wagi te należą (m) oraz numerację kroków, wynikających z kolejnych pokazów.

9. Proszę omówić perceptronową regułę uczenia

Reguła perceptronowa dotyczy nauki z nauczycielem.

Sygnał uczący jest różnicą między odpowiedzią pożądaną a rzeczywistą (Rosenblatt ,1958)

def

r = di - yi

gdzie yi = sgn(wit x)

Korekcja wag odbywa się wg zależności

Δwi = c[di - sgn(wit x)]x

0x08 graphic

Jak widać reguła ta odnosi się do sieci z neuronami dyskretnymi, a w równaniu założono dodatkowo, że funkcja aktywacji jest bipolarna. Korekcja wag jest przeprowadzana tylko wtedy , gdy odwzorowanie dokonane przez neuron jest błędne , przy czym wartość błędu jest wbudowana w regułę uczenia. Oczywiście skoro pożądana odpowiedź jest równa albo 1,albo -1 algorytm dostrajania wag Δwi = c[di - sgn(wit x)]x redukuje się do wzoru:

Δwi = +- 2cx

Gdzie znak + (plus) obowiązuje, gdy di = 1 , yi = -1, znak - (minus) ,gdy jest odwrotnie.

Jak wspomniano wyżej , dla di = yi wagi pozostają bez zmian. Początkowe wartości wag mogą być dowolne.

10. Proszę omówić regułę uczenia delta

Rozpatrzymy sieć składającą się z K ciągłych neuronów:

0x08 graphic

Dla oznaczeń jak na rysunku sygnał wyjściowy wynosi

Z=Γ[Wy]

Gdzie

0x01 graphic

Γ jest nieliniowym operatorem o postaci

0x01 graphic

Błąd klasyfikacji jednego obrazu wyjściowego 0x01 graphic

Gdzie dl i zl oznaczają odpowiednio pożądane i aktualne sygnały wyjściowe gdy na wejście podano obraz yl.

Do wyznaczenia wartości wag minimalizujących błąd El zastosujemy metodę gradientową. Załóżmy, że yJ=const=-1 zarówno w fazie uczenia, jak i w fazie działania sieci oraz że wagi wkJ dla k=1,2,..,K są w czasie uczenia traktowane tak samo jak pozostałe . Przyjmując zasadę korekcji wag otrzymujemy: 0x01 graphic

Stosując wzór na pochodne cząstkowe możemy napisać0x01 graphic

Pochodna błędu po wielkości net nazywa się sygnałem błędu delta generowanym przez k-ty neuron i jest zdefiniowana następująco:

0x01 graphic
ponieważ 0x01 graphic

więc wkj=wkj+ηδzkyj k=1,2,..k j=1,2,..,J

lub stosując zapis macierzowy

Wt=W+ηδzyt, gdzie 0x01 graphic
Obliczymy teraz wartość δzk:

0x01 graphic

i ostatecznie 0x01 graphic

Podstawiając otrzymane wyrażenie do równania otrzymamy wkj'=wkj+η(dk-zk)f'(netk)yj

Dla unipolarnej funkcji aktywacji f(net)

δzk=(dk-zk)zk(1-zk)

Podobnie dla bipolarnej funkcji aktywacji f(net mamy:

δzk=(dk-zk)(1-zk2)

  1. Proszę omówić regułę uczenia Widrowda-Hoffa.

Reguła Widrowd-Hoffa odnosi się do uczenia z nauczycielem sieci neuronowych o dowolnych funkcjach aktywacji, gdyż minimalizuje błąd średni kwadratowy (ang. least mean square = LMS) pomiędzy pożądaną odpowiedzią a pobudzeniem. Sygnał uczący jest zdefiniowany jako:

0x01 graphic
(2.32)

a korekta wag ma postać:

0x01 graphic
(2.33)

Reguła ta może być uważana za szczególny przypadek reguły delta. Istotnie, dla liniowej funkcji aktywacji jej pochodna jest stała i można ją wprowadzić do stałej uczenia. Ze względu na przyjęte kryterium minimalizacji reguła ta jest zwana też regułą LMS. Wagi początkowe mogą mieć dowolne wartości.

12. Uogólniona reguła delta

Obowiązuje dla neuronów z ciągłymi funkcjami aktywacji i nadzorowanego trybu uczenia. Sygnał uczący, zwany sygnałem delta, zdefiniowany jest jako:

0x01 graphic
, gdzie f' jest pochodną funkcji aktywacji. Reguła delta daje się łatwo wyprowadzić jako wynik minimalizacji kwadratowego kryterium błędu. Wzór na korekcję wag ma postać: 0x01 graphic
0x01 graphic
, gdzie c jest przyjętą arbitralnie stałą. Wartości początkowe wag mogą być dowolne.

0x08 graphic

Uwaga: indeksy powinny być na dole czyli x1=x1

12. Proszę omówić uogólnioną regułę delta

Jest ona uogólniona na jednokierunkowe sieci warstwowe. Sygnał wyjściowy sieci dwuwarstwowej wynosi :

0x01 graphic

gdzie:

0x01 graphic

0x08 graphic

0x08 graphic

Jest to sieć dwuwarstwowa z neuronami ciągłymi.

Zakładamy że

x1=-1, vJ1= vJ2=...= vJI-1=0 vJI=1

stąd wynika że yJ=-1

Otrzymujemy wzory:

0x01 graphic
gdzie j=1,2...J-1 i=1,2...I

oraz

0x01 graphic

Sygnał błędu delta j-tego neuronu to:

0x01 graphic

ponieważ: 0x01 graphic
, i=1,2..I

otrzymujemy: 0x01 graphic
0x01 graphic

lub w postaci macierzowej:0x01 graphic

gdzie:0x01 graphic

Wartość sygnału błędu 0x01 graphic
wyraża się wzorem:

0x01 graphic

Po przekształceniach otrzymujemy:

0x01 graphic
, j=1,2...J-1

Otrzymujemy zasadę korekcji wag w warstwie ukrytej:

0x01 graphic
, j=1,2..J-1, i=1,2..I

Jest to uogólniona reguła delta. Wynika z niej że korekcja wag dochodzących do j-tego neuronu w warstwie ukrytej jest proporcjonalna do sumy ważonej wszystkie wartości δ w warstwie następnej.

0x08 graphic

Obowiązuje dla neuronów z ciągłymi funkcjami aktywacji i nadzorowanego trybu uczenia. Sygnał uczący, zwany sygnałem delta, zdefiniowany jest jako:

0x01 graphic
, gdzie f' jest pochodną funkcji aktywacji. Reguła delta daje się łatwo wyprowadzić jako wynik minimalizacji kwadratowego kryterium błędu. Wzór na korekcję wag ma postać: 0x01 graphic
0x01 graphic
, gdzie c jest przyjętą arbitralnie stałą. Wartości początkowe wag mogą być dowolne.

0x08 graphic

Uwaga: indeksy powinny być na dole czyli x1=x1

13. Proszę omówić korelacyjną regułę uczenia

Przyjmując w ogólnej regule uczenia Δwi (t)= cr[wi(t),x(t), di (t)]x(t) r = di otrzymujemy regułę korelacyjną, w której korekta wektora wag ma postać Δwi = cdix

Poprawka każdej składowej wektora wag jest tutaj proporcjonalna do iloczynu odpowiedniej składowej obrazu wejściowego i pożądanego przy tym wzorca wyjścia. Taka zasada uczenia czyni regułę korelacyjną szczególnie przydatną do zapamiętywania informacji w sieciach z neuronami binarnymi. Można też uważać tę regułę za odpowiednik reguły Hebba dla nauki z nauczycielem. Z porównania wzorów Δwi = cdix i Δwi = cyix widać, że rolę sygnału rzeczywistego yi z metody Hebba odgrywa tu sygnał pożądany di. Podczas nauki metodą korelacyjną przyjmuje się zerowe wartości początkowe wag.

14. Proszę omówić regułę uczenia WTA.

W odróżnieniu od uczenia Hebba w uczeniu konkurencyjnym tylko jeden neuron może być aktywny (przyjmuje na wyjściu stan 1), a pozostałe pozostają w stanie spoczynkowym(stan 0) - uczenie typu WTA Winner Takes All. Grupa neuronów współzawodniczących otrzymuje te same sygnały wejściowe xj. W zależności od aktualnych wartości wag sygnały wyjściowe neuronów uj =ΣWij xj różnią się między sobą. W wyniku porównania tych sygnałów zwycięża ten neuron, którego wartość uj jest największa (jego wektor wag jest najbliższy aktualnemu wektorowi uczącemu x). Neuron przyjmuje stan 1, co umożliwia mu aktualizację wag Wij dochodzących do niego według wzoru Wij( k+1)= Wij( k)+η[xj - Wij( k)]. Tak następuje adaptacja jego wag do danego wektora x. Przy podawaniu wielu wektorów zbliżonych do siebie będzie zwyciężał ten sam neuron, pozostałe neurony dopiero w wyniku zwycięstwa przy następnej prezentacji wektora wejściowego będą miały szansę na aktualizacją wag i uczenie. W efekcie takiego współzawodnictwa następuje samoorganizacja procesu uczenia. Neurony dopasowują swoje wagi w ten sposób, że przy prezentacji grup wektorów wejściowych zbliżonych do siebie zwycięża zawsze ten sam neuron. W trybie odtworzeniowym, w którym przy ustalonych wartościach wag podaje się na wejście sieci sygnały testujące, neuron przez zwycięstwo we współzawodnictwie rozpoznaje swoją kategorię (zastosowania - klasyfikacja wektorów).

15. Omówić regułę uczenia „outstar”.

Reguła gwiazdy wyjść (outstar) używa się jej do uczenia powtarzających się, charakterystycznych właściwości relacji wejście - wyjście. Wprawdzie uczenie odbywa się z nauczycielem, ale od sieci oczekuje się dodatkowo zdolności wydobywania statystycznych własności sygnałów wejściowych i wyjściowych. Korektę wag oblicza się jako *wj = β(d - wj). W odróżnieniu od wszystkich pozostałych reguł uczenia dostrajane są wagi w połączeniach rozbiegających się z wyjścia neuronu, tzn. dostraja się wektor wj = [w1j w2j ... wpj ]t .Współczynnik β jest niewielką, arbitralnie dobieraną liczbą dodatnią malejącą w trakcie uczenia. Uczenie metodą gwiazdy wyjść prowadzi do wytworzenia wymaganej reakcji na określony obraz wejściowy nawet w tedy gdy korzysta się z rzeczywistego, a nie pożądanego sygnału wyjściowego.

k=10x01 graphic

W koncepcji tej rozważa się wagi wszystkich neuronów całej warstwy, jednak wybiera się wyłącznie wagi łączące te neurony z pewnym ustalonym wejściem. W sieciach wielowarstwowych wejście to pochodzi od pewnego ustalonego neuronu wcześniejszej warstwy i to właśnie ten neuron staje się „gwiazdą wyjść” - outstar. Wzór opisujący uczenie sieci outstar jest następujący

w(m)(j+1)= w(m)(j)+η(j)(ym(j)-wi(m)(j))

Warto raz jeszcze podkreślić odmienność powyższego wzoru w stosunku do poprzednio rozważanych. Tutaj i jest ustalone (arbitralnie lub w jakiś inny sposób),natomiast m jest zmienne i przebiega wszystkie możliwe wartości (m=1,2,....,k). Reguła zmieniania η(j) jest w tym wypadku nieco inna, niż przy instar i może być dana wzorem:

η(j)=1-λj

Metoda outstar znajduje zastosowanie przy uczeniu sieci wytwarzania określonego wzorca zachowań Y w odpowiedzi na określony sygnał inicjujący xi.

16.Wyjaśnić na czym polega proces autoasocjacji.

Załóżmy, że sieć może zapamiętać pewien zbiór obrazów wzorcowych. Jeżeli takiej sieci zaprezentujemy obraz podobny do któregoś z zapamiętanych, to może ona te obrazy skojarzyć. Proces taki nazywamy autoasocjacją. Bodźcem do odtworzenia określonego wzorca jest zwykle jego zniekształcona wersja, jak to pokazano na rys. 2.16a.

0x08 graphic
obraz

wejściowy

autoasocjacja

niekompletny

kwadrat

kwadrat

Rys 216. Odpowiedz przez kojarzenie a) autoasocjacja

17. Wyjaśnić na czym polega proces heteroasocjacji.

Hetero asocjacja - kojarzenie obrazów wej (kojarzone są pary obrazów, i nawet zniekształcony obraz wej może wywołać właściwą hetero asocjację na wyj

0x08 graphic

18. Proszę przedstawić schemat blokowy klasyfikatora obrazów należących do R klas.(str. 77)

1

0x08 graphic

2

x i

R kategoria

Dyskryminatory

Jednowarstwowa sieć dyskretna klasyfikująca obrazy należące do wielu klas

Istnieją dwa sposoby sygnalizowania kategorii obrazu przez klasyfikatory. Przy tak zwanej reprezentacji lokalnej układ sygnalizuje klasę i0 poprzez wartość 1 na wyjściu i-tego neuronu i wartości -1 na wyjściach pozostałych neuronów czyli

0x01 graphic

-Reprezentacja lokalna- układa sygnalizację klas

-Reprezentacja rozproszona binarna - numer klasy jest kodowany za pomocą dowolnej kombinacji sygnałów -1,1

19. Proszę wyjaśnić pojęcia: obszary i powierzchnie decyzyjne, funkcje dyskryminacyjne.(str.76)

klasyfikator obrazów odwzorowuje punkt w n- wymiarowej przestrzeni euklidesowej En (zwanej przestrzenią obrazów) w liczby iy=1,2,...,R; są one oznaczone odpowiednio

R1,R2,... ,RR i są one nazywane obszarami decyzyjnymi. Są one oddzielone od siebie przez powierzchnie decyzyjne; w przypadku dwuwymiarowej przestrzeni obrazów En powierzchniami decyzyjnymi są linie na płaszczyźnie; w przypadku ogólnym w przestrzeni En powierzchniami decyzyjnymi są (n-1)- wymiarowe hiperpowierzchnie.

Funkcje dyskryminacyjne gi(x) obliczane są na podstawie danego obrazu wejściowego x; mają tę własność że dla wszystkich x należących do kategorii i

gi(x)> gj(x), i,j=1,2,...,R i j

Tak więc wewnątrz obszaru Ri i-ta funkcja dyskryminacyjna przyjmuje wartość największą.

Funkcje dyskryminacyjne gi(x) i gj(x) dla przylegających obszarow decyzyjnych Ri, Rj definiują powierzchnię decyzyjną pomiędzy tymi obszarami w przestrzeni En. Z własności funkcji dyskryminacyjnych bezpośrednio wynika, że równanie powierzchni decyzyjnej pomiędzy obszarami decyzyjnymi Ri i Rj ma postać

gi(x)- gj(x)=0

20. Proszę wyjaśnić na czym polega koncepcja uczenia parametrycznego.

Parametryczny - dwuetapowe (metody klasyfikacyjne), polegające na znajdowaniu wartości pewnych nieznanych wartości, następnie na wyznaczeniu na drodze analitycznej na drodze wag

21. Proszę wyjaśnić pojęcie klasyfikatora minimalno-odległościowego.

Klasyfikator mmimalnoodległościowy, klasyfikujący obrazy do R kategorii. Mamy R punktów prototypowych P1,P2,... ,PR, każdy reprezentuje inną klasę. Odległość euklidesowa pomiędzy punktem x a Pi to:

0x01 graphic

Obraz x zostaje zaliczony do klasy, który odpowiada najbliższemu Pi. Kwadrat odległości między x a Pi

0x01 graphic

Funkcja dyskryminująca:

0x01 graphic

Widać, że fun dyskryminacyjne są liniowe. Przyrównując je do postaci funkcji liniowej:

0x01 graphic

otrzymujemy wagi: wi=Pi

wi,n+1 = -1/2 Pit Pi

i=1,..R

Klasyfikator minimalnoodiegłościowy realizujący liniowe funkcje dyskryminacyjne - maszyna liniowa składa się z R węzłów obliczających iloczyny skalarne i układu wybierającego max.

0x08 graphic

0x08 graphic

Powierzchnia decyzyjna pomiędzy przylegającymi obszarami decyzyjnymi Ri Rj staje się hiperpłaszczyzną:

0x01 graphic

Wektor rozszerzony:

0x01 graphic

Funkcje można zapisać

gi(x) = wit x

i=1,..,R

22. Proszę wyznaczyć funkcje dyskryminacyjne dla maszyny liniowej, znając następujące punkty :

0x01 graphic

0x01 graphic
0x01 graphic
0x08 graphic

0x08 graphic

obliczamy funkcje dyskryminacyjne :

0x08 graphic

23.Proszę wyjaśnić pojęcie hiperpłaszczyzny obrazu.

Każdemu rozszerzonemu wektorowi obrazu x odpowiada w przestrzeni wag hiperpłaszczyzna

wtx=0

nazywana ­­HIPERPŁASZCZYZNA OBRAZU.

Hiperpłaszczyzna obrazu przechodzi przez początek układu współrzędnych prostopadle do wektora x. Dzieli ona przestrzeń wag na dwie części. Do jednej zwanej stroną dodatnią należą punkty, dla których wtx>0, do części drugiej zwanej stroną ujemną należą punkty dla których wtx<0.

25. Wyjaśnić na czym polega reprezentacja lokalna klas obrazów.

Istnieją dwa sposoby sygnalizowania kategorii obrazu przez klasyfikatory. Przy tak zwanej reprezentacji lokalnej układ sygnalizuje klasę i0 poprzez wartość 1 na wyjściu i-tego neuronu i wartość -1 na pozostałych neuronach, czyli

0x01 graphic

Reprezentacja lokalna wymaga przyjęcia liczby neuronów liczbie klas, natomiast przy reprezentacji rozproszonej liczba neuronów może być mniejsza. Reprezentacja lokalna, w przypadku sieci jednowarstwowych, wymaga, aby liniowo separowalne obszary decyzyjne miały odpowiedni kształt. Wymagane jest, aby każdy z tych obszarów można było odseparować hiperpłaszczyzną od pozostałych obszarów. Na przykład na to, aby sieć o reprezentacji lokalnej mogła klasyfikować na płaszczyźnie punkty, z których reprezentuje inną klasę, powinny się one znajdować na wierzchołkach wielokąta wypukłego; niemożliwe będzie na przykład użycie reprezentacji lokalnej do sygnalizacji czterech klas reprezentowanych przez punkty (1,1),(5,1),(3,3),(3,5). W przypadku reprezentacji binarnej wymagane jest przyjęcie kodowania realizowanego geometrycznie - niemożliwe będzie na przykład zastosowanie do czterech klas reprezentowanych przez punkty (2,2),(2,4),(4,2),(4,4) reprezentacji odpowiednio 01, 00, 10, 11. Realizowaną reprezentacją otrzymamy przyporządkowując np. punktowi (2,2) sygnały 00, a punktowi (2,4) sygnały 00, a punktowi (2,4) sygnały 01.

26. Proszę podać przykład obrazów liniowo separowalnych i liniowo nie separowalnych

Żądamy aby klasyfikator realizował funkcję XOR

( wartość-1 na wyjściu punktom [0 0] i [1 1] na wejściu i wartość 1 punktom [0 1] i [1 0] )

Schemat klasyfikatora

0x08 graphic

0x08 graphic

0x08 graphic

Arbitralnie ustalony podział

-2x1 + x2 - ½ = 0 x1 - x2 - ½ = 0

Jednostkowe wektory normalne

r1 = 1 [ -2 ] r2 = 1 [ 1 ]

0x08 graphic
0x08 graphic
√5 1 √2 -1

y1 = sgn(-2x1 + x2 - ½ ) y2 = sgn(x1 - x2 - ½)

Odwzorowanie realizowane przez dwie pierwsze warstwy klasyfikatora

Obraz

Współrzędne w przestrzeni obrazów

x1 x2

Współrzędne w przestrzeni odwzorowań

y1 y2

Współrzędne w przestrzeni wyjść

z

Numer

klasy

A

B

C

0 0

0 1

1 0

-1 -1

1 -1

-1 1

-1

1

1

2

1

1

D

1 1

-1 -1

-1

2

Arbitralnie wybrana linia decyzyjna

y1 + y2 +1=0

z= sgn(y1 + y2 +1)

Zbiór uczący

x1=1 x3=3 -klasa 1

x2=-0.5 x4=-2 -klasa 2

Dla bipolarnej funkcji aktywacji

1 2

0x08 graphic
0x08 graphic
Ek= 2 [ dk - [ 1 + exp(-netk) -1]]2

0x08 graphic
2

E1 (w)= [ 1 + exp(w1 + w2) ]2

0x08 graphic
2

E2 (w)= [ 1 + exp(0.5w1 + w2) ]2

0x08 graphic
2

E3 (w)= [ 1 + exp(3w1 + w2) ]2

0x08 graphic
2

E4 (w)= [ 1 + exp(2w1 + w2) ]2

27. Proszę przedstawić algorytm wstecznej propagacji błędu dla sieci dwuwarstwowej

Dane jest p par uczących

0x01 graphic
{x1,d1,x2,d2,...,xp,dp},

gdzie xi ma rozmiar I x 1,di ma rozmiar K x 1, a xiI=-1, i=1,2,...,p. Wektor yi o wymiarze (J x 1) jest wektorem wyjściowym warstwy ukrytej, a yiJ=-1,i=1,2,..,p.

Wektor z o wymiarze K x 1 jest wektorem wyjściowym warstwy wyjściowej.

Parametr l oznacz numer kroku wewnątrz cyklu uczenia.

KROK 1: Wybór0x01 graphic
0, Emax> 0.

KROK 2:Wybór elementów macierzy wag W i V jako niewielkich liczb losowych. Macierz W ma rozmiar K x J , macierz V ma rozmiar J x I.

KROK 3:Ustawienie wartości początkowych licznika kroków oraz zerowanie

błędu

l0x01 graphic
1, E0x01 graphic
0.

KROK 4:Podanie obrazu na wejście (obrazy mogą być też podawane w kolejno-

ści losowej) i obliczanie sygnału wyjściowego

x0x01 graphic
xl, d0x01 graphic
dl,

yi0x01 graphic
f (V0x01 graphic
x), j=1,2,..., J-1,

gdzie v0x01 graphic
jest j-ym wierszem V,

zk0x01 graphic
f (w0x01 graphic
y), k=1,2,...,K,

gdzie w0x01 graphic
jest k-tym wierszem W.0x01 graphic

KROK 5: Uaktualnianie błędu

E0x01 graphic
E+0x01 graphic
0x01 graphic
-zk)2

KROK 6:Obliczanie wektorów sygnałów błędów 0x01 graphic
i 0x01 graphic
obydwu warstw. Wek

tormaximum record size = 21 record size = 16777220 0x01 graphic
ma wymiar K x 1, a wektor0x01 graphic
ma wymiar J x 1.Dla bipolarnej funkcji

aktywacji

0x01 graphic
=0x01 graphic
(dk-zk)(1-zk2), k=1,2,...,K,

0x01 graphic
=0x01 graphic
(1-yj2)0x01 graphic
0x01 graphic
, j=1,2,...J-1.

Dla unipolarnej funkcji aktywacji

0x01 graphic
=(dk-zk)zk(1-zk), k=1,2,...,K,0x01 graphic

0x01 graphic
=yj(1-yj)0x01 graphic
0x01 graphic
, j=1,2,...,J-1.

KROK 7: Uaktualnianie wag warstwy wyjściowej

0x01 graphic
0x01 graphic
0x01 graphic
+0x01 graphic
yj , k=1,2,...,K j=1,2,...,J.

KROK8: Uaktualnianie wag warstwy ukrytej

0x01 graphic
0x01 graphic
0x01 graphic
+0x01 graphic
xi , j=1,2,...,J-1, i=1,2,...I.

KROK 9: Jeżeli l < p, to p0x01 graphic
l+1 i przejście do kroku 4.

KROK 10: Cykl uczenia został zakończony. Jeżeli E<E max, to zakończenie uczenia ; w przeciwnym razie rozpoczęcie nowego cyklu przez przejście do kroku 3. 0x01 graphic

28. Kryteria oceny sieci neuronowych o ciągłych i dyskretnych funkcjach aktywacji

odp. (krótka) błędy uczenia

odp. (długa)

Kryterium oceny sieci neuronów o ciągłych funkcjach aktywacji stanowią dwie def. błędu:

0x01 graphic

po wszystkich „p” obrazkach uczących

0x08 graphic
0x01 graphic

Błąd ten opisuje zmiany jakości działania sieci w procesie uczenia.

0x01 graphic

Kryterium oceny sieci neuronów z dyskretnymi funkcjami aktywacji jest:

0x01 graphic

gdzie Nb jest liczbą wyjść neuronów generujących błędne sygnały wyjściowe, zliczoną dla wszystkich obrazów uczących.

29. Proszę wyjaśnić przyrostowe i kumulacyjne uaktualnianie wag

W metodzie propagacji wstecznej oblicza się gradient błędu wyrażony wzorem:

0x01 graphic

gdzie dl i zl oznaczają odpowiednio pożądane i aktualne sygnały wyjściowe

i dokonuje się korekty wag każdorazowo po podaniu kolejnego wektora uczącego.

Takie postępowanie nosi nazwę PRZYROSTOWEGO UAKTUALNIANIA WAG.

Możliwe jest inne postępowanie w którym oblicza się gradient błędu łącznego danego wzorem

0x01 graphic

i dokonuje się korekty wag raz na jeden cykl tzn. po podaniu wszystkich obrazów uczących. Jest to wówczas KUMULACYJNE UAKTUALNIANIE WAG.

Efektywność obu metod jest zależna od rozwiązywanego problemu, ale uaktualnianie przyrostowe jest bardziej efektywne od kumulacyjnego.

Ponieważ gradient błędu łącznego jest sumą gradientów błędów dla poszczególnych obrazów kumulacyjne uaktualnianie wag można realizować obliczając poprawki wag po każdym obrazie uczącym, ale bez dokonywania ich zmiany. Zmiana wag jest dokonywana dopiero po całym cyklu znaczącym, czyli po podaniu wszystkich wzorców według reguły

0x01 graphic

Gdzie Wl jest wektorem korekcji wag po podaniu wektora uczącego

30.Proszę wyjaśnić, jak współczynnik nachylenia w sigmoidalnej, bipolarnej funkcji aktywacji wpływa na szybkość uczenia sieci

Funkcja aktywacji neuronu ƒ(net) charakteryzuje się współczynnikiem nachylenia λ. Pochodna funkcji aktywacji ƒ'(net), która stanowi współczynnik krotnościprzy wyznaczaniu sygnałów błędu &z i &y także jest zależna od λ. Tak więc zarówno wybór jak i kształt funkcji aktywacji ma duży wpływ na szybkość uczenia sieci.

Pochodna bipolarnej funkcji aktywacji (2.3a) względem zmiennej net

0x08 graphic
ƒ'(net) = 2 λexp(-λnet)

[1 + exp(-λnet)]2

0x08 graphic

Rys. 1 Pochodna funkcji aktywacji dla różnych wartości współczynnika λ

została przedstawiona na Rys.1 dla kilku wartości λ.Osiąga ona maksymalną wartość równą λ /2 dla net=0. Ponieważ wagi ustawione są proporcjonalnie do wartości ƒ'(net), najbardziej korygowane są wagi połączone z neuronami, na których wejściach łączny sygnał wejściowy net jest bliski zera, czyli wagi neuronów generujących sygnały wejściowe bliskie zera podlegają znacznie większej zmianie niż wagi neuronów znajdujących się w stanie nasycenia. Także transmitowane wstecz sygnały błędu są największe, gdy pochodzą od neuronów o pobudzeniach łącznych net bliskich zera.

Inną własnością wynikającą z rysunku jest to że przy ustalonym współczynniku korekcji η, wszystkie wagi korygowane są proporcjonalnie do współczynnika nachylenia λ. Wynika stąd, że wybór dużych wartości λ może prowadzić do podobnych rezultatów jak przyjęcie dużych wartości η . W związku z tym rozsądny jest wybór jakiejś standardowej wartości λ np. 1 , i wpływanie na szybkość zbieżności wyłącznie przez współczynnik η.

31. Proszę wyjaśnić i omówić metodę momentu.

0x01 graphic

dla 0x01 graphic
rozwiązanie równania różniczkowego jest następujące

0x01 graphic

zakładając że 0x01 graphic
szczególny przypadek gdy wielkość gradientu jest stała

32. Proszę wyjaśnić pojęcia: sieci progowe, sieci interpolacyjne.

0x01 graphic

0x01 graphic

0x01 graphic

Schemat pamięci asocjacyjnej

0x01 graphic

Sieci progowe

0x01 graphic
gdzie 0x01 graphic
jest niewielkim błędem

Sieci interpolacyjne

0x01 graphic
gdzie 0x01 graphic
gdy 0x01 graphic

0x01 graphic

Pamięci adresowane zawartością :

33. Proszę krótko omówić asocjator liniowy.

Zadaniem pamięci asocjacyjnej jest przechowywanie p par wektorów {x(i) ,y(i) }, i=1,2,...,p. W pamięciach liniowych sygnał wyjściowy jest dany równaniem y=Wx, w którym x, y są wektorami o odpowiednio n i m składowych, a W jest macierzą o rozmiarach m x n . W ten sposób nieliniowe odwzorowanie zostało zredukowane do odwzorowania nieliniowego i dlatego pamięć nazywa się liniową. Ponieważ w odwzorowaniu nie występują nieliniowe funkcje aktywacji, więc czasami w celu uzyskania zgodności z ogólną postacią sieci neuronowej wprowadza się sztuczne funkcje aktywacji o postaci f(net)=net. Asocjator liniowy jest siecią interpolacyjną, a nie progową.

W asocjatorze liniowym należy zapamiętać pary wektorów {s(i), f(i)}, i=1,2,...p , oznaczające odpowiednio wektory wejściowe i wyjściowe, gdzie: s(i)=[s(i)1 , s(i)2 , ... s(i)n] f(i)=[f(i)1, f(i)2 , ... ,f(i)n] i=1,2, ... p.

Zaprojektowanie asocjatora liniowego sprowadza się do dobrania macierzy wag W we wzorze y=Wx w celu przekształcenia f(i) - η(i) = Ws(i) i=1,2,...,p, zapewniającego możliwe dobre odwzorowanie wektorów s(i) w wektory f(i) ,czyli minimalizującego wyrażenie ∑iη(i). Wektor η(i) nazywany jest przesłuchem wektorowym. Zadanie znalezienia optymalnej macierzy wag W jest rozwiązywane metodami regresji matematycznej. Do wyznaczenia macierzy W zastosujemy regułę Hebba. Dla tej reguły korekcja wagi pomiędzy i-tym węzłem wyjściowym i j-ym węzłem wejściowym wynosi w'ij=wij+fisi i=1,2, .. m j=1,2,...n (1) gdzie fi i sj są i-tą i j-tą składową wektorów f i s tworzących asocjację, a wij i w;ij oznaczają elementy macierzy wag przed korekcją i po niej. Zapisując wzór (1) w postaci macierzowej oraz wprowadzając wskaźniki oznaczające numer kroku iteracyjnego mamy Wk=Wk-1 + f(k) s(k)t gdzie f(k) i s(k) oznaczają k-te asocjacje. Przyjmując W0=0 i wykonując p kroków interacyjnych, otrzymujemy W=Wp=∑p f(k)s(k) t (2) lub W=FSt (3) gdzie F= [ f(1) f(2) ... f(p)],

k=1 def def

S=[s(1) s(2) ... s(p)]. p

Podstawiając wzór 1 i 2 i przyjmując że na wejście sieci podano wektor wzorcowy s(j) otrzymujemy y=(∑ f(k)

k=1

s(k) t) s(j) i następnie rozwiązując sumę mamy : y= f(1) s(1) t s(j) + ... + f(j) s(j) t s(j) +...+ f(p) s(p) t s(j) (4). Idealne odwzorowanie wymaga, aby y=f(j) (5) . Porównując wzory 4 i 5 widać że warunkiem idealnego odwzorowania jest aby wzór wektorów {s(1) , s(2) , ...,s(p)} był układem ortonormalnym.

34. Proszę na rysunku przedstawić model sieci Hopfielda (wymienić zakładane ograniczenia dla wag)

W sieci tej neurony mają nieliniowe charakterystyki:

0x01 graphic

gdzie

0x01 graphic

a nieliniowość 0x01 graphic
dana jest prostą binarną funkcją

0x08 graphic
1 gdy 0x01 graphic

0x01 graphic
0x01 graphic
gdy 0x01 graphic

-1 gdy 0x01 graphic

.

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
y1 y2 yk

0x08 graphic
0x08 graphic
0x08 graphic
...

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
... ... ...

0x08 graphic
0x08 graphic

0x08 graphic

x1 x2 xk

0x08 graphic

35. Proszę omówić algorytm asynchroniczny i synchroniczny przejścia stanów dla sieci Hopfielda.

Na rysunku 5.1 widoczna jest sieć neuronowa typu Hopfielda. Składa się ona z n neuronów z progami Ti, pobudzanych zarówno sygnałami zewnętrznymi, jak i sygnałami sprzężenia zwrotnego od innych neuronów, jak we wzorze poniżej:

0x01 graphic
i = 1, 2, . . . , y1,,

gdzie wektory wagowy i wyjściowy dane są jako

0x01 graphic

Definiując wektory: pobudzeń net, wejściowy x oraz progowy T analogicznie jak wektor wyjściowy, możemy opisać liniową część sieci z rys. 5.1 zależnością macierzową

net=Wy+x-T, gdzie

0x01 graphic

0x01 graphic

W modelu Hopfielda zakłada się, że macierz wag jest symetryczna, tzn. wij - wji, oraz, co widać na rys. 5.1, że wyjście dowolnego neuronu połą­czone jest poprzez multiplikatywne wagi z wejściami pozostałych neuronów, ale nie jest połączone z jego własnym wejściem.

Załóżmy chwilowo, że funkcja aktywacji jest funkcją signum, jak w ele­mencie PUL. Przejścia stanów będą zachodziły zgodnie z rekurencyjną za­leżnością

0x01 graphic
, k=1,2,3.... (5.3)

o której zakłada się, że ma charakter asynchroniczny, co tutaj oznacza, że w danej chwili ma miejsce aktualizacja tylko jednej spośród i = 1, 2, . . . , n składowych. Rekurencja zaczyna się od stanu y0 wymuszonego sygnałem inicjującym. W pierwszym kroku, dla k = 1, oblicza się y1i , przy czym wskaźnik i wybierany jest przypadkowo. Obliczenia dla pozostałych składowych, również wybieranych losowo, prowadzi się z wykorzystaniem składowych wektora y już zaktualizowanych w tym kroku, uzyskując ostatecznie yl.

Posługując się równaniem macierzowym (5.2) można zapisać algorytm (5.3) w bardziej zwartej postaci:

0x01 graphic
, k = 1, 2, . . . (5.4)

Należy jednak zwrócić uwagę, że ta forma zapisu sugeruje zmianę algorytmu. Formalnie jest to teraz algorytm synchroniczny (równoległy), w którym wszystkie neurony warstwy mogą zmieniać swoje wyjścia równocześnie. Aby pozostać przy koncepcji asynchronicznej nalezy, każdy z kroków rekurencji rozbić na n indywidualnych przejść odbywających się w przypadkowej ko­lejności.

Dla ilustracji graficznej przedstawmy wektor wyjściowy w przestrzeni En. Jest on tam reprezentowany przez jeden z wierzchołków n-wymiarowego hipersześcianu [-1,1]n. Podczas rekurencji (5.4), przebiegającej z założenia asynchronicznie, wektor y przesuwa się od wierzchołka do wierzchołka, wreszcie stabilizuje się w jednym z 2n możliwych wierzchołków. Stan koń­cowy yk, gdy 0x01 graphic
, uzależniony jest od wag, progów, stanu początkowego i kolejności aktualizacji składowych yi. Pojawia się przy tym szereg pytań: ile i jakie atraktory ma sieć? jakie są ich obszary przyciągania? jak osiągany jest stan równowagi? - czy wreszcie: jak należy zaprojektować sieć i obliczyć jej wagi, aby dokonywała wymaganych odwzorowań?

Dla oceny stabilności rozważanej sieci dynamicznej wprowadźmy tak zwaną funkcję energetyczną (zwaną też funkcją. stanu), dodatnią i ograni­czoną w przestrzeni wyjść. (Funkcji tej nie należy kojarzyć z fizycznym poję­ciem energii. Nazywamy ją tak ze względu na podobieństwo ich własności.) Jeżeli zmiany wartości funkcji energetycznej w trakcie wykonywania algo­rytmu (5.4) są niedodatnie, to można ją nazwać funkcją Lapunowa, a sieć jest asymptotycznie stabilna (Kaczorek, 1974).

W naszym przypadku funkcja energetyczna jest formą kwadratową

0x01 graphic
(5.5a)

Prześledźmy zmiany funkcji energetycznej w trakcie procesów przejścio­wydr. Niech w chwili k wyjście y; zmienia wartość o 0x01 graphic
yi; (algorytm asyn­chroniczny). Gradient energii względem wektora wyjściowego, wynikający z (5.5a), ma postać

0x01 graphic
E=-1/2(Wt+W)y-x+T.

Przy symetrycznej macierzy W, dla której Wt = W, postać ta redukuje się do

0x01 graphic
E=-Wy-x+T.

Z uwagi na to, że tylko i-ta składowa gradientu jest niezerowa, uzyskujemy wzór na przyrost energii

0x01 graphic
E =(0x01 graphic
E)t0x01 graphic
y = (-wtiy - xi+ Ti) 0x01 graphic
yi = -neti 0x01 graphic
yi. (5.6)

Z algorytmu aktualizacji (5.3) wynika, że zmiana yi, o ile zachodzi, ma zawsze znak identyczny ze znakiem łącznego pobudzenia neti, a więc iloczyn neti 0x01 graphic
yi jest zawsze nieujemny. Zmiana energii podczas aktualizacji wyjść jest zatem zawsze niedodatnia.

Aby minimalizacja funkcji energetycznej miała sens, trzeba jeszcze po­kazać, że funkcja ta ma minimum. Z własności form kwadratowych wynika, że funkcja (5.5), przy nieokreślonej z uwagi na zerowe elementy diagonalne macierzy W, nie ma w nieograniczonej przestrzeni wyjść ani minimum, ani maksimum. W rozważanym przypadku przestrzeń wyjść jest jednak ograniczona do wierzchołków w-wymiarowego sześcianu i stan przejściowy mnisi doprowadzić do punktu stabilnego, w którym energia (5.5) jest minimalna. Punkt ten jest granicznym rozwiązaniem równania (5.4), co zapisujemy jako

y* = I'(Wy* + x - T). (5.7)

Przypomnijmy, że spełnienie przez funkcję energetyczną (5.5) postulatu Lapunowa o niedodatniości przyrostów i wynikająca stąd stabilność rozwa­żanej sieci zostały wykazane przy założeniu, iż macierz wagowa jest symetryczna. Można też wykazać stabilność sieci z niesymetrycznymi wagami. Nie będziemy się nimi jednak zajmowali, gdyż ich własności są bardzo zbliżone do własności sieci symetrycznych, a te ostatnie łatwiej się projektuje. Dodatkowe założenie wii= 0 uzasadnimy w dalszej części tego rozdziału, przy rozpatrywaniu sieci z czasem ciągłym.

Inny przykład zbiegania się do startu równowagi przed­stawiony jest na rys. 5.2, gdzie mapa bitowa cyfry 4 złożona z 10 x 12 czarno-białych elementów jest aktualizowana według algorytmu (5.3). Ob­raz inicjujący jest zniekształcony przez zmianę wartości 20% przypadkowo wybranych elementów. Układ dochodzi do stanu stabilnego po czterech kro­kach; dla k , 5 żadne zmiany już nie zachodzą, gdyż sieć osiągnęła jeden ze stanów równowagi (5.7).

Stosowanie synchronicznego algorytmu aktualizacji może prowadzić do dwustanowego cyklu granicznego odpowiadającego obrazom komplementar­nym (Kamp i Hasler, 1990). Biorąc np. macierz wagową 2 x 2 o zerowych elementach diagonalnych, a pozostałych równych -1 i startując od wektora początkowego y0 =[-1 -l]t z zerowymi wektorami x i T, otrzymujemy w pierwszym kroku

0x01 graphic

czyli ponownie wektor początkowy. Cykl graniczny składa się więc z komplementarnych stanów równowagi z którymi związana jest jednakowa energia. Zauważmy dla porównania ze w tych samych warunkach układ asynchroniczny przechodzi w pierwszym kroku do stabilnego stanu y1=[1 -1]t lub y1=[-1 1]t zależnie od kolejności aktualizacji składowych.

36.Proszę napisać i omówić funkcję energetyczną dla sieci Hopfielda

Służy ona do oceny stabilności rozważanej sieci dynamicznej. Zwana jest również funkcją stanu. Funkcja energetyczna jest formą kwadratową:

0x01 graphic

lub w postaci rozwiniętej:

0x01 graphic

Gradient energii względem wektora wyjściowego ma postać:

0x01 graphic

Dla symetrycznej macierzy W wzór ma postać:

0x01 graphic

Z uwagi że tylko i-ta składowa gradientu jest niezerowa otrzymujemy wzór na przyrost energii: 0x01 graphic

Punkt będący ograniczonym rozwiązaniem zapisujemy jako:

0x01 graphic

Stosowanie synchronicznego algorytmu aktualizacji może prowadzić do dwustanowego cyklu granicznego odpowiadającego obrazom komplementarnym.

37. Proszę przedstawić algorytm zapisu i odczytu dla rekurencyjnej pamięci asocjacyjnej.

Algorytm zapisu i odczytu rekurencyjnej pamięci asocjacyjnej.

Danych jest p wektorów bipolarnych : {s(1), s(2)... s(p)} gdzie:

s(m)ma wymiar n x 1, m=1,2...p

początkowy wektor stanu v(0) ma wymiar n x 1

Zapis:

Krok 1. podstawienie W←0 gdzie W ma wymiar n x n

Krok 2. dla m od 1 do p wykonanie W← s(m) s(m)t-I

Krok 3. zapis wektorów do pamięci jest zakończony

Odczyt:

Krok 1. ustawienie stanu początkowego v(0)=x

Krok 2. ustawienie liczb 1,2...n w losowej kolejności α1, α2... αn

Krok 3. dla i od 1 do n wykonanie 0x01 graphic

Krok 4. Jeśli v'αi= vαi , i=1,2...n to zakończenie procesu odczytu i uznanie sygnałów v'1 , v'2 ... v'n za sygnały wyjściowe , w przeciwnym razie przejście do 2.

38. Sposoby obliczania pojemności autoasocjacyjnej pamięci rekurencyjnej.

Jednym z ważniejszych parametrów pamięci autoasocjacyjnej jest jej pojemność, czyli liczba obrazów, które może efektywnie zapamiętać. Przeprowadzimy analizę pojemności pamięci przy założeniu, że wszystkie składowe wektorów wzorcowych 0x01 graphic
, i=1,2,...,n, m=1,2,...,p, są niezależnymi dyskretnymi zmiennymi losowymi, przyjmującymi wartości ±1 z prawdopodobieństwem P=1/2. w wyrażeniu (6.22) na wartość pobudzenia łącznego i-tego neuronu, nie uwzględniając zerowych wag na głównej przekątnej, kładąc s(0) = 0x01 graphic
oraz wyłączając przed sumy składnik m = m', otrzymujemy:

0x01 graphic
(6.28)

Wektor stanu pamięci v jest stabilny, gdy sgn(neti)=sgn(0x01 graphic
) = vi i=1,2,...,n. Stąd na podstawie (6.28) widać że składowa 0x01 graphic
jest stabilna, gdy znak sumy w (6.28) jest taki sam jak znak 0x01 graphic
lub gdy znaki te są przeciwne, ale wartość sumy jest mniejsza od n.

Wprowadźmy parametr

0x01 graphic

nazywany przesłuchem i będący iloczynem składowej 0x01 graphic
i sumy z wyrażenia(6.28). Łatwo zauważyć, że gdy 0x01 graphic
< 1 składowa 0x01 graphic
jest stabilna. Wyznaczymy teraz rozkład prawdopodobieństwa 0x01 graphic
, a następnie na jego podstawie różne wielkości określające pojemność sieci. Parametr 0x01 graphic
jest iloczynem zmiennej losowej si/n i sumy n(p-1)≈np. zmiennych losowych, przyjmujących wartości ±1 z prawdopodobieństwem P=1/2. Z rachunku prawdopodobieństwa wiadomi, że suma dwuwartościowych zmiennych losowych ma rozkład dwumianowy, który w naszym przypadku przybiera postać:

0x01 graphic
0x01 graphic

Dla dużych wartości np. rozkład ten zbliża się do rozkładu normalnego o wariancji σ2 = p/n

0x01 graphic
0x01 graphic
(6.29)

Rozkład ten przedstawiono na rys. 6.10.

Rys.6.10. Rozkład prawdopodobieństwa przesłuchu c. Zakreskowane pole przedstawia prawdopodobieństwo niestabilności jednej składowej.

Pr(c)

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic
σ =0x01 graphic

0 1

Na podstawie rozkładu (6.29) można znaleźć prawdopodobieństwo niestabilności pojedynczej składowej równe prawdopodobieństwu tego, że c > 1:

0x01 graphic
0x01 graphic
(6.30)

gdzie funkcja :

0x01 graphic

nazywa się całką prawdopodobieństwa i jej wartości są podane w tablicach. Korzystając ze wzoru 6.30 można na podstawie danego prawdopodobieństwa niestabilności obliczyć stosunek p/n. Obliczone prawdopodobieństwo niestabilności jednej składowej wskazuje tylko niestabilność początkową, natomiast nie daje informacji, czy początkowa niestabilność nie pociągnie za sobą w kolejnych krokach przełączania innych składowych. np. początkowa niestabilność 1% składowych i przyjmowanie przez nie w rezultacie przeciwnych wartości mogłyby być do przyjęcia, natomiast oczywiście nie do przyjęcia byłaby niewielka początkowa niestabilność powodująca w efekcie kilkudziesięcioprocentowy błąd. Bardziej złożone analizy przedstawiają Amit, Gutfrund i Sompolinsky; wynika z nich, że krytyczną wartością jest p/n=0,138. Dla większych wartości początkowa niewielka liczba niestabilnych składowych w kolejnych krokach lawinowo zmienia inne składowe, dając ostatecznie zupełnie błędny odczyt. W innej def. Pojemności żąda się, aby z prawdopodobieństwem P1 bliskim jedności wszystkie wzorce były stabilne, czyli [1-Pr(c>1)]np.>P1. Po zastosowaniu słusznego dla dużych np przybliżenia [1-Pr(c>1)]np≈ -Pr(c>1)np +1 warunek przybiera postać:

0x01 graphic
(6.31)

Dla małych p/n można zastosować rozwinięcie asymptotyczne całki prawdopodobieństwa:

0x01 graphic
dla x → ∞

Stosując to rozwinięcie oraz logarytmując obie strony nierówności 6.31 otrzymujemy:

0x01 graphic

lub dla dużych n

0x01 graphic

Przybliżonym rozwiązaniem tej nierówności, zbliżającym się ze wzrostem n do rozwiązania dokładnego, jest:

0x01 graphic
(6.32)

Gdy liczba zapamiętanych obrazów p spełnia warunek 6.32, wtedy wszystkie zapamiętane obrazy są stabilne z prawdopodobieństwem bliskim jedności.

Oprócz oszacowania 6.32 McEliece i inni podali rozszerzony wzór określający pojemność pamięci:

0x01 graphic

Gdzie ρ jest odległością wektorów podzieloną przez liczbę składowych n. Wzór określa liczbę wektorów wzorcowych p, do których zbieżne będą z prawdopodobieństwem bliskim jedności wektory wejściowe znajdujące się w odległości nie większej niż ρ od wektorów wzorcowych. Aczkolwiek liczba obszarów, które pamięć Hopfilelda może bezbłędnie zapamiętać przy zastosowaniu algorytmu 6.19, a później odtwarzać, jest niewielka, sieci te znajdują wiele praktycznych zastosowań.

0x01 graphic
(6.19)

0x01 graphic
(6.22)

39.Proszę przedstawić jakie są skutki przekroczenia pojemności autoasocjacyjnej pamięci rekurencyjnej.

Przeładowanie pamięci może spowodować:

-odtwarzanie przez pamięć negacji właściwego obrazu

-mogą istnieć w pamięci nieplanowane stany stabilne (obrazy fałszywe)

-zapamiętane wektory mogą nie być stanami stabilnymi i sieć nigdy nie zdoła ich odtworzyć

40.Proszę określić, co rozumiemy pod pojęciami grupowanie i klasyfikacja.

Klasyfikacja (gdy zbiór obrazów wej dzieli się na kilka klas, to w odpowiedzi na obraz wej jest inf o klasie, do której należy obraz) Odpowiedź klasyfikatora podczas klasyfikacji.

0x08 graphic
0x08 graphic

0x08 graphic

0x01 graphic

Grupowanie

Grupowanie polega na przyporządkowaniu branego pod uwagę elementu do jednej lub wielu grup (klas, zbiorów), przy czym grupy te są wyznaczane przez sam proces grupowania na podstawie analizy danych o wszystkich dostępnych elementach, a nie jak w przypadku klasyfikacji, gdzie klasy zostały zdefiniowane wcześniej, niejako poza procesem klasyfikacji. Grupy wyznaczane są na podstawie pewnych czynników albo wskazujących na podobieństwa elementów albo opartych na przyjętych rozkładach prawdopodobieństwa, albo korzystających z jeszcze innych przesłanek.

Grupowanie jest szczególnie przydatne w rozwiązywaniu problemów segmentowania. Algorytm grupowania wyznacza czynnik dywersyfikujący elementy rozważanej populacji, definiuje grupy (segmenty) i przyporządkowuje do nich poszczególne elementy. Grupowanie jest często pierwszym etapem w eksploracji danych: po wyznaczeniu segmentów można do nich zastosować inne techniki w zależności od oczekiwanych rezultatów.

41.Proszę omówić najpopularniejsze miary podobieństwa stosowane podczas grupowania.

Najpopularniejsze miary grupowania:

||x-xi||=sqrt((x-xi)t*(x-xi))

Reguła:

Im mniejsza odległość tym większe podobieństwo.

cosϕi­ = (xtxi) / ||x||*||xi||

Gdy cosϕ2 < cosϕ1 obraz jest bardziej podobny do x niż do x1 i należy go zaliczyć do grupy drugiej.

Kryterium kątowej miary podobieństwa jest skuteczna tylko wtedy, gdy długość wektorów x, x­1 i x2 są porównywalne, najlepiej równe ( konieczność normalizacji).

  1. Proszę omówić sieć Kohonena - uczenie z rywalizacją.

Sieci samoorganizujące w procesie ucznia spontanicznie tworzą odwzorowanie (ang. mapping) zbioru sygnałów wejściowych na zbiór sygnałów wyjściowych. Cechy jakimi musi charakteryzować się sieć samoorganizująca oraz proces uczenia, to koherentność i kolektywność.

Koherentności jest to efekt grupowania danych wejściowych w klasy podobieństwa. Grupowanie w klasy podobieństwa opisywane jest przez zestaw technik matematycznych (w większości przypadków statystycznych) zwanych analizą skupień (ang. cluster analysis). Wśród technik analizy skupień na uwagę szczególnie zasługują mechanizmy kwantyzacji wektorowej.

Kolektywność jest to efekt, który zachodzi w sieciach samoorganizujących. Główne cechy tego mechanizmu to, to że co rozpoznaje jeden neuron, w dużej mierze zależy także od tego co rozpoznają inne neurony. Ten efekt związany jest z pojęciem sąsiedztwa.

Ogólna zasada uczenia sieci Kohonena opiera się na następujących założeniach:

wektor sygnałów wejściowych X jest przed procesem uczenia normalizowany ||X|| = 1, co można zapisać jako

 

0x01 graphic

 

wszystkie neurony sieci dostają ten sam zestaw sygnałów wejściowych wyliczana jest odpowiedź dla wszystkich neuronów proces modyfikacji wag następuje w neuronie który zwyciężył w rywalizacji - posiada największą wartość odpowiedzi

wyliczanie nowej wartości wag dla neuronu który zwyciężył następuje według poniższego przepisu:

 

0x01 graphic

 

gdzie:

h(m,m*) - jest funkcją określającą sąsiedztwo

(j) - określa współczynnik uczenia dla (j)-tego kroku

Sąsiedztwo jest to metoda, która pozwala na redukcję niepożądanych skutków uczenia sieci samoorganizujących w oparciu o konkurencje. Konkurencja w procesie uczenia może doprowadzić do sytuacji takiej, że tylko niewielki odsetek neuronów uzyska możliwość rozpoznawania obiektów pokazywanych sieci (nauczy się). Reszta neuronów nie będzie w trakcie uczenia zmieniać swoich wag i w ten sposób zatraci na zawsze swe użytkowe cech jako elementy wytrenowanej sieci neuronowej. Sąsiedztwo jest miarą w jakim stopniu sąsiad neuronu zwycięskiego będzie miał zmieniane wagi w danym kroku procesu uczenia. Zwykle wartość tego parametru jest określana na wartość 0 - 1.

Sąsiedztwo rozpatruje się w układach:

Do najbardziej istotnych i użytecznych układów sąsiedztwa zaliczamy organizacje jedno- i dwuwymiarowe, dla nich właśnie dodatkowym istotnym parametrem jest określenie ile neuronów obok (sąsiadów z lewej, prawej itd.) ma podlegać uczeniu w przypadku zwycięstwa danego neuronu.

Po raz pierwszy opracowania na temat sieci samoorganizujących z konkurencją i sąsiedztwem pojawiły się w latach 70-tych za przyczyną opisów eksperymentów fińskiego badacza Kohonena. Stąd też tego typu sieci wraz z metodami uczenia nazywamy sieciami Kohonena.

43. Podaj, jak w MATLAB'ie zapisać zmienne z przestrzeni roboczej do zewnętrznych plików typu ASCII i wyjaśnić co oznacza poniższe polecenie: load b.dat

Aby zapisać do zbioru ASCII tekstów wypisywanych przez MATLAB w jego oknie poleceń używa się polecenia: diary nazwa_zbioru.

Użyć polecenia save w postaci:

save nazwa_pliku nazwa_zmiennych -ascii -double

Plik wczytuje się poleceniem:

load nazwa_pliku.rozszerzenie

Nazwa zmiennej (wprowadzona do przestrzeni roboczej) jest identyczna z nazwą wczytanego pliku.

Polecenie load b.dat spowoduje odczytanie pliku binarnego o nazwie b.dat. Taki plik może zawierać macierze wygenerowane wcześniej podczas pracy z MATLAB-em lub pliki tekstowe zawierające dane numeryczne. Plik tekstowy powinien być zorganizowany jako prostokątna tabela liczb oddzielonych spacjami, zawierająca jeden wiersz w linii i taką sama ilość elementów w każdym wierszu.

Przykładowo, utwórz poza MATLAB-em plik tekstowy, zawierający cztery poniższe linie:

16.0 3.0 2.0 13.0

5.0 10.0 11.0 8.0

9.0 6.0 7.0 12.0

4.0 15.0 14.0 1.0

Zapisz plik pod nazwą b.dat. Następnie wpisz komendę

load b.dat

co spowoduje odczytanie pliku oraz utworzenie zmiennej b, zawierającej naszą przykładową macierz.

44.Wyjaśnić pojęcia MAT-plik i M.-plik

45. Pliki skryptowe i funkcyjne

Skrypt - zbiór tekstowy zawierający instrukcje (polecenia), które mają być wykonane przez interpreter, dla wszystkich skryptów przyjęto standardowe rozszerzenie .m. Skrypt nie musi spełniać żadnych dodatkowych wymogów formalnych poza poprawnością składniową i semantyczną znajdujących się w nim poleceń.

Funkcje - mamy możliwość nie tylko wykorzystania funkcji napisanych przez innych (biblioteki i funkcje standardowe), funkcje możemy tworzyć samodzielnie. Dzięki temu MATLAB wykazuje własności zbliżone do języków strukturalnych - umożliwia zamknięcie pewnej funkcjonalnej całości o obrębie jednej funkcji, a następnie wielokrotne jej wykorzystanie. Definicję funkcji umieszczamy w skrypcie o identycznej nazwie z nazwą definiowanej funkcji i rozszerzeniem .m.

48. Przedstaw jaki jest priorytet operatorów w MATLAB'ie

Priorytet (kolejność działania) operatorów w MATLAB-ie jest. następujący:

Ilustrują to poniższe przykłady:

1 & 0 + 3 zapis równoważny 1 & (0 + 3)

3 > 4 & 1 zapis równoważny (3 > 4) & 1

0x01 graphic

0x01 graphic

w12

wR,n+1

wR

w2,n+1,

w22

w1.n+1

w1

w11

dyskryminaty

gR(x)

g2(x)

g1(x)

Obraz x

klasa

1

2

Slektor max

R

wR2

w2

w21

wR1

0x01 graphic

0x01 graphic

1

2

sektor

maksimum

R

gR(x)

g2(x)

g1(x)

równoległobok

heteroasocjacja

kwadrat lub niekompletny kwadrat

obraz wejściowy

0

x 8

{ }

0x01 graphic

0x01 graphic

y

x

sieć adaptacyjna

d - porządana odpowiedź

x

sieć adaptacyjna

y

obliczenie odległości

-1

-1

-1

y

1

1

1

X3

X2

X1

y

-1

1

1

1

X3

X2

X1

Wii+-1

I=1,2,n

W3

W2

W1

X3

X2

X1

0x01 graphic

0x01 graphic

Przy czym to „l” we wzorach to jest raczej „ł”

0x01 graphic

0x01 graphic

0x01 graphic

nr klasy

obraz wej

{ x }

0x01 graphic



Wyszukiwarka