Sztuczna ntelgencja w entyfkacj sterowanu Uczene konkurencyjne w secach samoorganzujących sę Cel ćwczena Celem ćwczena jest poznane samoorganzującej sę sec neuronowej Kohonena oraz algorytmu jej uczena. Wstęp teoretyczny Wstęp Metoa propagacj wstecznej błęu wykorzystana w celu uczena sec neuronowych posaa stotną neogoność, a manowce wymaga ona w trakce uczena pomocy tzw. nauczycela, którego zaanem jest poawane la każego wzorca wejścowego wzorca oczekwanej opowez sec porównywane oczekwanych opowez z rzeczywstym opowezam generowanym przez seć. Jenakże ukła bologczny jakm jest mózg, w welu przypakach jest w stane uczyć sę bez pomocy nauczycela, rozpoznając śwat na postawe wrażeń zmysłowych bez żanych bezpośrench nstrukcj. Przykłaem może być uczene sę noworoka rozpoznawana twarzy swoch najblższych lub otaczających przemotów. Welu baaczy w celu zrozumena procesów zachozących w secach bologcznych, pojęło sę zaana opracowana sec, która potrafłaby wykorzystać nformacje zawarte w użym zestawe wzorców, bęąc pozbawoną wezy a pror o tym, co one reprezentują. Seć pownna okryć bez zewnętrznej pomocy wzory, cechy, wzajemne zależnośc, uporząkowane anych wejścowych, a następne poać taką nformację na wyjśce. Sec Kohonena uczene konkurencyjne Kohonena Wśró sec samoorganzujących sę stotną klasę stanową sec, których postawą załana jest konkurencja męzy neuronam. Są to zwykle sec jenowarstwowe, w których każy neuron jest połączony ze wszystkm skłaowym wektora wejścowego x (Rys. 1). Rys.1 Przykłaowa struktura sec Kohonena Na poszczególnych wejścach każego neuronu znajują sę wag tworząc wektor wag w. Poszczególne neurony znajujące sę w sec współzawonczą ze sobą poprzez porównywane swoch wag z opowenm skłaowym wektora wejścowego x. Zwycęzcą zostaje neuron, którego wag najmnej różną sę o wektora wejścowego x. W celu wyznaczena neuronu zwycęzcy oblcza sę la każego neuronu oległość (x,w) w sense wybranej metryk męzy wektorem wag anego wektora a wektorem sygnałów wejścowych x. Neuron zwycęzca spełna następujący warunek
( x,w ) = mn ( x, w ) zwycezca 1 n Ponżej zaprezentowano najczęścej stosowane mary oległośc w procese samo organzacj: Mara euklesowa loczyn skalarny mara Manhattan N ( x, w ) = ( x j w, j ) j= 1 ( x, w ) = x w cos( x, w ) N ( x, w ) = j= 1 x j w, j 2 Neuron zwycęzca wraz z neuronam znajującym sę w jego sąseztwe polega uczenu weług reguły Kohonena przestawonej wzorem 1 (wag pozostałych neuronów ne są moyfkowane). Poprzez sąseztwo rozumane jest topologczne rozmeszczene neuronów w sec w poblżu neuronu zwycęzcy. Przykła takego sąseztwa został przestawony na rys. 2. w(k+1)=w(k)+η(k)[x-w(k)] (1) Rys. 2 Przykłaowa seć Kohonena, neuron nr 13 wygrał współzawonctwo z nnym neuronam, neurony o nr 8, 14, 18,12 są sąsaam neuronu zwycęzcy ch wag równeż polegają procesow uczena. Moyfkacja wag weług reguły anej wzorem 1 powouję coraz wększe upoobnene zwycęskego wektora wag wektorów wag neuronów sąsench o wektora wejścowego czego efektem w kolejnych teracjach jest jeszcze wększa aktywność zwycęskego neuronu la anego zestawu sygnałów wejścowych. Zastosowana ogranczena Sec konkurencyjne używane są męzy nnym o kompresj koowana anych, aproksymacj funkcj, w analze statystycznej optymalzacj kombnatorycznej. Postawowe ogranczena to nemożlwość rozróżnena wększej lczby klas nż lczba neuronów, brak opornośc na uszkozena sec zakłócena, nemożlwość porząkowana rozpoznawanych klas. Praktyczne wskazówk onośne symulacj sec Kohonena w programe Matlab 1. Tworzene sec konkurencyjnej W celu stworzena sec konkurencyjnej należy skorzystać z funkcj newc, która posaa następującą
strukturę net= newc(pr,s,lr) gze net to obekt opsujący stworzoną seć, PR macerz z wartoścam mnmalnym maksymalnym la kolejnych wejść, S lczba neuronów, lr krok uczena. Stworzona seć skłaa sę z jenej warstwy neuronów, które ne są w żaen sposób połączone męzy sobą. Tylko jeen z neuronów po poanu sygnałów wejścowych może stać sę aktywny wygenerować na wyjścu wartość 1 pozostałe neurony w tym czase są neaktywne generują na swoch wyjścach wartość zero. Każy neuron posaa wag, których lczba równa sę lczbe wejść sec plus bas. Wag ncjalzowane są za pomocą funkcj mpont automatyczne w trakce tworzena sec. Funkcja mpont rozmeszcza wag la poszczególnych neuronów okłane w śrokach przezałów poanych w macerzy PR, czego efektem są take same sekwencje wag la wszystkch neuronów (jeżel potraktować wag poszczególnych neuronów jako współrzęne punktów w przestrzen sygnałów wejścowych, to punkty te bęą leżały w tym samym mejscu). Wszystke neurony w sec po poanu sygnałów wejścowych współzawonczą ze sobą, zwycęzcą zostaje neuron, którego wektor wag jest najblższy wektorow anych wejścowych. Aby wyznaczyć zwycęzcę lczona jest oległość wektora wag poszczególnych neuronów o wektora anych uczących. Welkość ta jest zawsze ujemna lub równa zero (gy wartośc anych wejścowych pokrywają sę z wagam baanego neuronu). Z nnejszego faktu wynka, że wygrywa zawsze neuron z najwększą wartoścą oległośc. Aby usprawnć załane sec konkurencyjnej specjalne zaane przyzelono basom. A manowce może zarzyć sę taka sytuacja, że część zaeklarowanych neuronów bęze leżała ostateczne aleko o anych uczących ngy ne bęze mała szans wygrać w procese współzawonctwa neuronów. W takm przypaku take neuronu są neuronam tzw. martwym poneważ ne reprezentują żanej klasy anych. Aby umożlwć wygraną we współzawonctwe neuronom nefortunne rozmeszczonym aleko o anych uczących systematyczne zwększa sę w trakce uczena bas neuronom, które ne wygrywają w konkurencj z nnym neuronam a zmnejsza sę wartość basu la neuronów systematyczne wygrywających. Dzęk nnejszemu poejścu rozwązuje sę problem martwych neuronów a oatkowo zyskuje sę równomerne rozmeszczene neuronów na całej przestrzen anych wejścowych. Przykła P = [.1.8.1.9;.2.9.1.8]; net = newc([0 1; 0 1],2); a = sm(net,p) ac = vec2n(a) 2. Dostęp o wag basów sec obywa sę entyczne jak w sec perceptronowej. 3. Uczene sec konkurencyjnej obywa sę za pomocą funkcj tran. W zamplementowanej la tej sec metoze uczena wykorzystano regułę Kohonena, jenakże moyfkacj polegają wag wyłączne neuronu zwycęskego. W opsywanym type sec ne stneje pojęce sąseztwa. Przykła net.tranparam.epochs=100; % Ustalene lczby epok uczących net = tran(net,p); 4. Symulacja sec konkurencyjnej za pomocą funkcj sm a = sm(net,p); ac = vec2n(a); w wektorze ac otrzymujemy numery aktywnych neuronów la kolejnych anych z macerzy p 5. Tworzene mapy Kohonena za pomocą funkcj newsom net = newsom(pr,d,tfcn,dfcn,olr,osteps,tlr,tnd)
gze net to obekt opsujący stworzoną seć, PR macerz z wartoścam mnmalnym maksymalnym la kolejnych wejść, D wektor opsujący strukturę fzyczną sec czyl rozmeszczene neuronów w sec np. wektor [4 3] oznacza satkę neuronów 4*3, TFCN efnuje fzyczną topologę rozmeszczena neuronów, przy czym stneją trzy możlwe o wyboru struktury: grtop, hextop rantop, DFCN efnuje metoę oblczana oległośc w fzycznym rozmeszczenu neuronów w celu określena sąseztwa neuronów, użytkownk sec może wyberać pomęzy następującym metrykam st, lnkst, manst, boxst, gze st to mara euklesowa, mara lnkst lczy oległość pomęzy neuronam jako lczbę połączeń jake należy przejść o neuronu źrółowego o ocelowego, mara manst zefnowana jest za pomocą następującego wzoru D = sum(abs(x-y)), mara boxst zefnowana jest za pomocą następującego wzoru Dj = max(abs(p-pj)), OLR to krok uczena la fazy porząkowana, OSTEPS to lczba epok fazy porząkowana, TLR to krok uczena la właścwej fazy uczena, TND to ystans efnujący sąseztwo w faze właścwego uczena (proces uczena la opsywanej sec opsany jest szerzej w popunkce opsującym funkcje tran). Parametram mapy Kohonena są wyłączne wag, nnejsza struktura ne posaa basów. Wag ncjalzowane są za pomocą funkcj mpont. Dystans potrzebny o wyznaczena zwycęzcy lczony jest entyczne jak w przypaku sec konkurencyjnych, jenakże w przypaku omawanej sec w trakce, uczena oprócz moyfkacj wag neuronu wygrywającego uczenu polegają równeż wag neuronów które fzyczne sąsaują z nm (grancę sąseztwa wyznacza parametr TND). Przykła P = [ran(1,400)*2; ran(1,400)]; net = newsom([0 2; 0 1],[3 5]); plotsom(net.layers{1}.postons) net.tranparam.epochs = 25; plot(p(1,:),p(2,:),'.g','markersze',20) hol on plotsom(net.w{1,1},net.layers{1}.stances) hol off 6. Uczene mapy Kohonena obywa sę za pomocą funkcj tran Proces uczena mapy Kohonena przebega wuetapowo, w perwszej faze tzw. faze porząkowana, wag moyfkowane są przy użycu kroku uczena zefnowanego la tej fazy, który w kolejnych krokach systematyczne zmnejsza sę aby po ustalonej la fazy porząkowana lczbe epok osągnąć krok uczena zefnowany la właścwej fazy uczena. Sąseztwo w perwszej epoce fazy porząkowana obejmuje swom zasęgem wszystke neurony, ale systematyczne zmnejsza sę aby po ustalonej lczbe epok fazy porząkowana osągnąć zakres sąseztwa zefnowany la fazy właścwego uczena. Po faze porząkowana następuje faza właścwego uczena, o tego momentu wag w przestrzen wag pownny stworzyć strukturę przypomnającą fzyczne rozmeszczene neuronów. Krok uczena w rugej faze jest znaczne mnejszy nż w rugej, poneważ przewywane są jeyne robne korekty w wartoścach wag poszczególnych neuronów. Jenocześne sąseztwo neuronów otyczy najczęścej tylko najblższych zwycęskemu neuronow sąsaów. Uczene neuronów sąsench przebega z krokem o połowę mnejszym nż neuronu zwycęskego a wag pozostałych neuronów ne są moyfkowane. Zaana Zbuować system kompresj plków grafcznych formatu BMP za pomocą sec konkurencyjnej oraz mapy Kohonena. a) wybrać 3 struktury sec konkurencyjnej następne przeprowazć uczene każej sec, wybrać seć która skompresowała obrazek w najwększym stopnu (zefnować polczyć współczynnk kompresj) oraz wybrać seć, która otwarza obrazek z najlepszym efektem (każą seć uczyć przy takch samych ustawenach)
b) powtórzyć operacje wymenone w popunkce a la mapy Kohonena c) wybrać jeną seć konkurencyjną ającą najlepsze efekty wzualne a następne zbaać wpływ welkośc wzorca kompresj poprzez wybór trzech wzorców porównane stopna kompresj oraz jakośc otwarzana uzyskanych la wzorców o wybranych rozmarach ) powtórzyć ćwczene z popunktu c la mapy Kohonena e) porównać stopeń kompresj sec konkurencyjnej, która otwarza obrazek z najlepszym efektem ze stopnem kompresj mapy Kohonena, która otwarza obrazek z najlepszym efektem wzualnym