Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Podobne dokumenty
SYSTEMY UCZĄCE SIĘ WYKŁAD 5. UCZENIE SIĘ APROKSYMACJI FUNKCJI MODELE LINIOWE

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Metody sztucznej inteligencji

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

LABORATORIUM TEORII STEROWANIA. Ćwiczenie 6 RD Badanie układu dwupołożeniowej regulacji temperatury

Podstawy Sztucznej Inteligencji

Podstawy Sztucznej Inteligencji (PSZT)

Wykład 9. Stateczność prętów. Wyboczenie sprężyste

MATLAB Neural Network Toolbox uczenie sieci (dogłębnie)

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych

Zastosowania sieci neuronowych - automatyka identyfikacja sterowanie

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Metody Sztucznej Inteligencji II

Ćwiczenie 6. Pomiary wielkości elektrycznych za pomocą oscyloskopu

Metody sztucznej inteligencji Artificial Intelligence Methods

Politechnika Warszawska

Sieci neuronowe. Sebastian Bożek.

Metody Optymalizacji Optimization Methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Sztuczne siei neuronowe - wprowadzenie

Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych

POLITECHNIKA OPOLSKA

Belki na podłożu sprężystym

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

8. Neuron z ciągłą funkcją aktywacji.

Elementy inteligencji obliczeniowej

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

Optymalizacja ciągła

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólnoakademicki / praktyczny)

EiT_S_I_PAC_ST Przetwarzanie A/C Analog-to-Digital Processing

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Egzamin z algebry liniowej 2003 r.

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Relacja: III Seminarium Naukowe "Inżynierskie zastosowania technologii informatycznych"

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Metody systemowe i decyzyjne w informatyce

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Laboratorium nr 2. Identyfikacja systemu i detekcja uszkodzeń na podstawie modelu

Projekt Sieci neuronowe

Elektrotechnika I Stopień Ogólnoakademicki. Przedmiot kierunkowy nieobowiązkowy Polski VI

Rozpoznawanie obrazów

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) podstawowy (podstawowy / kierunkowy / inny HES)

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Optymalizacja systemów


Podstawy sztucznej inteligencji

(1.1) (1.2) (1.3) (1.4) (1.5) (1.6) Przy opisie zjawisk złożonych wartości wszystkich stałych podobieństwa nie mogą być przyjmowane dowolnie.

Sieci neuronowe w Statistica

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Inteligentne systemy przeciw atakom sieciowym

specjalnościowy obowiązkowy polski drugi zimowy tak

Podstawowe funkcje biblioteki narzędziowej Neural Network Toolbox. Version 5 pakietu MATLAB v. 6

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Inżynieria Środowiska I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

SZTUCZNA INTELIGENCJA

Algorytmy sztucznej inteligencji

Prof. Stanisław Jankowski

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne.

1.12. CAŁKA MOHRA Geometryczna postać całki MOHRA. Rys. 1

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

sieci jednowarstwowe w MATLABie LABORKA Piotr Ciskowski

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Metody jakościowe i ilościowe na usługach wyceny nieruchomości

Lekcja 5: Sieć Kohonena i sieć ART

Uczenie sieci typu MLP

Zrealizować sieć neuronową (learnbpm) uczącą się odwzorowania z = x 2 + y 2 dla x i y zmieniających się od -1 do 1.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

Ćwiczenie N 14 KAWITACJA

KARTA MODUŁU / KARTA PRZEDMIOTU A. USYTUOWANIE MODUŁU W SYSTEMIE STUDIÓW B. OGÓLNA CHARAKTERYSTYKA PRZEDMIOTU

WYZNACZANIE KRYTYCZNEGO STĘŻENIA MICELIZACJI PRZEZ POMIAR NAPIĘCIA POWIERZCHNIO- WEGO METODĄ MAKSYMALNEGO CIŚNIENIA BANIEK

DB Algebra liniowa 1 semestr letni 2018

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

I EKSPLORACJA DANYCH

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

PRZEWODNIK PO PRZEDMIOCIE

PLAN NIESTACJONARNYCH STUDIÓW PIERWSZEGO STOPNIA (INŻYNIERSKICH) NA KIERUNKU INFORMATYKA

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

SZTUCZNA INTELIGENCJA

Technika światłowodowa Optical fiber techniques. Elektrotechnika II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

ID1SII4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

kierunkowy (podstawowy / kierunkowy / inny HES) obowiązkowy (obowiązkowy / nieobowiązkowy) polski pierwszy

Systemy uczące się wykład 2

Przestrzenie liniowe w zadaniach

Przemysłowe Sieci Komputerowe Industrial Computer Networks

Wyznaczanie profilu prędkości płynu w rurociągu o przekroju kołowym

Sztuczne sieci neuronowe Ćwiczenia. Piotr Fulmański, Marta Grzanek

Technologie Informacyjne Information technologies. Energetyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

Wstęp do sieci neuronowych, wykład 13-14, Walidacja jakości uczenia. Metody statystyczne.

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Metody systemowe i decyzyjne w informatyce

WIELOCZUJNIKOWE NADZOROWANIE STANU NARZĘDZI

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

Karta (sylabus) modułu/przedmiotu

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

1. Logika, funkcje logiczne, preceptron.

Transkrypt:

Uniersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Steroania i Systemó Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Semestr letni 2010 Laboratorium nr 4 LINIOWE SIECI NEURONOWE Proadzący:.. Cele ćiczeń: 1. Celem ćiczenia jest poznanie struktur sieci neuronoych zbudoanych przy użyciu neuronó linioych jak rónież poznanie metod ich uczenia oraz zbadanie zalet oraz ograniczeń niniejszych struktur. Struktura linioych sieci neuronoych pod ieloma zględami przypomina sieci perceptronoe, jedyna różnica polega na ykorzystaniu linioych neuronach linioej funkcji aktyacji zamian za funkcję skokoą (Rys. 1). Dzięki linioej funkcji aktyacji neurony są stanie generoać sygnały yjścioe o doolnej artości jednakże nie są olne od ograniczenia znanego dla perceptronó a mianoicie mogą roziązyać jedynie problemy, które są linioo separoalne. u 1 Blok u ϕ y u n ϕ = u y = aϕ i i i= 0 Rys. 1 Struktura neuronu z linioą funkcją aktyacji gdzie u 1, u 2,..., u n - sygnały ejścioe, 1, 2,..., n - artości ag, y - sygnał yjścioy

Rys. 2 Granica decyzyjne neuronu z linioą funkcją aktyacji Neuron o strukturze przedstaionej na rysunku 1 może być tak uczony, aby realizoał funkcje linioe lub by aproksymoał za pomocą funkcji linioych funkcje nielinioe jednakże neuron linioy żadnym ypadku nie jest stanie realizoać odzoroań nielinioych. Podobnie jak dla perceptronu można przestrzeni zmiennych ejścioych yznaczyć dla linioego neuronu granicę decyzyjną, dla której neuron generuje sygnał o artości 0 na yjściu. Sygnałom ejścioym znajdującym się na rysunku jego górnej ciemniejszej części odpoiada na yjściu neuronu sygnał iększy od zera dla artości ejść z obszaru jaśniejszego uzyskujemy na yjściu neuronu sygnał ujemny. Takie działanie neuronu może zostać ykorzystane celu klasyfikacji danych do dóch zbioró, przy czym należy pamiętać, że zbiory te muszą być linioo separoalne. Proces uczenia linioej sieci neuronoej przebiega podobnie jak sieci perceptronoej, a mianoicie na stępie należy przygotoać zbiór uczący składający się z par ektoró reprezentujących ejścia p oraz oczekiane dla nich sygnały yjścioe t {p 1,t 1 }, {p 2,t 2 },...,{p,t } Następnie kolejne elementy zbioru uczącego podaane są na ejścia sieci i yznaczana jest odpoiedź sieci a. W kolejnym kroku odpoiedź sieci a porónyana jest z artością, jaka była oczekiana na yjściu sieci t i yznaczana jest artość błędu e=t-a. Następnie agi neuronó modyfikoane są tak, aby artość błędu średniokadratoego (ang. mean suared error) była jak najmniejsza. 1 mse = k = 1 e ( k ) = ( t( k ) a( k )) 2 1 Ponieaż funkcja błędu średniokadratoego dla sieci z linioymi neuronami jest funkcją kadratoą zględem ag, ięc posiada tylko jedno minimum globalne lub nie posiada minimum albo posiada minimum tz. słabe, opcja z jaką mamy do czynienia zależy od konkretnych danych uczących. Zadanie yznaczenia ag takiej sytuacji sproadza się do znalezienia artości ag, dla których funkcja błędu przyjmuje najmniejszą artość. Sproadza się to do roziązania odpoiedniego układu rónań, co oznacza, że odpoiednie agi yznaczane są bezpośrednio jednym kroku algorytmu uczącego. Jednakże nie zasze takie roziązanie jest możlie do zastosoania ze zględu na pojaiające się przy nim problemy numeryczne. W takiej sytuacji z pomocą przychodzi algorytm uczenia Widroa-Hoffa, który bazuje na procedurze najiększego spadku. W niniejszym podejściu błąd średniokadratoy jest zastępoany przez błąd kadratoy, który jest liczony kolejnych iteracjach algorytmu a modyfikacje ag liczone są jako k = 1 2

pochodne cząstkoe z funkcji błędu zględem odpoiednich ag. Po yznaczeniu odpoiednich pochodnych zór na modyfikację ag przyjmuje następującą postać: (k+1)=(k)+2αe(k)p(k), gdzie k to numer iteracji, to agi, e to błędy uczenia, p zorce uczące, α krok uczenia. Jeżeli krok uczenia jest odpoiednio duży to proces uczenia przebiega szybko jednak zbyt duża artość tego parametru może poodoać destabilizoanie procesu uczenia i ziększenie błędu kolejnych iteracjach zamiast zmniejszenia. Linioe sieci neuronoe posiadają najczęściej tylko jedną arstę neuronó, ponieaż doolna ieloarstoa sieć z neuronami linioymi może zostać przekształcona do sieci jednoarstoej bez modyfikacji jej działania. Praktyczne skazóki odnośnie symulacji linioych sieci neuronoych programie Matlab Torzenie linioej sieci neuronoej W celu storzenia linioej sieci neuronoej należy posłużyć się funkcją nelin, która posiada następującą strukturę net=nelin(pr,s,lr), gdzie net to obiekt opisujący storzoną sieć, PR macierz z artościami minimalnymi I maksymalnymi dla kolejnych ejść, S liczba neuronó, lr krok uczenia. : net = nelin([-1 1],1) Dostęp do ag i biasó sieci odbya się identycznie jak sieci perceptronoej. Projektoanie sieci poprzez bezpośrednie yznaczanie jej ag za pomocą funkcji nelind, która posiada następującą strukturę net=nelind(p,t) gdzie P i T to dane uczące. P = [1 2 3]; T = [2.0 4.1 5.9]; net = nelind(p,t); Uczenie metodą Widroa-Hoffa za pomocą funkcji train lub adapt, których struktura przedstaia się następująco: net=train(p,t), net=adapt(p,t),

gdzie P i T to dane uczące, różnica działaniu obu funkcji jest taka sam jak dla sieci perceptronoych. : net = nelin([-1 1],1); P= {0-1 1 1 0-1 1 0 0 1}; T = {0-1 0 2 1-1 0 1 0 1}; net = adapt(net,p,t); P = [P]; T = [T]; net.trainparam.epochs = 200; net.trainparam.goal = 0.1; net = train(net,p,t); Symulacja linioych sieci neuronoych odbya się identycznie jak sieci perceptronoych za pomocą funkcji sim. Aby yznaczyć maksymalny dopuszczalny krok uczenia należy użyć funkcji maxlinlr, której struktura przedstaia się następująco lr = maxlinlr(p,'bias') gdzie P to ejścioe zorce uczące: P = [1 2-4 7; 0.1 3 10 6]; lr = maxlinlr(p,'bias') Przedstaienie ykresu funkcji błędu funkcji ag (tylko dla przypadkó gdy dany jest jeden neuron z tylko jednym ejściem) można zrealizoać za pomocą następującej sekencji instrukcji P = [1 1.2] T = [0.5 1] _range=-1:0.1:1; b_range=-1:0.1:1; ES=errsurf(P,T,_range,b_range, purelin ) plotes(_range,b_range,es) Symulacja linioych sieci neuronoych z opóźnieniami (czyli z ejściami zdefinioanymi jako opóźnione artości ejść już istniejących, Rys. 3) ymaga następującej sekencji instrukcji u(k-1) u(k) 2 1 1 0 ϕ Blok aktyacji y n

Rys. 3 Linioy neuron z opóźnionymi sygnałami ejścioymi, gdzie k numer próbki sygnału ejścioego P={3 4 5 6} net=neline([1 10],1) net.inputweights{1,1}.delays=[0 1 2] <- definicja opóźnionych ejść 0 - u(k), 1 u(k-1), 2 u(k-2) pi={1 2} < startoe artości dla ejść u(k-1) i u(k-2) A=sim(net,P,pi) <-symulacja sieci z opóźnieniami Zadania (Przed rozpoczęciem roziązyania zadań można obejrzeć przykładoe problemy roziązane za pomocą linioych sieci neuronoych uruchamiając skrypty demolin1, demolin2, demolin4, demolin5, demolin6, demolin,7 demolin8 i demolin9) Przeproadzić uczenie neuronu z linioą funkcją aktyacji z jednym ejściem dla danych przedstaionych poniżej. Porónać agi nauczonego neuronu przy użyciu reguły Widroa- Hoffa (za pomocą funkcji train) z agami yliczonymi bezpośrednio, zbadać czy nauczony neuron dobrze działa dla danych, które służyły jako zorce uczące (ykorzystać instrukcje sim) P=[1 1.2] T=[1 0.5] P=[-3.2 4.5 5.6 3] T=[-4 5 6.1 3.9] P=[1 2 3 4 5 6 7] T=[3 5 7 9 11 13 15] Przeproadzić uczenie linioej sieci jednoarstoej przy użyciu funkcji adapt oraz train dla następujących danych, zbadać czy nauczony neuron dobrze działa dla danych, które służyły jako zorce uczące). 1.0000 1.5000 1.2000-0.3000 P= -1.0000 2.0000 3.0000-0.5000 2.0000 1.0000-1.6000 0.9000 0.5000 3.0000-2.2000 1.4000 T= 1.1000-1.2000 1.7000-0.4000 3.0000 0.2000-1.8000-0.4000 Dla zadań z punktu pierszego yznaczyć ykresy funkcji błędu raz z zaznaczonym punktem określającym artości nauczonych ag oraz błędu jaki został osiągnięty dla tych ag. (Wskazóka: spradzić jak jest to zrealizoane pliku demolin1)

Dane są następujące funkcje y=2x-3 y=2x^2-5 dokonać ich aproksymacji przedziale ( 10;10) przy użyciu linioego neuronu. (Wybrać dane uczące dla każdej z funkcji i na ich podstaie przeproadzić uczenie neuronu, następnie porónać artości yjścioe z neuronu i artości aproksymoanej funkcji przedstaiając je na jednym ykresie dla każdej z funkcji) Zbadać łaściości uogólniające neuronu. Zbadać czy linioy neuron ma takie same ograniczenia jak perceptron (Znaleźć zadanie klasyfikacji, które linioy neuron nie potrafi roziązać) Zbadać jak linioy neuron uczy się dla różnych ielkości kroku ucznia dla następujących danych P = [1.0-1.2] T = [0.5 1.0], zbadać uczenie się dla następujących ielkości kroku uczenia 0.01, 0.1, 5, 10, 50. Porónać otrzymane yniki z uczeniem przy użyciu kroku uczenia yznaczonego przez funkcję maxlinlr. Identyfikacja systemu linioego za pomocą funkcji adapth %Ustalenie czasu symulacji ze zmianą cech identyfikoanego systemu linioego 4 sekundzie time1=0:0.005:4; time2=4.005:0.005:6; time=[time1 time2]; %zadany sygnał ejścioy dla systemu linioego celu przygotoania próbek do adaptacyjnej identyfikacji systemu X=sin(sin(time*4).*time*8); %liczba próbek dla systemu linioego do 4 sekundy eksperymentu steps1=length(time1); % system linioy zdefinioany jako filtr linioy o skończonej odpoiedzi impulsoej [T1,state] = filter([1-0.5],1,x(1:steps1)); % od 4 sekundy łaściości filtru zmieniają się spradzamy czy sieć zadoptuje się do zmienionych arunkó steps2 = length(time2); T2 = filter([0.9-0.6],1,x((1:steps2) + steps1),state); T = [T1 T2]; plot(time,x) alabel('czas','sygnał ejscioy','sygnal ejscioy dla filtra') plot(time,t) alabel('czas','sygnal yjscioy','sygnal yjscioy z filtra') %Przygotoanie danych dla sieci neuronoej z opóźnionymi próbkami sygnału ejścioego P = delaysig(x,0,1); % konstrukcja sieci [,b] = initlin(p,t); lr = 0.5; %adaptacja sieci [a,e,,b] = adapth(,b,p,t,lr);

% porónanie sygnału yjścioego z filtra z odpoiedzią linioej sieci neuronoej plot(time,a,time,t,'--') alabel('czas','siec \_\_\_ Filter \_ \_','Odpoiedz linioej sieci neuronoej i filtra') Literatura: 1. Korbicz J., Obuchoicz A., Uciński D., Sztuczne sieci neuronoe. Podstay i zastosoanie, Warszaa 1994.