SZAU 60-74, SZAU
[ Pobierz całość w formacie PDF ]
//-->60ˆy1(k)=f1(u1(k−τ),K,u1(k−nB),K,unu(k−τ),K,unu(k−nB),y1(k−1),K,y1(k−nA))Mˆyny(k)=fny(u1(k−τ),K,u1(k−nB),K,unu(k−τ),K,unu(k−nB),yny(k−1),K,yny(k−nA))Poniewa funkcjef1,K,fnysąrealizowane przez oddzielne sieci neuronowe, sąone uczoneniezale nie. Jest to ogromna zaleta modelu w porównaniu z modelem zło onym tylko z jednejsieci.Je eli chodzi o modele neuronowe w przestrzeni stanu (3.53), równie mogąbyćonezastosowane w przypadku wielowymiarowym. Pokazana na rys. 3.9 struktura modelu uleganiewielkim modyfikacjom (zmienia sięliczba wejśći wyjść, liczba zmiennych stanupozostaje bez zmian). Wejściami pierwszej sieci sąwszystkie sygnały wejściowe wpoprzedniej iteracji, tzn.u1(k−1),K,unu(k−1) oraz, podobnie jak poprzednio, sygnały stanux1(k−1),K,xnx(k−1) . Je eli chodzi o neuronowąrealizacjęrównania wyjścia, mo nazastosowaćsiećonxwejściach inywyjściach lubnyoddzielnych sieci onxwejściach ijednym wyjściu.(3.54)3.5. Dobór architektury sieci3.5.1. Identyfikacja modelu neuronowegoIdentyfikacja modelu, w tym modelu neuronowego składa sięz kilku,ściśle ze sobąpowiązanych, etapów. Ogólna siećdziałańalgorytmu identyfikacji została schematycznieprzedstawiona na rys. 3.12. Pierwszym etapem jest pozyskanie danych. Zazwyczajpozyskanie danych odbywa sięjednokrotnie, ale mo na sobie równie wyobrazićsytuacje, wktórych istniejący zbiór danych musi byćuzupełniony (np. wówczas, gdy liczba danych jestdu a, ale ich zakres jest mniejszy ni zakres pracy modelowanego zjawiska lub urządzenia).Liczba zmiennych wejściowych modelu statycznegoy=f(x1,K,xN) odpowiada liczbieargumentów aproksymowanej funkcji (N). W przypadku modeli dynamicznych sprawa jestbardziej zło ona, poniewa liczba wejśćmodelu zale y od liczby wejśćprocesu oraz od rzędudynamiki modelu. Dla procesu o jednym wejściuui jednym wyjściuy, przyjmującnajpopularniejszy model NNARX (3.46) (lub model NNOE (3.47)), w zale ności od rzędudynamiki określonego przez stałeτ,nA,nB, mo na otrzymaćmodel pierwszego rzęduˆτ=1,nA=1,nB=1 :y(k)=f(u(k−1),y(k−1))drugiego rzęduˆτ=1,nA=2,nB=2 :y(k)=f(u(k−1),u(k−2),y(k−1),y(k−2))ˆτ=2,nA=2,nB=2 :y(k)=f(u(k−2),y(k−1),y(k−2))trzeciego rzędu(3.55)(3.56)τ=1,nA=3,nB=3 :τ=2,nA=3,nB=3 :τ=3,nA=3,nB=3 :ˆy(k)=f(u(k−1),u(k−2),u(k−3),y(k−1),y(k−2),y(k−3))ˆ(3.57)y(k)=f(u(k−2),u(k−3),y(k−1),y(k−2),y(k−3))ˆy(k)=f(u(k−3),y(k−1),y(k−2),y(k−3))61i wy szych rzędów. W niektórych zastosowaniach mo e okazaćsię, e najlepsze rezultatymo na osiągnąćprzynA≠nB, na przykład stosując modelˆτ=3,nA=1,nB=3 :y(k)=f(u(k−3),y(k−1))(3.58)Liczba wejśćmodelu neuronowego jest równanA+nB−τ+1. Dla wszystkich powy szychmodeli nale y zastosowaćjeden neuron wyjściowy, poniewa proces ma jedno wyjście.PozyskaniedanychWybór strukturymodeluDobór parametrówmodelu (uczenie)Ocena jakościmodeluAkceptacjaBrak akceptacjiRys. 3.12. Identyfikacja modeluPrzy modelowaniu procesów dynamicznych onuwejściach inywyjściach najwygodniejzastosowaćnyniezale nych, uczonych niezale nie, sieci neuronowych o jednym wyjściu.Przyjmując, e model ka dego wyjścia ma taki sam rząd dynamiki określony przez stałeτ,nA,nB(model dany równaniami (3.54)), ka da z sieci manA+nu(nB−τ+1) wejść.Zakładając natomiast, e modele poszczególnych wyjśćmogąmiećró nądynamikę, czyliprzyjmując ogólny model w postaciˆy1(k)=f1(u1(k−τ1,1),K,u1(k−n1,1),K,unu(k−τ1, nu),K,unu(k−n1, nu),BBy1(k−1),K,y1(k−n1))AMˆyny(k)=fny(u1(k−τny,1(3.59)),K,u1(k−nBy),K,unu(k−τnn ,1ny,nu),K,unu(k−nByn ,nu),yny(k−1),K,yny(k−nAy))m,nka da z sieci (m=1,K,ny) man+∑(nB−τm,n+1)węzłów wejściowych. Liczba wejśćwmAn=1nu62przypadku innych typów modeli dynamicznych (NNFIR, NNAR, NNARMAX) równiezale y od liczby wejśćprocesu i przyjętego rzędu dynamiki. W przypadku modeluneuronowego w przestrzeni stanu (NNSS) określonego równaniem (3.53), liczba węzłówwejściowych pierwszej sieci wynosinx+1, liczba wejśćdrugiej sieci tonx, pierwsza siećmanxwyjść, druga siećma jedno wyjście (nxoznacza liczbęzmiennych stanu).Po wyborze wejśći wyjśćmodelu konieczne jest ustalenie liczby warstw sieci, liczbyneuronów ukrytych w ka dej warstwie oraz funkcji aktywacji. Poniewa dwuwarstwowa siećneuronowa z nieliniowąwarstwąukrytąjest doskonałym aproksymatorem funkcji wieluzmiennych [11], najczęściej wykorzystuje sięwłaśnie siećz jednąnieliniowąwarstwąukrytą,przypadki zastosowania sieci trójwarstwowych sąbardzo rzadkie. Przy aproksymacji funkcjiciągłych (i identyfikacji modeli dynamicznych procesów dynamicznych) najczęściej stosujesiębipolarne lub unipolarne funkcje aktywacji pokazane na rys. 3.2.Powracając do ogólnej procedury identyfikacji przedstawionej schematycznie na rys. 3.12,po wyborze struktury odbywa sięuczenie modelu. Poniewa uczenie jest w istocie nieliniowąoptymalizacjąfunkcji błędu modelu (problem minimów lokalnych), dla tej samej strukturysieci proces uczenia powtarza się, np. 10 razy. Je eli najlepszy z nauczonych modeli nie jestwystarczająco dokładny, mo na spróbowaćdouczyćmodele lub te nauczyćje od początku,startując z innego punktu początkowego (określonego przez wagi). Zazwyczaj jednak nale yzmodyfikowaćstrukturęmodelu (zmieniając liczbęneuronów ukrytych lub te rząddynamiki, a tym samym jego wejścia), a następnie nauczyćmodel o zmienionej strukturze.Uczenie bardzo często rozpoczyna sięod sieci o minimalnej liczbie neuronów (K=1). Jeelijakośćmodelu nie spełnia oczekiwań(jest za mało dokładny), przyjmuje sięsiećo dwóchneuronach ukrytych, następnie o trzech itd. Po kilku (lub kilkunastu) próbach mo na znaleźćsieć, która aproksymuje dane ządanądokładnością.Struktura modelu dynamicznego określona jest nie tylko liczbąneuronów ukrytych, ale terzędem dynamiki. Dlatego te zazwyczaj wstępnie przyjmuje siępewne wejścia sieci (np.u(k−1),y(k−1) ), a następnie uczy kilka modeli o ró nej liczbie neuronów ukrytych.Oczywiście dla ka dej struktury siećuczona jest np. 10 razy. Je eli zwiększanie liczbyneuronów ukrytych nie poprawia znacząco jakości modelu, zwiększa sięrząd dynamiki (np.przyjmując wejścia modeluu(k−1),u(k−2),y(k−1),y(k−2) )) i uczy modele o ró nejliczbie neuronów ukrytych. Zazwyczaj, po kilku próbach mo na dobraćtaki rząd dynamiki iliczbęneuronów ukrytych, dla których siećjest wystarczająco dokładna.3.5.2. Dobór danych i generalizacja sieciJakośći liczba danych stosowanych podczas identyfikacji jest sprawązasadniczą,poniewa uczenie i weryfikacja modelu neuronowego odbywa sięwyłącznie na podstawiedanych, adna inna informacja o modelowanym procesie nie jest brana pod uwagę. Naprzykład, podczas modelowania procesu technologicznego zakres zmienności dostępnychdanych musi odpowiadaćzakresowi pracy urządzenia. Je eli dane nie obejmującałegozakresu pracy, otrzymuje sięmodel lokalny.Ka dy model empiryczny, w tym równie oczywiście model neuronowy, musi miećzdolnośćgeneralizacji (uogólniania). Siećuczona jest na podstawie pewnego, w miarębogatego i licznego, zbioru danych, natomiast podczas pracy modelu, np. w algorytmieregulacji, model powinien poprawnie reagowaćna nieco inne pobudzenia, ale oczywiście zprzyjętego zakresu. Aby model neuronowy posiadał zdolnośćgeneralizacji kluczoweznaczenie ma sposób oceny jego jakości (ostatni etap na rys. 3.12). Ocena modelu nie mo eodbywaćsięna tym samym zbiorze danych, który słu y do uczenia. W najprostszympodejściu wykorzystuje siędwa zbiory danych:63a) zbiór uczący,b) zbiór weryfikujący.Pierwszy ze zbiorów słu ywyłączniedo uczenia (błąd modelu jest minimalizowanywłaśnie na tym zbiorze), natomiast ocena jakości modelu odbywa siętylkodla danychweryfikujących. Model uczony jest tak długo, a błąd uczenia osiągnie akceptowalnąwartość.Po zakończeniu procesu uczenia oblicza sięwartośćfunkcji błędu dla danych weryfikujących.Wybór konkretnego modelu spośród kilku ró niących sięarchitekturąlub początkowymiwartościami wag odbywa sięwyłączniena podstawie błędu weryfikacji. Niestety, z opisanympodejściem związane jest pewne niebezpieczeństwo, które zostało zilustrowane na rys. 3.13.W początkowym okresie uczenia zarówno błąd uczenia jak i weryfikacji szybko maleją. Wdrugiej części uczenia błąd uczenia równie maleje, ale wolno. Niestety, od pewnej iteracjibłąd dla danych weryfikujących rośnie. Siećdopasowuje siędo danych uczących, tracizdolnośćgeneralizacji. Zastosowanie sieci „przeuczonej” np. w algorytmie regulacji mo eprowadzićdo złych rezultatów. Uczenie nale y przerwaćwówczas, gdy błąd weryfikacjizaczyna rosnąc. Podczas uczenia, po ka dej aktualizacji wag sieci, nale y obliczyćwartośćbłędu dla danych weryfikujących i zdecydowaćo kontynuacji algorytmu lub o jegozatrzymaniu.BłądBłąd weryfikacjirośnie – koniecuczeniaEwEuEwminCykle ucząceRys. 3.13. Błąd uczeniaEui błąd weryfikacjiEww kolejnych iteracjach algorytmu uczącegoAby zapewnićdobrągeneralizacjęmodelu nale y wykorzystaćtrzy zbiory danych:a) zbiór uczący,b) zbiór weryfikujący,c) zbiór testowy.Analogicznie jak poprzednio, pierwszy ze zbiorów słu y do uczenia, w trakcie któregoobliczany jest na bieąco błąd weryfikacji. Algorytm uczący jest przerywany gdy wartośćbłędu weryfikacji zaczyna wzrastać. Wybór modelu odbywa sięwyłącznie na podstawiebłędu weryfikacji. Na końcu procesu identyfikacji, aby niezale nie sprawdzićwybrany model,oblicza siębłąd dla trzeciego zbioru – zbioru testowego. Zbiór ten nie jest stosowany anipodczas uczenia ani podczas weryfikacji. Je eli błąd testowania jest akceptowalny uznaje się,e wybrany model ma dobre właściwości generalizacji.64PrzykładAby zilustrowaćwpływ liczby neuronów ukrytych na zdolności generalizacji modelu,rozpatruje sięuczenie dwuwarstwowej sieci neuronowej aproksymującej funkcjęnieliniowąy(x)=sin(2x)exp(0,2x)(3.60)przy czym≤x≤10 . W warstwie ukrytej sieci zastosowano neurony z funkcjąaktywacjitypu tangens hiperboliczny. Zbiór uczący liczy 34 próbek, zbiór weryfikujący liczy 101próbek. Zastosowano najprostszy schemat uczenia, w którym następuje maksymalnie 500iteracji algorytmu Levenberga-Marquardta, a następnie zostaje obliczony błąd dla danychweryfikujących (błąd weryfikacji nie jest obliczany na bieąco w trakcie uczenia). Na rys.3.14 pokazano dane oraz wyjście modelu neuronowego zawierającegoK=2neurony ukryte.Niestety, za pomocądwóch neuronów ukrytych nie mo na aproksymowaćdanej funkcji. Pozwiększeniu liczebności warstwy ukrytej doK=5udaje sięotrzymaćdokładny model. Siećdziała prawidłowo zarówno dla danych uczących jak i weryfikujących, które nie uczestnicząw uczeniu co pokazano na rys. 3.15. Błąd uczenia oraz błąd testowania (tabela 3.1) sątegosamego rzędu. DlaK=5neuronów ukrytych siećma bardzo dobre właściwości generalizacji.a)b)Rys. 3.14.Daneorazwyjście modelu neuronowego zawierającegoK=2neurony ukryte:a) zbiór danych uczących, b) zbiór danych weryfikującycha)b)Rys. 3.15.Daneorazwyjście modelu neuronowego zawierającegoK=5neuronów ukrytych:a) zbiór danych uczących, b) zbiór danych weryfikujących
[ Pobierz całość w formacie PDF ]