Studa Doktorancke IBS PA nt. Technk nformacyjne teora zastosowana WYKŁAD Semnarum nt. Modelowane rozwoju systemów w środowsku MATLABA Smulnka Prof. nadzw. dr hab. nż. Jerzy Tchórzewsk, jtchorzewsk@ntera.pl; Jerzy.Tchorzewsk@uph.edu.pl Warszawa, 28 styczna 2017 r., Blok tematyczny II Sztuczne sec neuronowe (środowsko MATLAB Smulnk z wykorzystanem eural etwork Toolbox), Uwag realzacyjne wstępne: 1. Przed zajęcam każdy doktorant pownen zanstalować paket MATLAB Smulnk (tral frmy MathWorks 1 ) z toolboxam: Symulnk, Symbolc Math T., System Identfcaton T., Control System Toolbox, eural etwork Toolbox, tp. 2. Przygotować dane do ćwczeń laboratoryjnych w środowsku Excel zawerające cztery-pęć welkośc wejścowych dwe-trzy welkośc wyjścowe w obszarze zanteresowań poszczególnych doktorantów. Wartośc poszczególnych zmennych wygodne jest zapsać kolumnowo (ok. 100 wartośc). 3. ajperw należy utworzyć w środowsku MATLAB dwe macerze, jedną zawerającą dane wejścowe, a druga zawerającą dane wyjścowe, o dentycznej lczbe kolumn (próbk pomarowe) oraz dowolnej lczbe werszy (welkośc wejścowe welkośc wyjścowe), polecenem: >unntwe=uwe oraz ynntwy=ywy (w wynku transformacj macerzy stworzonych dla potrzeb dentyfkacj za pomocą SIT) na wszelk wypadek należy przygotować też znormalzowane dane. 4. Zapoznać sę z toolbox-em MATLAB-a pn. eural etwork Toolbox, a w szczególnośc zwrócć uwagę m.n. na: 4.1 Rozpoczęce pracy w eural etwork Toolboxe (dalej: T) polecenem >nntool (nterfejs grafczny GUI, poznać możlwośc bblotek programów T) rys. 1. Interfejs grafczny GUI upraszcza pracę użytkownka oraz przyspesza oblczena. Potrzebne funkcje są dostępne w menu. Plk wejścowe można mportować do GUI T (Import), a uzyskwane sztuczne sec neuronowe eksportować do przestrzen roboczej MATLABA (export). Vew przycsk do oglądana archtektury wygenerowanej SS. Rys. 1. GUI eural etwork Toolbox-a. ajważnejsze oznaczena: Inputs pole do wprowadzana zmennych wejścowych uczących (u), Targets pole do wprowadzana zmennych wyjścowych uczących (nauczycela), ew etwork przycsk uruchamający tworzene archtektury SS, Import przycsk do mportowana danych z Workspace, Eksport przycsk do eksportowana wygenerowanego modelu do Workspace, 1 https://uk.mathworks.com
4.2 Zmenne wejścowe poberamy za pomocą przycsku Import (gdy mportujemy u ustawamy Import as Inputs, a gdy y ustawamy Targets) rys. 2. Rys. 2. Importowane par trenujących (macerzy u oraz y) 4.3 T umożlwa tworzene model systemów w postac sztucznych sec neuronowych np. sztucznych sec neuronowych welowarstwowych jednokerunkowych (perceptronowych), tp. przy znajomośc sygnałów wejścowych (u) wyjścowych (y) systemu, przy czym najperw projektuje sę archtekturę SS (ustala sę warstwę neuronów wejścowych odpowadającą wejścom, warstwy neuronów wyjścowych odpowadającą wyjścom oraz 1-2 warstwy ukryte z neuronam ukrytym rys. 3. Rys. 3. Projektowane SS. Podstawowe oznaczena: Get from Input tutaj wprowadzamy nazwę naszej zmennej wejścowej u, Tranng functon doberamy funkcję uczena, umber of Layers ustalamy lczbę warstw SS (oprócz warstwy wyjścowej) lczbę neuronów w każdej warstwe), Transfer functon funkcja aktywacj neuronu (pureln lnowa), Create przycsk do utworzena archtektury SS dla zaprojektowanych parametrów, Vew przycsk do obejrzena SS (rys. 4) Rys. 4. Utworzona archtektura SS (o lczbe neuronów w warstwe wejścowej 3, warstwe ukrytej 20 (w celu zwększena pojemnośc SS), warstwowe wyjścowej - 2). Oznaczena: IW{1,1} macerz wag pomędzy warstwą wejścową neuronów a warstwą ukrytą, LW{2,1} macerz wag pomędzy warstwą ukrytą a warstwą wyjścową neuronów, b{1}, b{2} basy, Intalze przycsk do ncjalzacj macerzy wag (przed uczenem nadane wartośc macerzom) rys. 5, Tran uczene SS rys. 6. Rys. 5. Incjalzacja SS. Oznaczena: Get from Input wprowadzamy nasza zmenną wejścową macerz u Intalze Wetghts nacskając przycsk nadajemy elementom wartośc początkowe poprzedzające proces uczena.
Rys. 6. Uczene SS modelu systemu. Oznaczena: Inputs wstawamy naszą macerz wejścową do uczena sec, Targets wstawamy nasza macerz wyjścową do uczena sec, Tanng Parameters najważnejsze aby ustawć lczbę epok (lczbę par trenujących),tran etworks uczy SS modelu systemu, Trang Info nformacja o przebegu uczena SS rys. 7 Rys. 7. Przebeg krzywej uczena. W tym przypadku ustawono 100 epok po nauczenu SS stneje możlwość obejrzena macerzy wag wektorów basów rys. 8 oraz wyeksportowana do Workspace modelu neuralnego systemu rys. 9. Rys. 8. Wedza SS dotycząca modelu systemu zawarta jest w macerzach wag oraz w wektorach basów. Rys. 9. Za pomocą przycsku Eksport mogę przeneś model do Workspace MATLAB-a (model ma nazwę w tym przypadku: lukas), a gdy jest model w Workspace to polecenem: >gensm(lukas) mogę wygenerować blok ze SS dla potrzeb wykorzystana jej w Smulnku rys. 10. Rys. 10. Model neuronalny systemu w postac bloczka ze SS dla potrzeb wykorzystana jej w Smulnk-u dalej budować modele w Smulnku dla celów symulacyjnych dla celów badana wrażlwośc.
5. eural etwork Toolbox zawera m.n.: 5.1 Rózne archtektury sztucznych sec neuronowych - Seć PERCEPTRO o skokowej funkcj aktywacj, - Sec typu ADALIE MADELIE, - Seć jednokerunkowa z metodą wstecznej propagacj błędów, - Seć typu WTA (Kohenena), - Seć rezonansowa ART, - Seć ze sprzężenem zwrotnym Hopfelda. 5.2 Różne rodzaje funkcje aktywacj - hardlm funkcja skoku jednostkowego przyjmująca wartośc 0 lub 1, - hardlms funkcja symetryczna przyjmująca wartośc -1 lub 1, - logsg funkcja sgmodalna unpolarna, - tansg funkcja sgmodalna bpolarna, - pureln funkcja lnowa, - satln funkcja lnowa w zakrese (-1,1), - compet funkcja współzawodnctwa neuronowe w warstwe typu WTA. 5.3 Różne metody uczena learnbp algorytm wstecznej propagacj błędu w odnesenu do jednokerunkowej sec welowarstwowej learnbpm algorytm wstecznej propagacj błędu w odnesenu do jednokerunkowej sec welowarstwowej z wykorzystanem momentum, learnh algorytm Hebba, learnhd algorytm Hebba z zapomnanem, learns algorytm uczena ISTAR, learnos algorytm uczena OUTSTAR, learnk algorytm SOM Kohenena, learnp algorytm uczena PERCEPTRO-u, learnwh algorytm uczena Wdrowa-Hofa. Cel wykładu: Moduł II (28.01.2017 r.) obejmuje bardzo zwęzłe wprowadzene do modelowana neuralnego systemów techncznych technczno-ekonomcznych, w tym krótk przegląd przykładów środowsk programstycznych wykorzystywanych do modelowana neuralnego ze szczególnym zwrócenem uwag na środowsko MATLAB opracowane prowadzone przez frmę MathWorks, w tym na eural etwork Toolbox oraz Smulnk. Treśc dydaktyczne Celem wykładu jest wprowadzene do środowska MATLAB ze szczególnym zwrócenem uwag na praktyczne umejętnośc projektowana systemów sztucznej ntelgencj w środowsku MATLAB z wykorzystanem umejętnośc projektowana uczena sztucznych sec neuronowych model systemów, procesów obektów przy pomocy eural etwork Toolbox-a częścowo Smulnka (dalej: SIM). W szczególnośc zostane zwrócona uwaga na modele neuronalne typu: SS PERCEPTRO, SS HOPFIELDA oraz SS SOM Kohenena. Do zbudowana SS jednokerunkowej welowarstwowej punktem wyjśca był model McCullocha-Ptsa, która nazywa sę Perceptronem prostym (rys. 1). Jako funkcję aktywacj przyjęto funkcję bpolarną f(net). Sygnał net na wyjścu częśc lnowej Perceptronu jest dany wzorem: gdze: w0 = v oraz u0 = -1. net = = 1 w u v = = 0 w u, (4)
Zadanem Perceptronu jest klasyfkacja wektora u=[u1,, u] T do jednej z dwóch klas oznaczonych lteram L1 oraz L2. Perceptron klasyfkuje wektor u do klasy L1, jeżel sygnał wyjścowy przyjmuje wartość 1 oraz do klasy L2, jeżel sygnał wyjścowy przyjmuje wartość -1. Zatem Perceptron dzel - wymarową przestrzeń wektorów wejścowych u na dwe półprzestrzene rozdzelone -1 wymarowa hperpłaszczyzną o równanu: = 1 w u v = w u = 0 (5) = 0 Hperpłaszczyzna (5) nos nazwę grancy decyzyjnej (ang. Decson boundary). Jeśl =2 to granca decyzyjną jest lna prosta o równanu: Algorytm uczena perceptronu w1u1+w2u2 v =0 (6) Rys. 1. Algorytm uczena SS. Pokazany zostane sposób tworzena schematów blokowych w Smulnku prowadzena badań symulacyjnych z wykorzystanem SS. W drugej częśc wykładu zostane pokazany przykład procesu budowy uczena sztucznej sec neuronowej, który następne na ćwczenach laboratoryjnych stanowł będze dla doktorantów przykład do samodzelnego przeprowadzena badań neuronalnych. Lteratura podstawowa: [1] MATLAB, Smulnk, (+ poszczególne toolboxy). User s Gude. The MathWorks.1988-2016 [2] Osowsk S.: Sec neuronowe do przetwarzana nformacj. WT. Warszawa 2002 [3] Tadeusewcz R.: Elementarne wprowadzene do technk sec neuronowych z przekładowym programam.aow PLJ. Warszawa 1999 [4] Żurada J., nn: Sztuczne sec neuronowe. WT. Warszawa 1996 Lteratura uzupełnająca: [5] Brzózka J., Dorobczyńsk L., Programowane w MATLAB, MIKOM, Warszawa 1998 [6] Cchock A., Osowsk S., Swek K.: MATLAB w zastosowanu do oblczeń obwodowych przetwarzana sygnałów. OW PW. Warszawa 2006 [7] Kamńska A., Pńczyk B.: Ćwczena z MATLAB. Przykłady zadana. MIKOM. Warszawa 2002 [8] Mrozek B., Mrozek Z., MATLAB Smulnk. Poradnk użytkownka. Wyd. III, Helon 2010 [9] Mrozek B., Mrozek Z., MATLAB unwersalne środowsko do oblczeń naukowo-techncznych, Wydawnctwo PLJ, Warszawa 2011 [10] Mulawka J., Systemy ekspertowe. WT. Warszawa 1996 [11] Tadeusewcz R.: Sec neuronowe. AOW RM. Warszawa 1999 [12] Zalewsk A., Cegeła R., MATLAB - oblczena numeryczne ch zastosowane, AKOM, Poznań 1996