VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV MECHANIKY TĚLES, MECHATRONIKY A BIOMECHNIKY
ŘÍZENÍ MECHATRONICKÝCH SOUSTAV Doc. RNDr. Ing. Tomáš Březina, CSc, Doc. Ing. Vladislav Singule, CSc Ing. Pavel Houška Ing. Tomáš Marada Ing. Vít Ondroušek Ing. Jaroslav Pulchart Ing. Stanislav Věchet Ing. Milan Turek
Obsah 1
2
Úvod
4
1.1
Co je měkké programování?
4
1.2
Význam a využití měkkého programování
5
1.2.1
Fuzzy logika
5
1.2.2
Neuronové sítě
5
1.2.3
Genetické algoritmy
5
Sekce A
6
Fuzzy řízení
6
2.1
Cíle
7
2.2
Základy fuzzy množin
8
2.2.1
Klasické množiny
8
2.2.2
Korespondence mezi teorií množin, Booleovou algebrou a výrokovým počtem 9
2.2.3
Fuzzy množiny
10
2.3
Lingvistické proměnné
11
2.4
Operace s fuzzy množinami
15
2.5
Inferenční pravidla
17
2.6
Fuzzyfikace
22
2.7
Defuzzyfikace
25
2.7.1
Center of Maximum (těžiště singltonů)
26
2.7.2
Centre of Gravity (těžiště plochy)
27
2.8
Fuzzy regulátory
29
2.8.1
Jednoduchý fuzzy regulátor typu PID
30
2.8.2
Tvorba báze pravidel
31
2.8.3
Seřízení jednoduchého fuzzy regulátoru
34
2.9
Fuzzy Logic Toolbox
35
2.9.1
Návrh vlastností fuzzy regulátoru
35
2.9.2
Implementace fuzzy regulátoru v SIMULINKu
44
2.10
Závěr
46
Literatura
46
3
47
Sekce B
Modelování Dynamických Soustav Neuronovými Sítěmi 3.1
Úvod
47 48
3.1.1
Motivace
48
3.1.2
Úvod do vícevrstvých sítí
50
3.2
Identifikace soustavy neuronovými sítěmi
56
3.2.1
Úvod do identifikace soustavy
56
3.2.2
Výběr struktury modelu
61
3.2.3
Experiment
81
Literatura
90
3
1 Úvod V dnešní době se můžeme setkat v řízení a regulaci s přístupy a principy, které nejsou založeny na klasických metodách, ale na nové vědní disciplíně nazývané Soft Computing (měkké programování).
1.1
Co je měkké programování?
Měkké programování se liší od tradičního deterministického (tvrdého) programování (přístupu) v možnosti zpracování nepřesností, nejistoty a částečně (nepřesně) platných údajů. Příkladem reálného modelu měkkého programování je lidský mozek. Princip měkkého programování spočívá ve využití výše zmíněných vlastností k dosažení poddajnosti, robustnosti a nízkých nároků výpočetního systému. Základní výchozí myšlenky měkkého programování spojují tyto metody teorie měkkých výpočtů: fuzzy množiny, analýza komplexních systémů, měkká datová analýza a neuronové sítě. Nejdůležitějšími částmi měkkého programování jsou: -
fuzzy logika,
-
neuronové sítě,
-
pravděpodobnostní usuzování.
V měkkém programování se dále využívá následujících metod: -
genetické algoritmy,
-
teorie chaosu
-
teorie strojového učení
Měkké programování není “směs“ těchto metod, ale spíše se jedná o symbiózu a přispívání každé metody k řešení daného problému v jeho doméně působnosti, tedy použité metody se vzájemně doplňují.
1.2
Význam a využití měkkého programování
V mnoha případech je možné problém vyřešit mnohem efektivněji při současném využití příspěvků jednotlivých metod, než výlučným zpracováním pomocí metody jediné, kde uspokojivé řešení nemusí být nalezeno a bylo by potřebné speciálně vybírat metodu pro každý specifický problém zvlášť. Příkladem velmi efektivních metod jsou fuzzy-neuronové systémy. Jejich využití jako expertního systému lze najít ve spotřební elektronice (klimatizace, pračky, kopírky, videokamery…) i v průmyslových aplikacích.
1.2.1 Fuzzy logika Jedná se o rozšíření klasické teorie množin na fuzzy množiny. Teorie fuzzy množin spočívá v zavedení tzv. stupně příslušnosti prvku k množině, který může nabývat hodnot z intervalu 0,1 na rozdíl od klasické teorie množin, kdy každý prvek do množiny buď patří nebo nepatří. Fuzzy logika nám poskytuje jazyk s vlastní syntaxí a sémantikou, který nám umožňuje použití kvalitativně formulovaných zkušeností a znalostí o řešeném problému.
1.2.2 Neuronové sítě Jedná se o výpočetní struktury složené z matematických neuronů. Vlastnosti těchto neuronů jsou odvozeny od reálného (živého) neuronu v lidském mozku. Neuronové sítě mají schopnost se učit, ale potřebují k tomu učitele (některé typy neuronových sítí jsou i samoučící, např. Kohonenovy neuronové sítě).
1.2.3 Genetické algoritmy Tyto realizují náhodné prohledávání prostoru podobně, jako v přírodě probíhá vývoj života. Provádíme tedy simulovanou evoluci v následujících krocích. 1.
Vznik jedinců, tj. vytvoření první generace jedinců.
2.
Selekce, křížení a mutace. Nová generace vzniká křížením a selekcí, při které vybíráme jedince, kteří jsou „blíže“ k požadovanému řešení. Připouštíme i náhodnou mutaci jedinců při křížení.
3.
Nahrazení dokonalejšími jedinci. Starší a generace „slabších“ jedinců je nahrazena novou generaci „dokonalejších“ jedinců.
5
2 Sekce A
FUZZY ŘÍZENÍ
6
2.1
Cíle
Cílem této publikace je seznámit studenty pouze s principy fuzzy řízení, a proto soustředíme následující výklad pouze na následující základní charakteristiky fuzzy přístupů. 1.
Základy fuzzy množiny a lingvistické proměnné.
2.
Operace s fuzzy množinami.
3.
Vyhodnocování rozhodovacích pravidel - inferenční pravidla.
4.
Přiřazení k výstupní fuzzy množině vhodnou ostrou hodnotu akční veličiny defuzzyfikace.
5.
Strukturu fuzzy řízení.
7
2.2
Základy fuzzy množin
2.2.1 Klasické množiny Množiny budeme označovat velkými písmeny A , B ,…, kdežto jejich prvky malými písmeny a , b ,…. Výrok „prvek a patří do množiny M “ se označuje a Î M . Symbolem U budeme označovat univerzální množinu, univerzum. Naopak prázdnou množinu, která neobsahuje žádný prvek, budeme označovat jako Æ . Jestliže každý prvek množiny A je součastně prvkem množiny B , potom množina A je podmnožinou množiny B , tedy AÍ B. Jestliže současně platí A Í B a B Í C pak platí, že A= B. Jestliže platí, že A Í B a součastně A ¹ B , potom A je vlastní podmnožinou množiny B , tedy AÌ B. Číslo, které udává počet prvků patřící do množiny A , nazýváme kardinalitou množiny A a označujeme jej A. Množinu všech podmnožin množiny A nazýváme potenční množinou množiny A a platí pro ni R ( A) = 2 . A
Množiny lze charakterizovat: výčtem prvků množiny M = { x1 , x2 , x3 , x4 } , pravidlem, kterému musí prvky vyhovovat, např. prvky x mají společnou vlastnost V ( x ) což
{
}
označujeme jako x V ( x ) .
8
charakteristickou funkcí m M ( x ) , pro kterou platí
Obr. 2.2.1: Příklad charakteristické funkce množiny m M ( x ) Příklad charakteristické funkce množiny kladná teplota je uveden na obr. 2.2.1. Prvek x v klasické teorii množin do množiny bud patří nebo nepatří, protože jeho charakteristická funkce nabývá hodnot 1 nebo 0. V tomto případě hovoříme o ostrých množinách, tedy o ostrém rozlišení při rozhodování o příslušnosti.
2.2.2 Korespondence mezi teorií množin, Booleovou algebrou a výrokovým počtem Teorie množin Booleova algebra
Výrokový počet
P(X)
B
F(V)
È
+
Ú
Ç
.
Ù
-
-
-
X
1
1
Ø
0
0
Í
£
→
Tab.1 Korespondence mezi teorií množin, Booleovou algebrou a výrokovým počtem Dá se dokázat, že mezi teorii množin, výrokovým počtem a Booleovou algebrou existuje izomorfismus, viz tab.1. Charakteristická funkce interpretovaná jako pravdivostní hodnota výroku „ a patří do množiny A “ nám neponechává mnoho volnosti při zařazování prvku do množiny. V mnoha případech by nám ale pomohlo, kdybychom měli více pravdivostních hodnot, např. „pravda“, „nepravda“ a „nelze rozhodnout“. Přiřadíme-li těmto pravdivostním hodnotám numerické hodnoty „1“, „0“ a „0.5“, rozšíříme klasickou booleovskou logiku na 9
logiku tříhodnotovou. Základní axiomy pro (nejen) tříhodnotovou logiku jsou uvedeny v tab.2. Pomocí těchto vztahů můžeme nalézt pravdivostní hodnoty pro základní operace v libovolné vícehodnotové logice. Øa
=
1- a
aÙb
=
min ( a, b ) ,
aÚb
=
max ( a, b ) ,
aÞb
=
min (1,1 + b - a ) ,
aÛb
=
1- a - b .
Tab.2 Základní vztahy pro vícehodnotovou logiku
2.2.3 Fuzzy množiny Velmi často jen těžko rozhodneme, do jaké množiny prvek patří a zařazení nemusí být vůbec jednoznačné. Záleží na kontextu, postoji uživatele, náladě, aplikaci apod. Na příklad množina „Daleký“: pro astronomii je „daleký“ objekt vzdálený desítky miliónu světelných let. „Daleký“ je tedy vágní pojem, který záleží na kontextu a nelze jej jednoznačně interpretovat. Použijeme-li u charakteristické funkce základní vztahy pro vícehodnotovou logiku, můžeme chápat hodnotu charakteristické funkce jako stupeň, s jakým daný prvek patří do příslušné množiny. Označme charakteristickou funkci jako funkci příslušnosti m A ( x ) množiny A definované na univerzu U . Funkce příslušnosti je tedy zobrazením charakterizující stupeň z intervalu 0,1 , s jakým daný prvek patří do příslušné množiny. Hodnota 0 znamená, že prvek do množiny určitě nepatří, zatímco 1 znamená, že prvek do množiny určitě patří. Fuzzy množinu tedy můžeme zapsat (pro zdůraznění, že se jedná o fuzzy množinu, označujme ji vlnkou A , B ,…. ) jako % % ìæ m ( x ) öü A = íç A% x ÎU ÷ý . x % îè øþ Poznámka: Různé prameny uvádějí odlišné formy zápisu fuzzy množin, význam je ale zachován. Příklad fuzzy množiny „malé číslo“ A charakterizované výčtem prvků: %
{
}
A = 0 , 0 , 0.1 , 0.2 , 0.5 , 1 , 1 , 10 8 6 4 2 1 0 % kde x = {0,1, 2, 4, 6,8,10}
10
2.3
Lingvistické proměnné
Pomocí fuzzy množin můžeme: Aproximovat libovolné spojité funkce Postupujeme podobně, jako bychom používali aproximátory založené na metodách nejmenších čtverců, kde provádíme aproximaci pomocí goniometrických polynomů. Zaznamenáváme informaci o hodnotě veličiny pomocí lingvistické proměnné, která bude vyjádřena nepřesným verbálním způsobem. Formalizovat znalosti, které jsou ve vágní jazykové formě Chceme-li využít empirických zkušeností obsluh, personálu a expertů, které jsou převážně tlumočeny ve slovní formě, musíme zavést lingvistické proměnné. Lingvistická proměnná je taková proměnná, jejíž hodnoty jsou výrazy nějakého jazyka. Hodnoty lingvistické proměnné můžeme interpretovat jako fuzzy množiny. Množina lingvistických hodnot se označuje jako množina termů, které jsou definovány na univerzu. Např. při regulaci teploty vody v bazénu můžeme teplotu chápat jako lingvistickou proměnnou s názvem „teplota vody v bazénu“. Jakou bude mít lingvistická proměnná hodnotu? Teplotu měříme v technické praxi ve stupních Celsia. Kvantitativní vyjádření teploty v hovorovém jazyce však nemusí být vyjádřeno jen stupni, ale běžně jsou užívány pro označení teploty výrazy jako: voda v bazénu je LEDOVÁ, STUDENÁ, VLAŽNÁ, HORKÁ atd. Jako hodnotu lingvistické proměnné „teplotu vody v bazénu“ pak můžeme označit prvek z množiny teplot {ledová( L ), studená( S ), vlažná(V ), teplá(T ), horká( H ) }. % % % % % Takto zavedená jazyková kvantifikace teplot představuje term, který označuje neostrou množinu, pro kterou je možno definovat charakteristickou funkci m S ( x ) , kde x je hodnota % teploty . Poznámka: U některých typů lingvistických proměnných musíme zadat všechny použité termy. Je-li lingvistických proměnných velké množství, snažíme se tvorbu termů algoritmizovat a následně je generovat pomocí generativní gramatiky. Jako příklad těchto funkcí uvádíme funkce příslušnosti neostrých množin „studená“ a „vlažná“. Příslušnosti m S ( x ) a mV ( x ) jsou uvedeny na obr. 2.3.1. Univerzum U je chápáno jako % % množina všech teplot. Každý z termů „studená“ a „vlažná“ je definován funkcí příslušnosti na daném univerzu ve stupních Celsia.
11
Obr. 2.3.1: Funkce příslušnosti m S ( x ) a mV ( x ) %
%
-
Naměříme-li teplotu x = 20o C , pak m S ( x ) = 0 a jistě tato naměřená teplota nepatří % do termu – lingvistické hodnoty „studená“,
-
naměříme-li teplotu x = 0o C , pak m S ( x ) = 0,5 což indikuje, že tato naměřená %
teplota patří do termu – lingvistické hodnoty „studená“ stupněm příslušnosti 0.5 , -
naměříme-li teplotu x = -10o C , pak m S ( x ) = 0.9 a je zřejmé, že tato naměřená %
teplota patří do termu – lingvistické hodnoty „studená“ stupněm příslušnosti 0.9 , -
naměříme-li teplotu x = -20o C , pak m S ( x ) = 1 a i tato naměřená teplota patří do % termu – lingvistické hodnoty „studená“ se stupněm příslušnosti 1,
-
naměříme-li teplotu x = +15o C , pak je m S ( x ) = 0.2 a tato naměřená teplota patří %
do termu – lingvistické hodnoty „studená“ se stupněm příslušnosti 0.2 . Ale pozor, funkce příslušnosti mV ( x ) = 0.9 , z čehož plyne, že tato naměřená teplota patří také %
do množiny-termu „vlažná“ se stupněm příslušnosti 0.9 . Vidíme tedy, že
{ {
}
S = 0 , 0.2 , 0.5 , 0.9 ,1 , 20 15 0 10 -20 % V = 0.2 , 0.9 , 0 , 0 ,0 . 20 15 0 -10 -20 %
}
Proces přiřazování měřených hodnot vstupních veličin do fuzzy množin pomocí funkcí příslušností se označuje jako fuzzyfikace (viz. podkapitola 2.6.). Pro regulační úlohy se používají standardní funkce příslušnosti: A -funkce (funkce trojúhelníková), L -funkce (viz obr. 2.3.1), P -funkce (funkce lichoběžníková), G -funkce, S -funkce a Z -funkce. Dále se v textu omezíme na funkce složené z lineárních úseků. Pro označování hodnot lingvistických proměnných se též používají standardní označení, uvedené v tab.3.
12
Význam
označení
Hodnota velká záporná
ZV
Hodnota střední záporná
ZS
Hodnota malá záporná
ZM
Hodnota záporná blízká nule
ZN
Hodnota nulová
NU
Hodnota kladná blízká nule
KN
Hodnota malá kladná
KM
Hodnota střední kladná
KS
Hodnota velká kladná
KV
Tab.3 Lingvistické termy Příklady dalších lingvistických proměnných Lingvistická proměnná
Označení lingvistické hodnoty - termy
Úhel
záporný, nulový, kladný
Vzdálenost
nulová, blízká, střední, veliká, obrovská
Otevření ventilu
NU, KN, KM, KS, KV
Tepelný výkon
ZV, ZS, NU, KS, KV
Teplota
ZV, ZS, ZM, NU, KM, KS, KV
Regulační odchylka
ZV, ZS, ZM, ZN, NU, KN, KM, KS, KV
Přírůstek regulační odchylky
záporný (Z), kladný (K)
Pro lingvistické proměnné Úhel, Otevření ventilu, Regulační odchylka a Přírůstek regulační odchylky jsou na obr. 2.3.2, 2.3.3, 2.3.4, 2.3.5 zobrazeny funkce příslušnosti pro jejich lingvistické hodnoty - termy.
13
Obr. 2.3.2: Funkce příslušnosti proměnné „Otevření ventilu“ a její hodnoty (termy)
Obr. 2.3.3: Funkce příslušnosti proměnné „Úhel“ a její hodnoty (termy)
Obr. 2.3.4: Funkce příslušnosti proměnné „Regulační odchylka“ a její hodnoty (termy).
Obr. 2.3.5: Funkce příslušnosti proměnné „Přírůstek regulační odchylky“a jeho hodnoty (termy). 14
2.4
Operace s fuzzy množinami
Fuzzy množiny jsou zobecněním klasických ostrých množin. Využijeme tedy vztahy z vícehodnotové logiky (viz. tab.2) a uvedeme jen základní operace a tvrzení pro práci s fuzzy množinami. Poznámka: Existují i některá tvrzení, které nemusí platit pro každou fuzzy množinu. Např. De Morganovy zákony, nebo dvojitá negace, tj. A = A , nemusí platit pro % % zobecněný fuzzy komplement. Operátory fuzzy logiky jsou následující. Fuzzy komplement (doplněk množiny A ) ØA ( A ): % % % mØA ( x ) = 1 - m A ( x ) , "x Î U . %
Fuzzy průnik množin A Ç B : % % m AÇ B ( x ) = min {m A ( x ) , m B ( x )} , "x Î U . %
%
%
%
ÈB Fuzzy sjednocení množin A % %:
m AÚ B ( x ) = max {m A ( x ) , m B ( x )} , "x Î U . %
%
%
%
Fuzzy rozdíl množin A - B = A Ç ØB . % % % % Fuzzy symetrická diference A + B = ( A - B ) È ( B - A) . % % % % % % Operace fuzzy průnik, sjednocení a komplement jsou uvedeny na obr. 2.4.1. Platí následující tvrzení. Komutativní A Ç B = B Ç A, A È B = B È A . % % % % % % % % Asociativní
( A Ç B) Ç C = A Ç ( B Ç C ), % % % % % % ( A È B) È C = A È ( B È C ).
% % Distributivní
%
%
%
%
( A Ç B) È C = ( A È C ) Ç ( B È C ) , % % % % % % % ( A È B) Ç C = ( A Ç C ) È ( B Ç C ). %
%
%
%
%
%
%
Některé další operace s fuzzy množinami jsou následující. Operace algebraický součet a součin, omezený součet a omezená diference.
15
Obr. 2.4.1: Operace s fuzzy množinami: průnik, sjednocení a komplement
16
2.5
Inferenční pravidla
Dále se již budeme zabývat aplikací fuzzy množin pro řízení. Obecně je logické ovládání a řízení založeno na vyhodnocování rozhodovacích pravidel ve formě JESTLIŽE platí podmínka, PAK …. Pro fuzzy ovládání a řízení je podmínka vyjádřena formou implikace dvou fuzzy výroků, většinou jako: JESTLIŽE
, PAK , Eventuálně v anglické formě IF , THEN . Tato podmínka je označována jako „produkční pravidlo“. První fuzzy výroková množina je podmínka (ancedent), mívá často formu složeného výroku, vázaného logickými spojkami. Druhý fuzzy výrok odpovídá důsledku (konsekvent) (např. vykonání činnosti, platnost určitého fuzzy výroku…). Příklad jednorozměrné závislosti. Jestliže je regulační odchylka kladná, pak akční zásah bude též kladný IF < e . kladný>, THEN < u . kladný>. Ancedent je lingvistická proměnná e (regulační odchylka) a její hodnota je „kladná“ (fuzzy množina K ) s funkcí příslušnosti m K ( e ) . Konsekvent obsahuje lingvistickou proměnnou % % (akční veličinu) u s hodnotou „kladná“ a její funkce příslušnosti je m K ( u ) , což je znázorněno % na obr. 2.5.1.
Obr. 2.5.1: Mamdaniho implikace na jednorozměrné závislost. Změříme-li hodnotu regulační odchylky e0 , pak můžeme v obr. 2.5.1 pomocí funkce
příslušnosti m K ( e ) odečíst stupeň příslušnosti a , s jakým změřená hodnota přísluší k %
množině hodnot e kladná (fuzzy množina K ). Úkolem regulace je však nalézt pro regulační % odchylku odpovídající fuzzy množinu konsekventu. Nejčastějším postupem pro určení této množiny vychází z logického předpokladu, že důsledek může mít maximálně stupeň ten příslušnosti, který má podmínka (Mandaniho implikace). Stupeň příslušnosti naměřené hodnoty regulační odchylky e0 tedy určuje hladinu,
která nám ořízne výstupní fuzzy množinu. Funkce příslušnosti konsekventu pak je *m K ( u ) . %
17
Ukažme si nyní pravidlo používané v PI regulátoru. IF < e je velká záporná> AND < e& je kladné> THEN < u& je kladné>. Zobecníme tento případ na dvourozměrnou závislost Pravidlo IF < x je velká záporná> AND < y je kladné střední> THEN < u je kladné střední>, vyjadřuje Mamdaniho a Larsenova implikace. Je možno ukázat celou řadu implikací (Zadehova, Stochastická, Gougenova, …[1]), ale z hlediska ovládání a řízení jsou nejdůležitější Mamdaniho implikace, které definují funkci příslušnosti konsekventu jako
m RC ( x, y ) = min {m A ( x ) , m B ( y )} . %
%
Minimalizací se vyjadřuje skutečnost, že důsledek (konsekvent) může mít maximálně takový stupeň příslušnosti, jako má podmínka (ancedent). Poznámka: Dále v textu použijeme i Larsenovu implikaci, a proto je třeba také uvést její funkci příslušnosti, tedy
m RL ( x, y ) = m A ( x ) × m B ( y ) . %
%
Nalezení výstupních množin pro dvourozměrnou závislost a jedno rozhodovací pravidlo vychází z toho, že překrývají-li se pravidla, pak každé pravidlo v ancedentu vygeneruje svou individuální výstupní fuzzy množinu, a tyto množiny se také překrývají. Dále vybíráme podle Mamdaniho minimum (operátor AND). Ukažme interpretaci tohoto pravidla na výše zmíněném pravidlu. Nalezení výstupní množiny pro jedno pravidlo a dvourozměrnou závislost je znázorněnona obr. 2.5.2. Použitím Mamdaniho implikace obdržíme funkci příslušnosti konsekventu jako minimum z ancedentu. To znamená oříznutí funkce příslušnosti konsekventu na hladině a , která odpovídá minimu ze stupňů příslušnosti pro obě vstupní ostré hodnoty x0 a y0 , tedy
a = m ZV ( x0 ) Ù m KS ( y0 ) = min {m ZV ( x0 ) , m KS ( y0 )} . %
%
%
%
Pro funkci příslušnosti konsekventu pak obdržíme *m KS ( u ) = a Ù m ZS ( u ) = min {a , m ZS ( u )} . %
%
%
Je-li použit operátor OR, pak vybíráme maximum z odpovídajících funkcí příslušnosti - viz. obr. 2.5.3. Oříznutí funkce příslušnosti konsekventu je provedeno na hladině b , která odpovídá maximu z obou funkcí příslušnosti vstupních hodnot.
18
Obr. 2.5.2: Nalezení výstupní fuzzy množiny pro jedno pravidlo a dvourozměrnou závislost operátorem AND
Obr. 2.5.3: Nalezení výstupní fuzzy množiny pro jedno pravidlo a dvourozměrnou závislost operátorem OR Nalezení výstupní množiny pro dvě pravidla a dvourozměrnou závislost a Mamdaniho implikaci je zobrazeno na obr. 2.5.4. Rozhodovací pravidla mají nyní tvar IF <x.KM> AND THEN ELSE IF <x.KS> AND THEN Pro obě rozhodovací pravidla jsou určeny funkce příslušnosti dvou výstupních lingvistických proměnných, pro které platí:
a1 = m KM ( x) Ù m KM ( y ) = min{m KM ( x) Ù m KM ( y )}, %
%
%
%
%
%
%
a 2 = m KS ( x) Ù m KM ( y ) = min{m KS ( x) Ù m KM ( y )}. %
Pro konsekventy obou implikací dostaneme, že *m KM (u ) = a1 Ù m KM (u ) = min{a1 , m KM (u )}, %
%
%
%
%
*m KS (u ) = a 2 Ù m KS (u ) = min{a 2 , m KS (u )}. %
Konsekventy obou implikací *m KS (u ) a *m KM (u ) určují jejich dílčí podíly na velikosti akční %
%
veličiny u . Spojku ELSE (jinak) interpretujeme jako logický součet a poté pro výstupní fuzzy množinu obou účinků dostaneme, že
{
}
*mC (u ) = max min {a1 , mKM ( u )} , min {a 2 , mKS ( u )} . %
%
%
Toto pravidlo je možno rozšířit na libovolný počet rozhodovacích pravidel. 19
Obr. 2.5.4: Nalezení výstupní množiny pro dvě pravidla a dvourozměrnou závislost Můžeme také použít Larsenovy implikace; pak výstupní množina pro dvě rozhodovací pravidla nebude oříznuta hladinami a a b , ale bude vynásobena těmito hladinami jak je vidět na obr. 2.5.5.
Obr. 2.5.5: Inference s použitím Larsenovy implikace Pro dvourozměrnou funkční závislost lingvistických proměnných x , y tvoří inferenční pravidla dvojice, které patří do množiny A ´ B , která je dána kartézským součinem % % P = {( x, y ) x Î A, y Î B} % % 20
Počet pravidel pro dvě fuzzy veličiny (dvourozměrná závislost: regulační odchylka e a změna regulační odchylky De ) vysvětlíme následovně. Regulační odchylka e
má 5 lingvistických hodnot-termů
(ZV, ZS, NU, KS,KV).
Změna regulační odchylky e&
má 3 lingvistické hodnoty-termy
(Z, NU, K).
Protože „regulační odchylka e “ je fuzzyfikována pěti termy a „změna regulační odchylky e& “ má tři termy, je celkový počet pravidel P = 5 × 3 = 15 , viz obr. 2.6.1 až 2.6.5. Pro počet pravidel tedy platí, že P = n ´ m , kde m a n je počet termů fuzzy množin. Změna akční veličiny u& má 5 lingvistických hodnot-termů (ZV, ZS, NU, KS, KV) e&
e Z NU K
ZV ZV ZV ZS
ZS ZV ZS NU
NU ZS NU KS
KS NU KS KV
KV KS KV KV
Tab.5 Báze pravidel Při praktickém využití fuzzy aproximací a jejich vlastností pro ovládání a řízení je třeba provést následující kroky: 1.
Získat měřením vstupní veličiny.
2.
Normalizovat změřené veličiny na použitá univerza.
3.
Převést vstupní ostrá data na fuzzy data.
4.
Nalézt výstupní fuzzy množinu.
5.
Přiřadit (nalézt) k výstupní množině vhodnou ostrou hodnotu akční veličiny.
Krok 1 je problémem měření a nebudeme ho podrobněji diskutovat. Krok 2 je většinou označován jako normalizace. Problém normalizace spočívá v transformaci proměnných, jejichž hodnoty se pohybují v různých rozsazích tak, aby všechny nabývaly hodnot z jistého normalizovaného univerza, např. z intervalu [-1,1]. Krok 3 je nazýván fuzzyfikací a spočívá v tom, že se každé ostře naměřené hodnotě přiřadí stupeň příslušnosti do jedné nebo více fuzzy množin, viz. podkapitola 2.6. Krok 4 je podrobně rozebrán v této kapitole. Krok 5 se nazývá defuzzyfikací a jeho podstatou je přiřadit výstupní fuzzy množině odpovídající ostrou výstupní hodnotu, viz podkapitola 2.7.
21
2.6
Fuzzyfikace
Při fuzzyfikaci se každé ostře naměřené hodnotě z normalizovaného univerza přiřadí stupeň příslušnosti do jedné nebo více fuzzy množin, které odpovídají významu základních termů použitých v pravidlech. Proto je nutné beze zbytku pokrýt normalizované univerzum nosiči příslušných fuzzy množin. To znamená, že provedeme rozklad univerza na jednotlivé nosiče a následně pak převedeme ostrá data na fuzzy data. K úspěšnému provedení tohoto kroku je zapotřebí stanovit tvar odpovídajících funkcí příslušnosti. Funkce příslušnosti je často možné definovat předem, nebo je odhadnout z dat. K tomuto účelu bylo odvozeno několik metod a podívejme se nyní na některé z nich. Fuzzy množiny odpovídající jednotlivým termům vstupních a stavových veličin budeme nazývat primárními fuzzy množinami. Pokrytí univerza nosiči jednotlivých fuzzy množin musí být takové, aby jejich sjednocení nejen pokrylo celé univerzum beze zbytku, ale aby ani jeden bod neměl stupeň příslušnosti 0. Proto pro žádný prvek univerza není funkce příslušnosti menší, než jisté e . To znamená, že funkce příslušnosti se protínají v úrovních ³ e , a hovoříme o e pokrytí. Tato vlastnost zaručuje, že vždy existuje alespoň jedno dominantní pravidlo. V jistých případech jsou aktivována dvě pravidla pro stejnou ostrou hodnotu se stupněm příslušnosti m = e . Hodnota e se volí alespoň 0,5 . Jedním ze základních problémů je volba počtu fuzzy množin. V minulosti bylo uveřejněno odborníky z oblasti psychologie, umělé inteligence atd několik studií, rozebírajících tento problém z různých úhlů pohledu. Z těchto prací vyplývá, že je ve většině případů vhodné volit nejméně 3 a nejvíce 7 primárních fuzzy množin. Při tom tam, kde jsme schopni přesněji rozlišovat počet úrovní, bychom měli volit větší počet fuzzy množin a naopak. Když jsme nyní vyřešili problém počtu základních fuzzy množin, musíme ještě nalézt odpověď na otázku, jakého tvaru jsou funkce příslušnosti těchto fuzzy množin. Pro mnohé úlohy je možné zvolit tvar a priori. Mnohé úlohy řízení a většinu příkladů aplikace fuzzy množin řešíme právě pomocí předem zvolených funkcí příslušnosti. Jinou možností při určování tvaru funkce příslušnosti je odhad funkce příslušnosti na základě naměřených dat.
22
Pokud můžeme zvolit tvar funkce příslušnosti, snažíme se zvolit tvar co nejjednodušší, často složený pouze z lineárních úseků. Sem patří např.: a) L - funkce x b î
b) funkce trojúhelníkové ( L - funkce ) x g
c) funkce lichoběžníkové ( P - funkce ) x d ïî 0
d) G - funkce x b î
e) S - funkce x g î
V případě, že budeme tvar funkce příslušnosti odhadovat z naměřených dat, je možné použít některou z mnoha metod tzv. expertních odhadů. Rovněž se nabízí využití algoritmů jako fuzzy ISODATA či fuzzy C-means, které byly modifikovány pro práci s fuzzy množinami.
23
Obr. 2.6.1: L - funkce
Obr. 2.6.2: L - funkce
Obr. 2.6.3: P - funkce
Obr. 2.6.4: G - funkce
Obr. 2.6.5: S – funkce
24
2.7
Defuzzyfikace
Výsledkem činnosti bloku rozhodovacích pravidel je soubor funkcí příslušnosti pro jednotlivé termy výstupních lingvistických proměnných. Funkce příslušnosti výstupní množiny je dána sjednocením oříznutých (Mamdaniho implikace) nebo zmenšených (Larsenova implikace) funkcí příslušnosti, viz. obr. 2.5.4 a 2.5.5. Pro praktické provedení akčních zásahů je třeba přiřadit výstupním lingvistickým proměnným ostrou hodnotu akční veličiny v přípustném rozsahu. Tento proces „aproximace neostrých termů“ ostrou hodnotou akční veličiny se nazývá defuzzyfikace. Existuje celá řada metod defuzzyfikace. Poznamenejme, že většina metod nabízí ad hoc řešení, opírající se o empirické ověření, vycházející často z heuristik. Teprve v poslední době bylo pro některé z těchto metod nalezeno teoretické zdůvodnění.
Obr. 2.7.1: Funkce příslušnosti pro jednotlivé termy výstupních lingvistických proměnných Při volbě metody defuzzyfikace můžeme zvolit buď metody, které hodnotu akční veličiny určí výpočtem jako nejlepší kompromis (metody těžiště), nebo metody hledající přijatelné řešení (metody nejvýznamnějšího maxima). Přijatelné řešení: METODA NEJVÝZNAMNĚJŠÍHO MAXIMA U metod tohoto typu hledáme tzv. přijatelné řešení, které vyhovuje podmínkám daným v rozhodovacích pravidlech. Ze všech termů vybereme term s největší hodnotou funkce příslušnosti a nalezneme maximální hodnotu funkce příslušnosti. Tato maximální hodnota pak svým umístěním (v závislosti na zvolené metodě) určí ostrou hodnotu výstupní veličiny. Mezi tyto metody patří: a)
Left of Maximum (LoM) - výsledkem je nejvíce vlevo položená hodnota z největší hodnoty funkce příslušnosti, 25
b)
Mean of Maximum (MoM) - výsledkem je ve středu položená hodnota největší hodnoty funkce příslušnosti,
c)
Right of Maximum (RoM) - výsledkem je nejvíce vpravo položená hodnota z největší hodnoty funkce příslušnosti
Na obr. 2.7.1 je uveden příklad určení akční veličiny uvys metodou Left of Maximum. Protože se hledá jen maximum, vyznačují se tyto metody vysokou výpočetní rychlostí. Naproti tomu jejich nevýhodou je, že akční veličina se může měnit nespojitě. Nejlepší kompromis: METODY TĚŽIŠTĚ Metody těžiště určí z průběhů výstupních termů ostrou výstupní proměnnou jako jejich těžiště. Existují dva základní přístupy "Center of Maximum" a "Center of Gravity".
2.7.1 Center of Maximum (těžiště singltonů) Funkční závislosti jednotlivých termů nahradíme jejich typickými hodnotami a hledáme jejich těžiště. Funkci příslušnosti můžeme aproximovat Diracovým impulsem s vahou, kterou označujeme jako "typickou hodnotu". Poloha Diracova impulsu pro funkci příslušnosti typu Lambda funkce je ve vrcholu trojúhelníka, a pro funkci příslušnosti typu P funkce je uprostřed úseku. V některých případech je možno umístit Diracův impuls do těžiště plochy pod funkcí příslušnosti. Vlastní váha je typická hodnota, která může býti dána koeficientem oříznutí (násobení) a nebo b . Metoda "Center of Maximum" nahrazuje funkční závislost každého výstupního termu jeho typickou hodnotou a ostrou výstupní veličinu uvýs určí jako jejich těžiště - viz. obr. 2.7.2.
Obr. 2.7.2: Výpočet akční veličiny metodou Center of Maximum
26
Vidíme, že r
uvýs =
åa k =1
k
,
r
åa k =1
kde
* uk k
uvýs je výsledná hodnota výstupní veličiny,
a k je hodnota příslušnosti k-tého termu, uk je souřadnice výstupní veličiny k-tého termu.
2.7.2 Centre of Gravity (těžiště plochy) Hledáme těžiště plochy funkce příslušnosti výstupní veličiny. Výslednou hodnotu akční veličiny uvýs určíme jako souřadnici těžiště plochy vzniklé sjednocením dílčích ploch, které jsou určeny ohraničením funkcí výstupních termů s nenulovými hodnotami funkce příslušnosti - viz obr. 2.7.3. Výstupní hodnota akční veličiny se určí ze vztahu uvýs = kde
ò * h (u ) g udu , ò * m (u )du
*m (u ) je průběh funkce příslušnosti výsledné plochy.
Pro defuzzyfikaci je možno použít ještě celou řadu metod, kterými se již nebudeme podrobněji zabývat. Jedná se o např.o COS (Center of Sums), FOM(First of Maxima), HM (Height Method) atd. Je zřejmé, že každá metoda poskytuje mírně odlišné defuzzyfikované výstupy. Použitou metodu proto vždy volíme s ohledem na druh aplikace.
27
Obr. 2.7.3: Výpočet akční veličiny metodou Center of Gravity
28
2.8
Fuzzy regulátory
Nyní když již dokážeme lingvistickou aproximací, tedy fuzzyfikací a defuzzyfikací aproximovat libovolnou spojitou jednorozměrnou či vícerozměrnou funkci, se nabízí možnost využít této aproximace pro konstrukci regulátorů. Jako první se o konstrukci fuzzy regulátoru úspěšně pokusili prof. E. Mandami a dr. S. Assilian na univerzitě v Londýně. Problémy s popisem nelineárního systému je přivedli na myšlenku aproximovat charakteristiky regulátoru pomocí Zadehových pravidel IF-THEN a fuzzy množin. Zjistili, že stačí jen malé množství pravidel k úspěšnému řízení modelu parního stroje, a že regulátor s fuzzy řídicím členem má lepší dynamické vlastnosti, než při použití klasického PI nebo PD regulátoru. Jimi použitá struktura fuzzy regulátoru se stala základem pro konstrukci fuzzy P, PI, PD a PID regulátorů a je v současné době nejvíce používána. Charakteristickým znakem fuzzy řízení je možnost bezprostředního použití empirických znalostí člověka - operátora o řízeném procesu, které označujeme jako bázi znalostí. Báze znalostí tvoří: a)
informace o stacionárních stavech, intervalech ve kterých se pohybují hodnoty vstupních a výstupních veličin, jejich mezní hodnoty, atd. Rozšíříme-li tato data o funkce příslušnosti všech vstupních a výstupních fuzzy množin (jak bude vysvětleno později), pak se všechny tyto informace o procesu v bázi znalostí označují jako báze dat;
b)
kvantitativně formulované zkušenosti včetně slovně definované strategie řízení, pomocí kterých je možno realizovat řízení, tj. generovat akční veličinu. Tyto zkušeností získané strategie řízení označujeme jako bázi pravidel.
Struktura fuzzy regulátoru je nakreslena na obr. 2.8.1. Jeho ústřední člen tvoří tři základní bloky: fuzzyfikace F, inference I a blok defuzzyfikace D. V bloku fuzzyfikace se převádí ostrá data, která jsou naměřena nebo zadána, na fuzzy data. Bloku fuzzyfikace může předcházet blok normalizace, kde se fyzikální hodnoty naměřených či zadaných hodnot převedou na normalizovanou množinu - univerzum. V bloku inference, který tvoří ústřední část regulátoru, se realizuje inferenční mechanismus z rozhodovacích pravidel, pomocí kterého získáváme ze vstupních fuzzy množin výstupní množiny. Blok defuzzyfikace umožňuje přiřadit výstupní fuzzy množině určitou ostrou výstupní veličinu. Za blokem defuzzyfikace může následovat blok denormalizace, kde se provede denormalizace výstupní veličiny, tedy přepočet na fyzikální výstupní veličiny.
29
Obr. 2.8.1: Základní struktura fuzzy regulátoru
2.8.1 Jednoduchý fuzzy regulátor typu PID Výstup číslicového PI regulátoru v přírůstkovém tvaru, který zajišťuje nulovou regulační odchylku, lze vyjádřit takto: u (k ) = u (k - 1) + Du (k ), Du (k ) = q0e(k ) + q1e(k - 1). Výstup číslicového PD regulátoru, který ovšem nezajišťuje nulovou regulační odchylku, lze vyjádřit ve tvaru: u (k ) = K p e(k ) + K D De(k ). Hovoříme-li o jednoduchém fuzzy regulátoru a chceme-li ho porovnávat s PI regulátorem nebo s PD regulátorem, je vstupem těchto regulátorů e(k ) a De(k ) . Výstup je pak nelineární funkcí, která závisí na fuzzyfikaci, inferenci a defuzzyfikaci. Proto pro fuzzy regulátor typu PI bude platit, že Du (k ) = FPI (e(k ), De(k )); u (k ) = u (k - 1) + Du (k ). Fuzzy regulátor typu PD dostaneme jako nelineární funkci ve tvaru u (k ) = FPD (e(k ), De(k )). Struktura fuzzy regulátoru typu PI a PD je znázorněna na obr. 2.8.2 a 2.8.3.
30
Obr. 2.8.2: Struktura jednoduchého fuzzy regulátorů typu PI
Obr. 2.8.3: Struktura jednoduchého fuzzy regulátorů typu PD Jednoduchý fuzzy regulátor s vlastnostmi PI a PD regulátoru vytvoříme nejjednodušším způsobem tak, že tyto dva regulátory paralelně propojíme.
2.8.2 Tvorba báze pravidel Bázi pravidel je možno vytvořit: a)
na základě empirických znalostí obsluhy,
b)
na základě obecně platných metapravidel.
Praxe ukázala, že pro jednoduchý fuzzy regulátor typu PI a PD je možno odvodit bázi pravidel pomocí následujících tří základních metapravidel: MP1: Jestliže regulační odchylka e(k ) a její změna De(k ) jsou nulové nebo blízké nule, pak by měl být přírůstek akční veličiny Du (k ) – akční zásah - nulový nebo blízký nule. MP2: Jestliže regulační odchylka e(k ) klesá k nule nebo se blíží nule s dostačující rychlostí, pak je vhodné neměnit akční veličinu. MP3: Jestliže se regulační odchylka e(k ) nekoriguje sama, potom je třeba akční veličinu změnit a akční zásah Du (k ) bude nenulový. Jeho velikost a znaménko závisí na znaménku a velikosti regulační odchylky e(k ) a velikosti její změny De(k ) .
31
Podle těchto metapravidel byla pro lingvistické proměnné a jejich hodnoty (termy) sestavena báze pravidel lingvistické proměnné a jejich hodnoty (termy) sestavena báze pravidel jednoduchého fuzzy regulátoru typu PI (odstraňuje trvalou regulační odchylku), která je uvedena v tab. č.6. Regulační odchylka
e
{Z , N , K }
Změna regulační odchylky
De
{Z , N , K }
Akční zásah
Du
{Z , N , K } De
e
Z
N
K
Z
Z
Z
N
N
Z
N
K
K
N
K
K
Tab.6: Báze pravidel pro PI fuzzy regulátor V bázi pravidel je možno rozlišit celkem pět následujících skupin pravidel. Skupina 1 Tato skupina pravidel se použije tehdy, jestliže regulační odchylka e(k ) a její změna De(k ) je nulová nebo blízká nule. Znamená to, že regulovaná soustava je v ustáleném stavu nebo v jeho blízkosti. Akční veličina se nemá měnit, čili změna akční veličiny je nulová nebo blízká nule. Skupina 2 Pro aplikaci pravidel této skupiny platí, že regulační odchylka e(k ) je záporná (velká nebo střední) a její změna De(k ) je kladná nebo blízká nule. Důsledkem toho je, že regulační odchylka e(k ) se zmenšuje nebo se nemění. Akční zásah má zrychlit nebo zpomalit přibližování k ustálené hodnotě. Skupina 3 Pro tuto skupinu platí, že regulační odchylka e(k ) je kladná (blízká nule, střední, veliká). Změna De(k ) je kladná velká nebo střední, což znamená, že regulovaná veličina se bude vzdalovat od žádané hodnoty - ustáleného stavu. Kladnou změnou akční veličiny Du (k ) je třeba zajistit přibližování k ustálenému stavu. 32
Skupina 4 Pro aplikaci pravidel této skupiny je charakteristické, že regulační odchylka e(k ) je kladná (velká nebo střední) a její změna De(k ) je záporná nebo nulová. To znamená, že regulační odchylka e(k ) se zmenšuje nebo se nemění. (Porovnej se skupinou 2) Akční zásah má zrychlit nebo zpomalit přibližování k ustálené hodnotě. Skupina 5 Pro tuto skupinu platí, že regulační odchylka e(k ) je záporná (blízká nule, střední, veliká). Změna De(k ) je záporná velká nebo střední. To znamená, že regulovaná veličina se bude vzdalovat od žádané hodnoty - ustáleného stavu. (Porovnej se skupinou 3) Zápornou změnou akční veličiny Du (k ) je třeba zajistit přibližování k ustálenému stavu. Báze pravidel většiny jednoduchých fuzzy regulátorů vychází z výše uvedených pěti skupin pravidel. Báze pravidel lze snadno modifikovat pro jiný počet termů regulační odchylky a její změny, viz. příklad Tab.č.7. Průběh regulačního pochodu závisí nejen na bází pravidel, ale také na tvaru funkcí příslušnosti a zvolené metodě defuzzyfikace. V případě, že průběhy regulačních pochodů nevyhovují zcela našim požadavkům, je třeba hledat nová rozhodovací pravidla, použít jiných metod defuzzyfikace a nebo upravit vhodně funkce příslušnosti. NB
NB NB
NB
NM NS
Z
NB
NB NB
NM
NS
PS
NB
NB NM
NS
Z
PS PM
NB
NM NS
Z
PS
PM PB
NM
NS
Z
PS
PM PB
PB
NS
Z
PS
PM
PB
PB
PB
Z
PS
PM
PB
PB
PB
PB
Z
Tab.7. Regulační odchylka e { NB, NM , NS , Z , PS , PM , PB} ; Změna regulační odchylky De { NB, NM , NS , Z , PS , PM , PB} ; Akční zásah Du { NB, NM , NS , Z , PS , PM , PB}
33
2.8.3 Seřízení jednoduchého fuzzy regulátoru Odezvy regulačních obvodů s fuzzy regulátorem závisí na bázi rozhodovacích pravidel a na bázi dat. Součástí projektu fuzzy regulátoru je získání či vytvoření báze rozhodovacích pravidel, zadání funkcí příslušnosti pro jednotlivé vstupní a výstupní proměnné včetně volby metod fuzzyfikace a defuzzyfikace. Vlastní implementace těchto bázových znalostí pro daný řídící systém nebo produkt se realizuje softwarově. Vynikající podporu poskytuje modul Matlab Toolbox resp. Fuzzy ToolBox - viz podkapitola 2.9. Je zřejmé, že na dynamiku regulačních pochodů má vliv celá řada parametrů, jejichž účinky na dynamiku soustavy lze jen těžko odhadnout. Z těchto důvodů je nastavení všech hledaných parametrů velmi obtížné. Omezíme se proto na nastavování fuzzy regulátoru pomocí měřítek univerza, v anglické literatuře se hovoří o tzv. "Tuning via scaling universes". Princip metody je velmi jednoduchý. Spočívá ve vážení, tj. vstupní i výstupní proměnné fuzzy regulátoru se násobí konstantou - viz obr. 2.8.4. Pomocí vah na vstupu K e a K de měníme měřítka univerza na vstupu a pomocí zesílení K u měníme měřítka na výstupu - akční veličiny. Pokud nedosáhneme požadovaných průběhů regulačních pochodů, je nutno použít jiných postupů, což přesahuje rámec této publikace.
Obr. 2.8.4. Struktura fuzzy regulátorů s vahami pro seřízení regulátoru
34
2.9
Fuzzy Logic Toolbox
Pro návrh fuzzy regulátoru v MATLABu slouží Fuzzy Logic Toolbox. Vlastní simulační výpočty včetně reálných měření s využitím fuzzy regulátoru se provádí v SIMULINKu. Jedním z možných případů, kdy je možné fuzzy regulátor použít, je řízení natočení kol robotu. Úkolem je vytvořit regulátor, který – na základě odchylky od požadovaného směru jízdy a rychlosti – nastaví optimální natočení kol. Problém je v tom, že neexistují rovnice, které by popisovaly závislost optimálního natočení kol na základě uvedených hodnot. Jediné co je známo, jsou obecná pravidla typu: „pokud je odchylka od požadovaného směru velká, je třeba velké natočení kol, ale jen při malé rychlosti, jinak hrozí převrácení robotu“ atd. Na základě takto vyjádřených údajů je vytvoření klasického regulátoru velmi obtížné, ne-li dokonce nemožné, ale pro vytvoření fuzzy regulátoru tyto údaje zcela postačují.
2.9.1 Návrh vlastností fuzzy regulátoru Předtím, než je možné fuzzy regulátor použít v SIMULINKu, je nutné definovat jeho chování. To je možné provést buď z příkazového řádku, nebo pomocí interaktivního grafického prostředí Graphical User Interface (GUI). Musí se nadefinovat vstupní a výstupní proměnné, jejich rozsahy, funkce příslušnosti, inferenční a rozhodovací pravidla a metody fuzzyfikace a defuzzyfikace. Pro tyto požadavky můžeme vyjádřit strukturu fuzzy regulátoru blokově dle obr. 2.9.1. Tuto strukturu v souladu s Fuzzy Logic Toolboxem budeme označovat jako inferenční fuzzy systém (FIS - Fuzzy Inference System).
Obr. 2.9.1: Inferenční fuzzy systém (FIS – Fuzzy Inference Systém) Grafické uživatelské prostředí GUI obsahuje nástroje pro vytvoření, editaci a zobrazování inferenčního fuzzy systému (FIS). Inferenční fuzzy systém (FIS) zahrnuje všechny procesy od definování vstupů až po definování výstupů regulátoru.
35
FIS tvoří tři editory a dvě zobrazení. FIS Editor
(editor inferenčního systému fuzzy regulátoru) – definování počtu vstupů a výstupů a jejich pojmenování.
Membership Function Editor
(editor funkcí příslušnosti) – definování funkcí příslušnosti vstupních a výstupních hodnot.
Rule Editor
(editor pravidel) – definování inferenčních pravidel.
Rule Viewer
(grafické zobrazení pravidel) – grafické zobrazení pravidel a konkrétní hodnoty výstupu pro konkrétní hodnoty vstupu.
Surface Viewer
(grafické zobrazení plochy akčních zásahů) – zobrazení závislosti výstupu na vstupech.
2.9.1.1 FIS Editor FIS Editor se spustí napsáním příkazu: Fuzzy Spuštění FIS Editoru a současné nahrání uloženého FIS se provede napsáním příkazu: Fuzzy <jmeno_souboru> Nahrát uložený FIS je také možné z menu FIS Editoru. Hlavní menu FIS Editoru obsahuje tři položky. File,
které obsahuje položky umožňující vytváření nového FIS, ukládání FIS, načítání FIS, tisk a ukončení FIS Editoru.
Edit,
které obsahuje položky vrácení posledního kroku, přidání vstupních a výstupních proměnných, smazání proměnných, spuštění Membership Function Editoru a Rule Editoru.
View,
ze kterého je možné zobrazit Rule Viewer a Surface Viewer.
V grafickém okně existují tři typy bloků – vstupní proměnné, typ inference a výstupní proměnné. Levá dolní část okna slouží k zadání způsobu výpočtu metod AND, OR, atd. V pravé části se zobrazují parametry jednotlivých proměnných a je možné zde proměnné přejmenovat. Jsou-li spojovací linky mezi bloky vyznačeny čárkovanou čarou, pak nejsou jednotlivé bloky parametrizovány nebo parametrizace není správně ukončena a tento blok není možné zapojit a spustit. Dvojím kliknutím na vybranou vstupní proměnnou reprezentovanou obrázkem je možno přejít do Membership Function Editoru (editoru funkcí příslušnosti). Dvojím kliknutím na typ inference reprezentované obrázkem je možno přejít do Rule Editoru (editoru rozhodovacích pravidel). 36
Dvojím kliknutím na vybranou výstupní proměnnou reprezentovanou obrázkem je možno přejít do Membership Function Editor (editoru funkcí příslušnosti).
Obr. 2.9.2: FIS Editor
37
Příklad: Nastavte parametry FIS: 2 vstupní proměnné v(t), Odchylka(t) a jedna výstupní proměnná NatoceniKol(t). Vše uložte do souboru robot.fis Postup: 1.
Spustit FIS Editor (napsáním příkazu fuzzy).
2.
Přidat druhý vstup (menu Edit – Add variable – Input).
3.
Přejmenovat první vstup (kliknout na blok input1 a v políčku Name napsat v(t)).
4.
Přejmenovat druhý vstup (kliknout na blok input2 a v políčku Name napsat Odchylka(t)).
5.
Přejmenovat výstup (kliknout na blok output1 a v políčku Name napsat NatoceniKol(t)).
6.
Uložit na disk (menu File – Export – To Disk…).
2.9.1.2 Editor funkcí příslušnosti (Membership Function Editor) Spustí se z FIS Editoru buď přes menu (Edit – Membership functions…) nebo dvojím kliknutím na blok vstupu nebo výstupu. Slouží pro definování rozsahů a funkcí příslušnosti jednotlivých proměnných. Jeho okno (viz obr. 2.9.3) se skládá ze čtyř hlavních částí. V levém horním rohu jsou ikony všech proměnných. Kliknutím na ikonu proměnné se proměnná stane aktivní a zbylé části okna slouží k její editaci. Vpravo vedle ikon proměnných je graf s funkcemi příslušnosti, který umožňuje jejich editaci. V levé dolní části je možné nastavit povolený rozsah vybrané proměnné (políčko Range) a zobrazovaný rozsah vybrané proměnné (políčko Display Range). V pravé dolní části je možné nastavit vlastnosti funkce příslušnosti, vybrané v grafu. Je zde možné nastavit jméno vybrané funkce příslušnosti (políčko Name), její tvar (rozbalovací seznam Type) a parametry (políčko Params). Jména funkcí příslušnosti je dobré nastavovat na smysluplné hodnoty, protože se později pomocí nich definují pravidla, která definují závislost výstupu na vstupu. Tvary funkcí příslušnosti, které je možné nastavit jsou: trimf (trojúhelníková), trapme (lichoběžníková), gbellmf, gausmf (gausovská), gaus2mf, pimf, dsigmf a psigmf. Intuitivnější nastavení parametrů funkce příslušnosti je možné pomocí myši v grafu. Výběr funkce příslušnosti se provede kliknutím na požadovanou funkci příslušnosti, editace její pozice se provádí uchopením a přetažením, změna rozměrů uchopením obdélníčku vykresleného na vybrané funkci příslušnosti a jeho přetažením na novou pozici.
38
Obr. 2.9.3: Editor funkcí příslušnosti (Membership Function Editor) Smazání vybrané funkce příslušnosti se provede stiskem klávesy Delete, nebo pomocí menu (Edit – Remove selected MF). Smazání všech funkcí příslušnosti je možné pomocí menu (Edit – Remove all MFs). Přidat funkci příslušnosti lze pomocí menu Edit – Add MFs… Po jeho výběru se zobrazí dialog z obr. 2.9.4, ve kterém vyberete tvar přidávaných funkcí příslušnosti (MF type) a jejich počet (Numer of MFs).
Obr. 2.9.4: Okno pro přidání funkce příslušnosti (Add membership functions) 39
Příklad: Nadefinujte rozsah hodnot a funkce příslušnosti proměnné v(t ) tak, jak jsou vidět na obr. 2.9.4. Postup: 1.
Vybrat proměnnou v(t ) (kliknout na její ikonu v levé horní části okna).
2.
Nastavit rozsah hodnot proměnné (změnit hodnoty v políčku Range – první je minimální hodnota a druhá – oddělená mezerou – je maximální hodnota).
3.
Vymazat předdefinované funkce příslušnosti (Menu Edit – Remove all MFs).
4.
Přidat pět funkcí příslušnosti gausovského tvaru (Menu Edit – Add MFs… a v dialogu nastavit hodnoty podle obr. 2.9.5).
5.
Nastavit pozici funkce příslušnosti (v grafu kliknout na funkci příslušnosti a přetáhnout ji na požadovanou pozici).
6.
Nastavit velikost funkce příslušnosti (kliknout na obdélníček vykreslený na funkci příslušnosti a tažením změnit velikost).
7.
Změnit jméno funkce příslušnosti (kliknutím vybrat a požadované jméno napsat do políčka Name).
8.
Opakovat kroky 5, 6 a 7 pro zbylé čtyři funkce příslušnosti.
2.9.1.3 Editor pravidel (Rule Editor) Spustí se ve FIS Editoru přes menu View – Edit Rules, nebo dvojitým kliknutím na blok typu inference. Slouží k nadefinování pravidel, která určují závislost mezi vstupními a výstupními proměnnými. Jak vypadá jeho okno, je vidět na obr. 2.9.6. V horní části okna je seznam nadefinovaných pravidel a pod ním jsou seznamy hodnot, které mohou nabývat jednotlivé proměnné. Nejsou zde konkrétní čísla, ale jména funkcí příslušnosti, nadefinovaných v Membership Function Editoru, neboli hodnoty lingvistických proměnných. Nadefinování nového pravidla se poté provádí následujícím způsobem. Vyberou se hodnoty vstupních proměnných a jejich vzájemný vztah, odpovídající hodnota výstupní proměnné a váha pravidla (políčko Weight). Stiskem tlačítka Add rule se pravidlo přidá. Vybrané pravidlo lze smazat pomocí tlačítka Delete rule. Postup změny již nadefinovaného pravidla je následující. Vybere se pravidlo, které se má změnit, poté se provede nadefinování nových hodnot jako při vytváření nového pravidla a stiskem tlačítka Change rule se provede změna pravidla.
40
Příklad: Nadefinujte pravidlo: Je-li rychlost velmi velká nebo odchylka velmi malá, bude natočení kol velmi malé. Váhu pravidla nastavte na 0,5 . Předpokládá se, že jsou nadefinované funkce příslušnosti všech proměnných. Postup: 1.
Vybrat hodnotu VelmiVelka vstupní proměnné v(t ) .
2.
Vybrat hodnotu VelmiMala vstupní proměnné Odchylka (t )
3.
Vybrat hodnotu VelmiMale výstupní proměnné NatoceniKol (t ) .
4.
V boxu Connection vybrat hodnotu or .
5.
Nastavit váhu pravidla (do políčka Weight napsat 0,5).
6.
Přidat pravidlo (stisk tlačítka Add rule).
Obr. 2.9.5: Editor pravidel (Rule Editor)
41
2.9.1.4 Rule Viewer Spustí se pomocí menu View – Rules. Slouží ke grafickému zobrazení nadefinovaných pravidel a výsledků inference pro zadané hodnoty vstupů. Umožňuje zobrazit konkrétní hodnotu výstupu pro konkrétní hodnoty vstupů. Hodnota výstupu se zobrazí po vybrání hodnot vstupů a zároveň se zobrazí, která pravidla byla použita pro její zjištění a jaký měla pravidla podíl na výsledné hodnotě. Příklad: Zjistěte jaké natočení kol odpovídá rychlosti 3ms -1 a odchylce od požadovaného směru 300 . Postup: 1.
Vybrat ve sloupci v(t ) hodnotu 3 (kliknutím a případným tažením myší).
2.
Vybrat ve sloupci Odchylka (t ) hodnotu 30 (kliknutím a případným tažením myší).
3.
Přečíst hodnotu natočení kol.
Obr. 2.9.6: Rule Viewer 42
2.9.1.5 Surface Viewer Spustí se pomocí menu View – Surface. Slouží ke grafickému zobrazení závislosti výstupu na vstupech. Zobrazí graf závislosti výstupu na vstupech pro všechny možné hodnoty vstupů viz. obr. 2.9.7.
Obr. 2.9.7: Surface Viewer
43
2.9.2 Implementace fuzzy regulátoru v SIMULINKu 2.9.2.1 Matrix (FIS matice) Aby bylo možno spustit simulaci v SIMULINKu, je třeba Fuzzy Inference System uložit pod jeho jménem do pracovního prostředí MATLABu (workspace). Protože v MATLABu je základem maticový popis i způsob ukládání informací, jsou informace uložené v Fuzzy Inference System FIS uloženy jako matice. Tato matice je označována jako FIS Matrix (FIS Matice). Uložení FIS matice do pracovního prostředí MATLABu se provede z FIS Editoru pomocí menu File – Export – To Workspace… Před uložením se FIS editor dotáže na jméno FIS matice (jméno proměnné prostředí MATLABu). 2.9.2.2 Fuzzy Logic Controler Fuzzy regulátor je v SIMULINKu reprezentován prvkem Fuzzy Logic Controler, který je umístěn ve Fuzzy Logic Toolboxu - viz. obr. 2.9.8. Do schématu simulovaného systému SIMULINKu se přidá klasickým způsobem, tj. uchopením a přetažením na pracovní plochu.
Obr. 2.9.8: Fuzzy Logic Controler Takto se získá fuzzy regulátor, který nemá implementovánu logiku – neumí přiřadit správnou hodnotu výstupu vstupům. Implementace logiky regulátoru se provede jednoduše přiřazením vytvořené FIS matice zapsáním jejího jména do parametrů bloku Fuzzy Logic Controler -viz. obr. 2.9.9.
44
Poté je již fuzzy regulátor nadefinován a připraven k použití.
Obr. 2.9.9: Parametry bloku Fuzzy Logic Controler Závěrem této kapitoly je třeba zdůraznit, že předložený návod k používání Fuzzy Logic Toolboxu se omezuje na vysvětlení základních kroků v grafickém prostředí GUI. Nezabývá se vůbec návrhem fuzzy regulátoru pomocí příkazového řádku Command Line a vyžaduje proto pro hlubší pochopení další studium [4,5,6].
45
2.10 Závěr Tato publikace zdaleka nepokrývá celou oblast fuzzy řízení. Je pouze podporou pro výuku a pro úspěšné zvládnutí fuzzy řízení je třeba dalšího studia.
Literatura [1] [2] [3] [4] [5] [6] [7]
Modrlák O.: FUZZY ŘÍZENÍ A REGULACE Studijní materiály, Technická univerzita v Liberci, Liberec, 2002 Passino K.M., Yurkovich S.: Fuzzy control. Addison Wesley Longman, Inc., Menlo Park, California, 1998, ISBN 0-201-18074-X Vysoký, P.: Fuzzy řízení. Skripta, ČVUT Praha, 1997. Pivoňka, P.: Analysis and Design of Fuzzy Controller. In: Fuzzy Control. Theory and Praxis, Physica-Verlag, 2000, ISBN 3 - 7908-1327-3. Gulley, N., Jang,J.S.: Fuzzy Logic Toolbox. For Use with MATLAB.The Math Works, Inc.1995 The Student Edition of MATLAB.Version 4, User’s Guide.The Math Works, Inc. 1995, Prentice Hall, Englewood Cliffs. ISBN 0-13-184979-4 SIMULINK Dynamic System Simulation for MATLAB.Using Simulink, Version 2 The Math Works, Inc.1997
46
3 Sekce B
MODELOVÁNÍ DYNAMICKÝCH SOUSTAV NEURONOVÝMI SÍTĚMI
47
3.1
Úvod
Mnoho schopností člověk získává učením. Je tedy přirozené, že se člověk snaží tento „didaktický princip“ formalizovat do počítačových programů tak, aby se naučily správně přiřadit výstup (očekávané/požadované odpovědi) danému vstupu. Umělá neuronová síť je právě jedním z takových programů; protože se jedná o matematický popis s mnoha rozdílně nastavitelnými parametry, které jsou nastavovány množinou vzorů. Tyto vzory reprezentují vztah mezi vstupy a výstupy, tedy určují, co se má objevit na výstupu pokud je na neuronovou síť přiveden daný vstup. Tato publikace popisuje dvě specifické aplikace neuronových sítí, jednak modelování a jednak řízení dynamických soustav. Přestože úloha „učení z předložených vzorů“ zní jednoduše, je často velmi obtížné získat pomocí neuronové sítě kvalitní řešení. Metody a doporučení popisované v této publikaci by měly napomoci k úspěšným implementacím neuronových sítí.
3.1.1 Motivace Automatické řízení se stává běžnou součástí našeho života. Vstupuje do všeho, od elektronických domácích spotřebičů po letadla a kosmické lodě. Automatické řízení může nabývat mnoha podob, pouze účel se nemění. Jde o to řídit danou soustavu tak, aby dosahovala požadovaného chování. Při návrhu regulačního členu pro příslušnou soustavu je zapotřebí získat nějaké znalosti o jejím budoucím chování. Pokud tyto znalosti nejsou k dispozici, není možné plánovat, jak by měla být soustava řízena, aby vykazovala určité chování. 3.1.1.1 Modely a regulační členy odvozené z dat Běžné a prakticky orientované přístupy k návrhům regulačních členů jsou takové, které využívají fyzikálních principů použitého modelu, podpořených množstvím praktických testů. V těchto testech jsou dle zvolených pravidel získávány různé hodnoty parametrů, dokud není dosaženo správného nastavení regulačního členu. Jiný často používaný přístup je založen na provádění jednoduchých experimentů se soustavou vybuzenou k definované odezvě (např. typovými signály). V závislosti na tom, jak je tato odezva získána, je možné navrhnout automatický regulační člen [1]. Tyto procedury je možné automatizovat a v komerčním využití jsou známy jako ladění na dané soustavě. Občas nejsou tyto jednoduché metody návrhu regulačních členů adekvátní, buď proto, že jednoduše nezvládnou danou úlohu, nebo proto, že požadavky na jejich výkon jsou tak enormní, že je není možné těmito jednoduchými metodami nastavit. V těchto případech je nutné použít pokročilejších metod návrhu. Tyto návrhy vyžadují strukturovanější znalosti cílové soustavy, například její popis diferenciálními rovnicemi. Matematický popis tohoto typu je nazýván modelem soustavy. V podstatě existují dva základní způsoby, jak je možné takový model získat. Prvním způsobem je deduktivní odvození použitím fyzikálních zákonů, druhým je odvození z množiny dat, získaných během praktických experimentů s popisovanou soustavou. První zmíněná metoda je jednoduchá, ale v mnoha případech je velmi časově náročná. Je pravděpodobně časově nejnáročnější částí v proceduře návrhu řídicího členu. Často je velmi nepravděpodobné (někdy i nemožné) získat touto cestou vhodný model. Druhá metoda odvození matematického modelu, která se běžně nazývá identifikace parametrů, je výrazně 48
méně náročná na čas. Ačkoli identifikace soustavy nevede vždy na přesný model, je možné přiměřeným úsilím získat kvalitní model. Hlavní nevýhodou je nutnost provádění praktických experimentů, které obsáhnou celý rozsah možných pracovních parametrů soustavy. Je proto neustále potřeba jistá znalost dané soustavy. Identifikace soustavy je používána ve spojitosti s návrhem regulačního členu a během mnoha let bylo vytvořeno mnoho úspěšných aplikací. Často je identifikace systému implementována jako součást regulačního členu. Toto je typické pro tzv. adaptivní regulátor, který je používán především pro soustavy, jejichž dynamické charakteristiky se mění v čase. Typický adaptivní regulátor identifikuje „za chodu“ model, který je platný pro aktuální podmínky a je přestavován v závislosti na aktuálním modelu. Identifikaci soustav, adaptivnímu řízení a návrhu regulačních členů je věnováno mnoho literatury, ale většina této literatury je zaměřena na modely a regulátory popisované diferenciálními rovnicemi. Protože většina soustav vykazuje nějaký druh nelineárního chování, je v poslední době značná pozornost věnována i jiným metodám návrhu regulačních členů pro tyto nelineární soustavy. Jeden z možných přístupů je použití umělých neuronových sítí. Umělé neuronové sítě představují metody, vzniklé z představ o napodobení funkce biologických neuronových sítí, především mozku. Umělé neuronové sítě, nebo zkráceně jen neuronové sítě, jsou jedním z nejčastěji používaných výrazů. Mimo identifikace soustav, případně řízení, jsou používány v mnoha rozdílných odvětvích, jako jsou pojišťovnictví, zdravotnictví, bankovnictví, rozpoznávání hlasu, zpracování obrazu a v mnoha dalších aplikacích. Typicky jsou implementovány softwarově, ale je možno nalézt i hardwarovou implementaci pro zvýšení rychlosti. Neuronové sítě mají širokou oblast aplikací, a proto lze jen velmi těžko všechny vyjmenovat. Je proto mnoho motivů, proč studovat neuronové sítě. Jeden z nejsilnějších motivů je vytvoření počítačového programu, který je schopen učení se z vlastní zkušenosti. Tím byl dán základ pro jinou alternativu běžného programování, kde jsou pravidla vkládána přímo do počítače. Pokud je zkušenost vnímána jako znalost ovlivňování soustavy jednotlivými vstupy, je potom zřejmé, že neuronová síť musí mít něco společného s technikami aplikovanými v identifikaci soustav a adaptivním řízením. Jak se vyvíjel výzkum neuronových sítí, bylo objevováno stále více typů neuronových sítí, ale na druhé straně se začala vytrácet souvislost s biologickými neuronovými sítěmi. Dnes populární typy neuronových sítí mají málo společného s prvotní představou a dalo by se říci, že se jedná o statistické metody. Neuronové sítě jsou schopny naučit se nelineárnímu zobrazení z množiny pozorování. Jsou jedinou dostupnou metodou, která je schopná obecně aproximovat nelineární zobrazení a přehled možných aplikací je proto velmi dlouhý. Několik příkladů je uvedeno v [2]. 3.1.1.2 Proč používat neuronové sítě Proč je neuronovým sítím věnována zvláštní pozornost v porovnání s ostatními metodami? Pro danou aplikaci je samozřejmě obtížné říci, že jedna metoda překoná druhou ještě před tím, než obě vyzkoušíme. Nicméně se jeví vhodnější mít jednu metodu pro mnoho typů aplikací, než zkoušet mnoho různých metod na každém novém problému. Z části proto, že se zjednodušuje modelování a také proto, že je možné implementovat vývojové nástroje pro řízení. Pokud se hledá jeden způsob, který poskytuje odpovídající výkon v mnoha různých případech, jsou neuronové sítě dobrá volba. Obzvláště pak vícevrstvé sítě získaly velkou popularitu. Z mnoha praktických aplikací publikovaných v posledních letech je vidět, že 49
vícevrstvé sítě mají impozantní schopnosti. Teprve nedávno se podařilo teoreticky dokázat důvod těchto schopností [3] a [4]. Jak jsou neuronové sítě používány v návrhu regulačních členů? Prakticky rozeznáváme dvě kategorie regulátorů: Vysoce specializované regulátory Mají uplatnění v případech, kdy je řízená soustava vysoce nestabilní, nebo kde je velice důležitá kvalita regulace. Obecné regulátory Kde může být stejná řídicí struktura použita na širokém spektru zařízení. Tyto regulátory jsou charakteristické tím, že jsou používány tam, kde je relativně jednoduché soustavu naladit na dostačující výkon při vynaložení značného úsilí. Použití neuronových sítí je opodstatněno v obou případech, ale velký potenciál mají právě v druhém ze zmiňovaných případů. Je možné předpokládat, že jejich schopnost vystihnout správně regulovanou soustavu v mnoha různých aplikacích může přispět k redukci času stráveného hledáním parametrů a může přinést zlepšení výkonu např. oproti PID regulátorům.
3.1.2 Úvod do vícevrstvých sítí Z velkého množství literatury o neuronových sítích se může zdát, že neexistuje jedna společná definice, se kterou by všichni souhlasili, ale je mnoho typů, které je možno popsat následující definicí: Neuronová síť je soustavou jednoduchých prvků, neuronů, které jsou propojeny do sítě množinou (synaptických) vah. Funkce neuronové sítě je určena její architekturou, hodnotou vah a způsobem zpracování dat v jednotlivých prvcích (neuronech). Často je připomínáno, že neurony mohou pracovat paralelně, tedy stejně, jako je tomu v mozku, ale pokud si představíme většinu z používaných sítí, slovo „paralelní“ může být zavádějící. 3.1.2.1 Neuron Neuron, uzel nebo prvek, jak je často nazýván, je výpočetní prvek, který má mnoho vstupů, které jsou váženy, sečteny a výsledek je použit jako vstup ohodnocovací funkce, nazývané jako aktivační funkce. Model neuronu je na obr. 3.1.3. Vstupy do neuronu mohou být tvořeny výstupy z jiných neuronů, nebo to mohou být externí vstupy. Potenciál wi ,0 může být interpretován jako váha přiřazená vstupu, který je nastaven na konstantní hodnotu 1. Aktivační funkce f i může mít v podstatě jakýkoli průběh, avšak často bývá monotónní. Obr. 3.1.4 ukazuje příklady nejběžnějších aktivačních funkcí.
50
n
Obr. 3.1.3: Neuron: yi = fi (hi ) = f i (å wi , j + wi ,0 ) j =1
V této publikaci jsou používány pouze lineární a hyperbolické tangenciální aktivační funkce a) a b). Sigmoida ad c) má historický význam, přestože dříve byla hojně využívána. Jelikož je jednoduché ji transformovat na tanh pomocí jednouchého vztahu Fc = ( Fb + 1) / 2 , ztrácí svůj význam. Skoková funkce ad d) je důležitá pro sítě, které se používají pro kategorizaci, tzn. jeli požadována odpověď ano/ne.
Obr. 3.1.4: Různé aktivační funkce. a) lineární f a ( x ) = x ; b) hyperbolický tangent: f b ( x ) = tanh ( x ) ; c) sigmoida: f c ( x ) = 1/ (1 + exp ( x ) ) ; d) skok: f d ( x ) = sgn ( x ) .
51
3.1.2.2 Vícevrstvý perceptron Neurony mohou být kombinovány do sítě mnoha způsoby. Mnoho autorů se zabývá různými způsoby uspořádání neuronů [5], [6] [7]. Bezpochyby nejběžnější způsob je vícevrstvá perceptronová (Multilayer perceptron - MLP) síť. Základ MLP sítě je tvořen neurony ve vrstvách, kde každý prvek jedné vrstvy má jako vstupy buď pouze výstupy prvků vrstvy předcházející, nebo externí vstupy. Pokud má neuronová síť dvě takové vrstvy, je označována jako dvouvrstvá. Pokud má tři vrstvy je třívrstvá atd. Takováto struktura sítě je často označována jako dopředná síť. Přiklad takové sítě je na obr. 3.1.5.
Obr. 3.1.5: Plně propojená dvouvrstvá dopředná síť se třemi vstupy, dvěma skrytými vrstvami a dvěma výstupy. Druhá vrstva na obr. 3.1.5 je označována jako výstupní vrstva, protože je výstupem neuronové sítě. První vrstva je označována jako skrytá vrstva, protože je mezi externími vstupy (j1 , j 2 , j3 ) a výstupní vrstvou. Třívrstvá síť bude mít dvě skryté vrstvy atd. Zobrazená síť je nazývána plně propojenou, pokud jsou všechny vstupy všech prvků v jedné vrstvě propojeny se všemi prvky následující vrstvy. Matematický popis vyjadřující chování MLP sítě je dán výrazem é nh ù æ nj ö yˆi (t ) = g i [j ,q ] = Fi ê å Wi , j f j ç å w j ,ljl + w j ,0 ÷ + Wi ,0 ú è l =1 ø ëê j =1 ûú
(1.1)
q je vektor parametrů, který obsahuje všechny nastavitelné parametry sítě, tzn. váhy i potenciály {w j ,l ,Wi , j } . I když potenciál může být interpretován jako váha aplikovaná na vstup nastavený na 1, pojem váha často znamená jak váhu, tak i potenciál. Pro určení hodnot vah musí být k dispozici množina vzorů popisující, v jakém vztahu jsou výstupy yˆi vzhledem ke vstupům jl . Úloha nastavení vah z množiny vzorů se nazývá trénování nebo učení a je to klasická úloha odhadu. Váhy jsou odhadovány ze vzorů tak, aby při dané metrice popisovaly požadovaný vztah co nejpřesněji.
52
3.1.2.3 Volba architektury neuronové sítě Před tím, než se začne s tréninkem sítě, je nutné věnovat pozornost několika otázkám. -
Jaký typ vztahu je možné naučit vícevrstvý perceptron?
-
Kolik skrytých vrstev by měla síť mít a kolik prvků by měla každá vrstva obsahovat?
-
Jaká by měla být zvolena aktivační funkce?
Bohužel ne na všechny otázky existuje jednoduchá odpověď. Cybenko [8] ukazuje, že všechny spojité funkce mohou být aproximovány s jakoukoli požadovanou přesností, a to s jednotkově normovanou sítí s jednou skrytou vrstvou a sigmoidními (nebo hyperbolickými tangenciálními) prvky a výstupní vrstvou tvořenou lineárními prvky. Nevysvětluje ovšem, kolik má mít skrytá vrstva prvků. Náznaky jsou vidět v [3] a významné výsledky jsou odvozeny z aproximačních schopností dvouvrstvých sítí, pokud funkce použitá pro aproximaci je spojitá. Bohužel, tento výsledek není možné aplikovat pro výběr počtu skrytých vrstev. Většinu funkcí je možné v praxi aproximovat jedině proto, že každá spojitá funkce může být aproximována dostatečně přesně MLP sítí. Z výše uvedeného se může zdát, že není důvod používat více než jednu vrstvu a/nebo kombinovat různé typy aktivačních funkcí. Toto však není úplně pravda, neboť je možné zjistit, že přesnost je možné zvýšit použitím sofistikovanější architektury sítě. Pokud je nutné dosáhnout vysoké přesnosti naučení, je důležitá možnost dalšího zlepšování. Protože je implementace, trénink a statistická analýza sítě s více vrstvami komplikovanější, je obvyklé používat pouze jednu skrytou vrstvu se stejnou aktivační funkcí a výstupní vrstvu s lineárními prvky. 3.1.2.4 Modelování dynamických soustav MLP sítě jsou přímo použitelné pro časově diskrétní modelování dynamických soustav, pro které platí nelineární vztah mezi vstupy a výstupy.
Obr. 3.1.6: Dynamická soustava s jedním vstupem (u) a výstupem (y) Předpokládejme t vzorkovací periodu. Pak y (t ) značí aktuální výstup, pokud y (t - 1) značí výstup získaný z předešlého vzorkování. Pokud předpokládáme, že výstup z dynamické soustavy v diskrétním časovém intervalu může být popsán jako funkce minulých vstupů a výstupů y (t ) = S [ y (t - 1),K , y (t - n), u (t - n),K , u (t - m) ]
(1.2)
pak může být MLP síť použita pro aproximaci S, jestliže jsou vstupy do sítě (j1 , j 2 ,K) voleny jako n minulých výstupů a m minulých vstupů 53
é n+ m ù yˆ (t | q ) = g [q , j (t ) ] = å W j f j ê å w j ,ljl (t ) + w j ,0 ú + Wi ,0 j =1 ë l =1 û nh
(1.3)
Toto je velmi jednoduchý příklad popisu nelineárních dynamických soustav pomocí vícevrstvých perceptronů. Za sofistikovanější model můžeme považovat např. soustavu ovlivňovanou šumem, nebo aplikaci stavového modelu. Jedním z atraktivních rysů použití MLP sítí při modelování neznámých nelineárních soustav je fakt, že není nutné provádět zvlášť diskretizační proces, pokud je k dispozici nelineární diskrétní model. 3.1.2.5 Rekurentní sítě Percepční síť nemusí mít nutně dopřednou strukturu, zobrazenou na obr. 3.1.5. Právě v kontextu s modely dynamických soustav je často k vidění MLP síťová architektura rozšířená o zpětnou vazbu, jak je ukázáno na obr. 3.1.7. V tomto případě je síť označována jako rekurentní síť. Na rozdíl od dopředné sítě, kde existuje algebraický vztah mezi vstupem a výstupem, rekurentní architektura obsahuje dopřednou síť jako speciální případ a často je proto representována jako obecnější prvek architektury. Matematický popis sítě zobrazené na obr. 3.1.7 je dán vztahem yˆi (t | q ) = gi [q , j (t ), t ]
(1.4)
é nh ù = Fi ê å Wi , j fi ( ·, t ) + Wi ,0 ú ë j =1 û nh é nh ù æ n+ m ö = Fi ê å Wi , j fi ç å w j ,ljl (t ) + å w j ,l fl (·, t - 1) + w j ,0 ÷ + Wi ,0 ú l =1 è l =1 ø ë j =1 û
Rekurentnost může být implementována mnoha způsoby. Příklad zobrazený na obr. 3.1.7 je jedním z nich. Pokud je také výstup výstupních prvků zpětnovazební (vnitřní zpětná vazba), jedná se o plně rekurentní síť. Rekurentní sítě popisované v této publikaci nemají vnitřní zpětnou vazbu, ale jen zpětnou vazbu z výstupu na vstup.
Obr. 3.1.7: Jednoduchý příklad rekurentní sítě 54
3.1.2.6 Jiné architektury neuronových sítí Multivrstvé neuronové sítě jsou jedním z mnoha typů neuronových sítí, a jedině tyto jsou zde popsány. Mnoho různých autorů popisuje další typy běžně dostupných neuronových sítí. Mnoho pramenů se také zabývá historií a také jejich vztahem k jejich biologickým protějškům. Např. [5], [6] a [7]. Ne všechny sítě jsou schopné regulovat dynamické systémy. Pro tyto aplikace je vhodná jiná alternativa, a to funkce s radiální bází (RBF – Radial Basis Function) sítě [9] a [10]. Studium a srovnávání výkonů různých typů sítí je mimo rozsah této publikace. Avšak mnoho z teorie probírané v této publikaci je přímo aplikovatelné na mnoho jiných typů neuronových sítí.
55
3.2
Identifikace soustavy neuronovými sítěmi
Identifikace soustavy je úloha odvození matematického popisu, modelu, dynamické soustavy ze série měření dané soustavy. Pro sestavení matematických modelů dynamických soustav existují různé důvody. Typická je aplikace při návrhu regulačního členu soustavy se zahrnutím simulací, predikce a detekce chyb. Pokud je to spojeno s tvorbou modelu s ohledem na fyzikální zákony, chemii, ekonomiku atd., lze předpokládat enormní zájem o metody identifikace soustavy. V této kapitole je věnována pozornost identifikaci nelineárních dynamických soustav neuronovými sítěmi. Mimo zvyšování komplexnosti v porovnání s identifikací lineárních soustav, může být mnoho výsledků známých z identifikace konvenčních soustav výhodně použito na identifikaci založené na neuronových sítích. V této kapitole chceme ukázat vývoj poznání, abychom provedli čtenáře celou cestou od počátečních experimentů po kvalitní model soustavy. Tato vývojová procedura zahrnuje mnoho kroků, které je možné implementovat tak, aby bylo dosaženo velkého stupně automatizace, numerické spolehlivosti a výpočetní efektivity.
3.2.1 Úvod do identifikace soustavy V závislosti na stupni prvotní znalosti o soustavě může identifikace soustavy probíhat několika způsoby. Pokud je identifikace založena na měřených datech a předpokládáme žádnou nebo malou znalost fyzikální podstaty soustavy, je identifikační proces nazýván modelováním černé skřínky (blackbox modelling). V kontrastu s tímto přístupem je modelování bílé skříňky (whitebox modelling), které je používáno pro fyzikální modelování soustavy. Pokud máme určitou znalost o soustavě a tato je použita pro zlepšení empirického modelu, pak je tento přístup nazýván modelováním šedé skříňky (graybox modelling). Tato kapitola pojednává především o modelování černé skříňky. Je to především proto, že je velmi obtížné podat obecný návod pro modelování nelineárních soustav typu šedá skříňka. Je jednoduše nemožné postihnout všechny typy základních znalostí, které mohou existovat. Jiný problém tkví v tom, že dokud není k dispozici homogenní znalost soustavy, je těžké ji popsat jako spojitou v čase (pomocí diferenciálních rovnic). Převedení znalostí na diskrétní popis je často obtížné a dochází ke ztrátě dat. Převedení na modelování černé skříňky je možné nezávisle na množině znalostí, která je k dispozici, i když pochopení chování soustavy přispívá k její identifikaci. Takovými znalostmi jsou např.: charakteristické vlastnosti soustavy tj., jestli se jedná o soustavy s rychlou nebo pomalou odezvou, vhodnost vzorkovací frekvence, stabilitní vlastnosti, pracovní rozsah, časové konstanty, stupeň nelinearity, základní charakteristiky nelinearit.
56
Bez ohledu na to, že v principu všechny soustavy jsou nelineární, hlavní část literatury o identifikaci soustavy se věnuje právě identifikaci lineárních soustav. Je proto několik důvodů, z nichž nejdůležitější jsou: -
mnoho soustav je možno dobře popsat lineárním modelem, a pokud je nedosažitelný lineární model pro celý pracovní rozsah soustavy, je možné použít několik dílčích lineárních modelů pro odpovídající časti dané soustavy;
-
výpočetní náročnost je daleko menší;
-
ze statistického pohledu je méně náročná analýza;
-
je mnohem jednodušší navrhnout regulátor pro soustavu popsanou lineárním modelem.
Poslední bod je hlavní oblastí našeho zájmu i přesto, že nelinearity mohou být takového charakteru, že jejich zahrnutí do modelu může výraznou měrou ovlivnit kvalitu regulace. Je zřejmé, že nelineární modelování černé skříňky je proto důležité ve vztahu k řízení neznámých nelineárních soustav. Tato kapitola popisuje cestu k použití neuronových sítí pro identifikaci černé skříňky v několika odstavcích. Tato kapitola se pokouší především poskytnout ucelený pohled na praktickou tvorbu identifikace soustavy pomocí neuronových sítí. To zahrnuje volbu znalostí z tradiční identifikace, optimalizační teorie, nelineární regrese a teorie neuronových sítí. Identifikace soustavy založená na neuronových sítích může být implementována jako přirozené rozšíření konvenčních identifikačních metod a přístup použitý v této kapitole je podobný tomu, který používá [11] a [12]. Přistup je zaměřen na popis implementace s přiměřeným důrazem na to, aby byl čtenář schopen implementovat popisované metody.
57
3.2.1.1 Postup Pokud se pokoušíme identifikovat model dynamické soustavy, je dobré držet se ověřeného postupu zobrazeného na obr. 3.2.1.
Obr. 3.2.1: Základní postup identifikace soustavy Otázky týkající se fyzikálních vlastností a použití daného modelu ovlivňují všechny kroky uvedeného postupu. Předběžná diskuze implementace každého stavu a i jednotlivých kroků v diagramu je následující. Čtyři základní kroky získání modelu Experiment Smyslem experimentu je získat soubor dat, který by popisoval chování systému v celém rozsahu jeho činnosti. Základní myšlenkou experimentu je sledovat vliv proměnné vstupní veličiny (vstupních veličin) u , na výstupní veličinu (výstupní veličiny) y , viz obr. 3.1.6.
58
Obr. 3.2.2: Vstup přivedený na soustavu a zkoumání jeho vlivu na výstup soustavy Soubor dat odpovídajících vstupů a výstupů
{
}
Z N = éëu ( t ) , y ( t ) ùû , T = 1,..., N , je později použit pro odvození modelu soustavy. Pokud je soustava identifikována jako nestabilní nebo pokud je soustavou s malým tlumením, může být nezbytné provést experiment na soustavě s uzavřenou smyčkou. V podstatě existují dvě možnosti dosažení stabilizace soustavy: buď manuální ladění zpětnovazebního členu regulátoru, nebo řídit soustavu lidským operátorem. Základními problémy experimentu jsou především volba vzorkovací frekvence, návrh vhodného vstupního signálu a předzpracování dat. Předzpracování dat zahrnuje například nelineární testy, odstranění náhodných poruch, odstranění šumu a ostatních nežádoucích účinků získaných dat. Volba struktury modelu Struktura modelu je množina kandidátů na modely. Je to tedy množina, uvnitř které bude hledán model. Existují dva problémy při volbě struktury modelu: 1.
Volba požadovaného druhu struktury modelu pro popis soustavy, například lineární struktura modelu, vícevrstvá perceptronová síť nebo Hammersteinovy modely.
2.
Volba podmnožiny zvolené třídy struktury modelu. Ve třídě lineárních struktur to může být např. instance ARX ( 2, 3, 1) struktury modelu, kde (2,3,1) znamená časové zpoždění vzorkovací periody, a dále to znamená, že současný výstup závisí na dvou minulých výstupech a třech minulých vstupech.
V dalším budou diskutovány jak vstupně-výstupní modely, tak také modely ve stavovém prostoru. Tato kapitola bude v první řadě pojednávat o soustavách, které mají pouze jeden výstup, ale některé části budou pojednávat také o soustavách s více výstupy. Model získaný odhadem Jakmile je zvolena množina možných kandidátů na modely, je dalším krokem volba jednoho konkrétního modelu z této množiny. Typicky se bude jednat o volbu modelu, který by nejlépe splňoval nějaký typ kritéria. Toto kritérium může být formulováno mnoha způsoby, ale mělo by v zásadě souviset se zamýšleným použitím daného modelu. Nejvíce používanou strategií je nalezení režimu, který by poskytl co nejlepší jednokrokovou předpověď vzhledem k 59
nejmenší očekávané kvadratické odchylce pozorovaných výstupů a předpovědí. Proces vybírání modelu ze struktur modelu je ve statistické literatuře nazýván jako odhad. Z historických důvodů jsou však některé procesy v neuronových sítích obvykle nazývány tréninkem nebo učením. Ověření modelu Pokud byl model získán odhadem nebo tréninkem, musí být ověřeno, zda vyhovuje potřebným požadavkům. Ověření je úzce spojeno se zamyšlením nad použitím modelu. Toto je často nejproblematičtější úloha celého identifikačního procesu, protože požadavky kladené na přijetí modelu mohou být neurčité. Návrat v procesu získání modelu. Proces získání modelu probíhá iteračním způsobem. Je to nezbytné pro návraty v procesu určení počtu různých modelů, k vyzkoušení různých struktur modelů, a v nejhorším případě dokonce pro přeplánování a nové provedení experimentu. -.
Návrat k modelu odhadu: ačkoli se používá pouze jednoduché kriterium charakterizující nejlepší model ve struktuře modelu, je často obtížné zaručit, že tréninkový algoritmus bude konvergovat k tomuto modelu. Problémem je, že kriterium má obvykle několik lokálních minim a nalezení globálního minima proto nemusí jednoduché. Návrat také umožňuje potlačit zvýšení kriteria nazývaného regularizace. Toto rozšíření je velmi významné.
-
Návrat k výběru struktury modelu: některé strategie jsou použitelné ke zvýšení podílu automatizace výběru struktury modelu. Snad nejpopulárnější strategie je nazývána prořezání: Výchozí model struktury popisující soustavu je dostatečně obsáhlý a je postupně redukován tak dlouho, dokud není dosažena optimální struktura.
-
Návrat k experimentu: pokud není možné získat vyhovující model bez ohledu na to, jaká je zvolena jeho struktura, může to znamenat, že data jsou nedostatečná. Dodatečné úpravy dat, např. filtrace nepomohou, není–li v získaných datech dostatek informací. Velmi častým je případe, kdy určitý provozní režim není v datech obsažen. V tomto případě je nezbytné provést dodatečný experiment pro získání dalších informací o tomto režimu.
Obsah podkapitoly je následující: odstavce 3.2.2 až 3.2.5 se detailně zabývají čtyřmi základními kroky, ale pro srozumitelnost v mírně pozměněném pořadí. Proto je odstavec 3.2.2 věnován výběru struktury modelu. Na základě dobře známé struktury lineárního modelu jsou navržena rozšíření používající neuronové sítě, která jsou vhodná pro nelineární systémy. V odstavci 3.2.3 budou vysvětleny různé aspekty experimentu. Odstavec 3.2.4 uvádí vhodné tréninkové algoritmy v souvislosti strukturami modelu, založených na neuronových sítích. Zvláštní důraz je kladen na získání rychlé a robustní konvergence algoritmů. Dále bude pojednáno o koncepci zobecnění toho, jak může být využito regularizace pro dosažení schopnosti modelů generalizovat vzhledem k neznámým hodnotám vstupům. Odstavec 3.2.5 je zaměřen na různé metody pro ověření modelů s neuronovou sítí. Návraty v procesu získání modelu jsou diskutovány v odstavci 3.2.6. Největší pozornost je věnována prořezávacím algoritmům. Na závěr je v odstavci 3.2.7 zrekapitulován celý problém a bude navržena obecná metodika identifikace soustav neuronovými sítěmi. 60
3.2.2 Výběr struktury modelu V této kapitole jsou uvedeny struktury modelu vhodné pro identifikaci nelineárních dynamických soustav v stochastickém prostředí. K popisu nelineárního zobrazení může být použita vícevrstvá perceptronová neuronová síť. Je navržena celá řada struktur modelů založených na neuronových sítích, které představují rozšíření dobře známých lineárních struktur modelu. Použití lineární struktury modelu jako výchozí má řadu výhod.. Navíc k tomu, že je to přirozený přístup pro ty, kteří jsou již obeznámeni s konvenčními metodami identifikace, je to vhodné i pro návrh řídicích systémů, který je uveden v kapitole 3. V této kapitole je také uveden přehled různých základních lineárních struktur modelu. Struktury modelu založené na neuronových sítích vhodné pro identifikaci nelineárních systémů jsou postupně uvedeny jako zobecnění lineární struktury modelu. 3.2.2.1 Některé lineární struktury modelu Podle [11] je soustava lineární, pokud je možno její model popsat rovnicí: y ( t ) = G ( q -1 ) u ( t ) + H ( q -1 ) e ( t )
(2.1)
Kde G a H jsou přenosové funkce operátoru časového zpoždění q -1 . Reprezentace signálu s využitím operátoru q -1 je následující: q -d x ( t ) = x ( t - d )
(2.2)
kde d je násobek vzorkovací periody. e ( t ) je signál bílého šumu, který je nezávislý na posledních vstupech a který může být charakterizován funkcí hustoty pravděpodobnosti. Při více proměnných (nebo modelu MIMO, tj. modelu s více vstupy a více výstupy) jsou u ( t ) , y ( t ) a e ( t ) vektory; G a H jsou matice koeficientů polynomů v q -1 . Pokud je systém lineární, je cílem identifikačního procesu určit vhodný odhad dvou přenosových funkcí G a H . Kritérium, které definuje význam „vhodnosti“ bude v tomto odstavci především vztaženo ke schopnosti modelu vytvářet jednokrokové predikace s nízkým rozptylem. Pro obecný lineární systém (popsaný v odstavci 3.2.1) je lehce ověřitelné, že minimální rozptyl jednokrokové predikce je dán jako: Ù
y ( t | t - 1) = H -1 ( q -1 ) G ( q -1 ) u ( t ) + éë1 - H -1 ( q -1 ) ùû y ( t )
(2.3)
Tato volba reprezentace modelu bývá někdy označována predikční tvar modelu. Terminologie pro zpřesnění významu pojmů soustava, struktura modelu a modelu bude definována v následujícím (viz také [11]). Toto je důležité nejen pro teorii odvozenou v této kapitole, ale také pro vysvětlení rozdílů v terminologii vztahující se k identifikaci soustavy a oblastí neuronových sítí. - Skutečnou soustavu je možno popsat jako: y ( t ) = G0 ( q -1 ) u ( t ) + H 0 ( q -1 ) e0 ( t ) 61
(2.4)
kde e0 ( t ) je signál bílého šumu, působící nezávisle na vstupním signálu u ( t ) . - Struktura modelu, M je parametrizovaná množina možných kandidátů na modely
{
M : G ( q -1 , q ) , H ( q -1 , q ) | q Î Dm
}
(2.5)
y ( t ) = G ( q -1 , q ) u ( t ) + H ( q -1 , q ) e ( t ) kde q značí p nastavitelných parametrů, a Dm je podmnožina z R p , uvnitř které může být uskutečněno hledání modelu. Struktura modelu v predikovaném tvaru je obvykle dána jako: Ù
y ( t | t - 1) = H -1 ( q -1 ,q ) G ( q -1 , q ) u ( t ) + éë1 - H -1 ( q -1 ,q ) ùû y ( t )
(2.6)
Můžeme pozorovat, že zavedení q jako argumentu znamená, že struktura modelu je reprezentací množiny modelů. Pokud není jinak specifikováno, budeme uvažovat predikci pouze pro jeden krok vpřed. V dalším proto budeme při označování t - 1 vynechávat. Struktura modelu bude často zapisována druhým způsobem: Ù
y ( t | q ) = j T ( t )q
(2.7)
kde q je vektor parametrů a j je regresní vektor, který obsahuje poslední vstupy, poslední výstupy nebo signály odvozené ze vstupů a výstupů. Základním požadavek na formulaci podmnožiny Dm je následující [12] ì H -1 ( q -1 ,q ) G ( q -1 ,q ) asymptoticky stabilní ü ï ï ï ï -1 -1 Dm = íq | H ( q , q ) asymptoticky stabilní ý, ï ï G ( 0, q ) =0, H ( 0, q ) =1 ïî ïþ
(2.8)
ale fyzikální náhled může ovšem způsobit dodatečné omezení této podmnožiny. Podmínka stability obvykle zaručuje, že prediktor zůstává stabilní. Předpoklad, že G = 0 je zaručen tím, že předpověď závisí pouze na posledním vstupu (tj. není přímé propojení), zatímco H = 1 zaručuje, že předpověď závisí pouze na posledním měřeném výstupu. Pro mnoho z dalších teorií je základním požadavkem, aby struktura modelu byla dostatečně velká pro popis skutečné soustavy. To znamená, že S ÎM
(2.9) Ù
- Model je jednoduše určen přesným výběrem vektoru parametrů, tedy říkáme že q = q . V mnoha případech je uvažována jednodušší struktura modelu, než ta, která je uvedena v obecném tvaru (2.5). Dále budou uvedena důležitá zjednodušení. Zjednodušení se navzájem liší různými předpoklady o spektrální hustotě šumu a tím, jaký šum předpokládáme na vstupu soustavy. To lze přirozeně přepsat do obecné struktury modelu jako
62
A ( q -1 ) y ( t ) = q - d
B ( q -1 )
F ( q -1 )
u (t ) +
C ( q -1 )
D ( q -1 )
e (t )
(2.10)
kde A ( q -1 ) = 1 + a1q -1 + ...an q - n
(2.11)
B ( q -1 ) = b0 + b1q -1 + ...bm q - m C ( q -1 ) = 1 + c1q -1 + ...ck q - k D ( q -1 ) = 1 + d1q -1 + ...d l q - l F ( q -1 ) = 1 + f1q -1 + ... f r q - r Polynomy A , C , D a F se nazývají normované a jsou vyjádřeny tak, aby jejich první člen byl roven 1. Konečná impulsní odezva struktury modelu (FIR – Finite Impulse Response) Nejednodušší typ struktury modelu odpovídá volbě, kdy G ( q -1 , q ) = q - d B ( q -1 )
H ( q -1 , q ) = 1
(2.12)
A v tomto případě je prediktor dán vztahem (2.13)
Ù
y ( t | q ) = q - d B ( q -1 ) u ( t ) To může být ekvivalentně vyjádřeno v regresním tvaru
(2.14)
Ù
y ( t | q ) = j T ( t )q Kde j ( t ) je regresní vektor definovaný vztahem
j ( t ) = éëu ( t - d ) ,..., u ( t - d - m ) ùû
T
(2.15)
Ve shodě s tím je parametrický vektor q určen následovně:
q = [b0 ...bm ]
T
(2.16)
Soustava s póly nemůže být přesně popsána FIR modelem konečné řady. Pokud je však soustava stabilní a pokud impulsní odezva klesá přiměřeně rychle, může být soustava dobře aproximována FIR modelem, jestliže za B ( q -1 ) je zvolen první m koeficient impulsní odezvy.
63
ARX (AutoRegresive, eXternal input) struktura modelu. ARX struktura modelu je popsána vztahem: G ( q ,q ) = q -1
-d
B ( q -1 )
H ( q -1 , q ) =
A ( q -1 )
(2.17)
1 A ( q -1 )
Prediktor má tudíž tvar: (2.18)
Ù
y ( t | q ) = q - d B ( q -1 ) u ( t ) + éë1 - A ( q -1 ) ùû y ( t )
= j T ( t )q kde
j ( t ) = éë y ( t - 1) ,..., y ( t - n ) , u ( t - d ) ,..., u ( t - d - m ) ùû
T
(2.19)
q = [ - a1 ,..., - an , b0 ,..., bm ]
T
Ačkoli G má nyní póly, existuje pouze algebraický vztah mezi předpovědí a posledními vstupy a měřenými výstupy. to znamená, že prediktor bude vždy stabilní; i když systém je nestabilní. Toto je velmi důležitý rys ARX struktury modelu. Toto může být označováno názvy CAR (Controlled AutoRegressive) model, Equation error model, a nebo také sériově-paralelní (Series-parallel) model, které jsou používány častěji než ARX struktura modelu. ARMAX (AutoRegressive, Moving Average, eXternal Input) struktura modelu Tato struktura modelu je obecnější, než ARX struktura modelu, tedy: G ( q -1 ,q ) = q - d
B ( q -1 )
H ( q -1 , q ) =
A ( q -1 )
C ( q -1 )
(2.20)
A ( q -1 )
Optimální prediktor je æ A ( q -1 ) ö ÷ y (t ) y (t | q ) = q u ( t ) + ç1 ç C ( q -1 ) ÷ C ( q -1 ) è ø -d -1 -1 = q B ( q ) u ( t ) + éë1 - A ( q ) ùû y ( t ) + éëC ( q -1 ) - 1ùû e ( t , q ) , = j T ( t,q )q Ù
-d
B ( q -1 )
Ù
(2.21)
kde, e ( t , 0 ) = y - y ( t | q ) značí chybu odhadu nebo trvalou chybu. Regresní a parametrický vektor jsou definovány jako
64
j ( t ,q ) = éë y ( t - 1) ,..., y ( t - n ) , u ( t - d ) ,..., u ( t - d - m ) , e ( t ,q ) ,..., e ( t - k ,q ) ùû
T
(2.22)
q = [ -a1 ,..., -an , b0 ,..., bm , c1 ,..., ck ]
T
V důsledku přítomnosti C-polynomického prediktoru nyní existují póly. Tedy C musí mít kořeny uvnitř jednotkové kružnice, aby prediktor byl stabilní. Existence pólů také naznačuje, že regresní vektor závisí na parametrech modelu, což dále (jak uvidíme později) komplikuje odhad parametrů modelu. Poznamenejme, že závislost modelu je dána použitím argumentem q funkce j ve vztahu (2.22). OE (Output error) struktura modelu OE (nebo také paralelní) struktura modelu se používá tehdy, jestliže je model ovlivňován pouze měřitelným bílým šumem, daným vztahem. y (t ) = q
-d
B ( q -1 )
F ( q -1 )
u (t ) + e (t ) ,
(2.23)
který odpovídá následující volbě G a H : G ( q ,q ) = q -1
-d
B ( q -1 )
H ( q -1 , q ) = 1 .
F ( q -1 )
(2.24)
Prediktor této soustavy je Ù
y (t | q ) = q
-d
B ( q -1 )
F ( q -1 )
(2.25)
u (t ) Ù
= q - d B ( q -1 ) u ( t ) + éë1 - F ( q -1 ) ùû y ( t | q ) , = j T ( t,q )q kde Ù éÙ ù j ( t ,q ) = ê y ( t - 1| q ) ,..., y ( t - r | q ) , u ( t - d ) ,..., u ( t - d - m ) ú ë û
(2.26)
q = [ - f1 ,..., - f r , b0 ,..., bm ]
T
Aby byl prediktor stabilní, musí kořeny F ležet uvnitř jednotkové kružnice. Upravený tvar stavového prostoru (SSIF – State Space Innovation Form) Popis stavového prostoru je široce užíván jako alternativa k vstup-výstup strukturám modelů, které byly uvedeny výše. Předpokládejme, že soustava může být popsána následující množinou dvojic diferenčních rovnic prvního řádu ve tvaru
65
x ( t + 1) = A (q ) x ( t ) + B (q ) u ( t ) + w ( t )
(2.27)
y ( t ) = A (q ) x ( t ) + v ( t )
(2.28)
kde w ( t ) a v ( t ) jsou signály bílého šumu nezávislé na řídícím signálu u ( t ) a üï é Rw (q ) Rwv (q ) ù ïì é w ( t ) ù T T E íê ú éë w ( t ) v ( t ) ùû ý = ê T ú. ïî ë v ( t ) û ïþ ë Rwv (q ) Rv (q ) û
(2.29)
Lze ukázat [12], že optimální predikátor jednoho kroku vpřed, pro tuto soustavu má tvar: Ù
(2.30)
Ù
x ( t + 1, q ) = A (q ) x ( t ,q ) + B (q ) u ( t ) + K (q ) e ( t ,q ) Ù
(2.31)
Ù
y ( t | q ) = C (q ) x ( t ,q ) K (q ) je nalezeno ze vztahu ( q je vynecháno z důvodu pohodlnějšího zápisu) K = éë APC T + Rwv ùû [CPC + Rv ] ,
(2.32)
-1
kde P (q ) reprezentuje kladný semi-definitní řešení stacionární Ricattiho rovnice -1
P = APAT + Rw - éë APC T + Rwv ùû éëCPC T + Rv ùû éë APC T + Rwv ùû
T
(2.33)
Optimálním prediktor je také znám jako Kalmanův filtr a matice K (q ) je označována jako Kalmanovo zesílení. Tvar (2.30) se označuje jako upravený tvar stavového prostoru. Jednoduchý vztah mezi upraveným tvarem stavového prostoru a obecným vztahem vstupvýstup je dán jako [11]: G ( q -1 , q ) = C (q ) éë qI - A (q ) ùû B (q )
(2.34)
H ( q -1 ,q ) = C (q ) éë qI - A (q ) ùû K (q ) + I
(2.35)
-1
-1
Maticovými operacemi může ověřit, že póly prediktoru jsou vlastními čísly matic A - KC [12]. Podmnožina Dm je dána jako:
{
}
Dm = q | eig éë A (q ) - K (q ) C (q ) ùû uvnitř jednotkové kružnice
(2.36)
Když odhadovaný stavový prostor modelu, prvky matice K (q ) jsou obvykle odhadovány přímo, spíše než použitím nepřímého odhadu kovariančních matic a řešením Ricattiho rovnice před výpočtem K (q ) .
66
Výběr správné parametrizace např. struktury množin A , B , C , a K je problém, který je nepříznivý pro upravený tvar stavového prostoru. To je daleko horší, než pro vstupněvýstupní struktury modelu. Problémem je, že plně parametrizovaná struktura modelu znamená, že musí být odhadnut význam všech prvků matic A , B , C a K , protože obecně není identifikovatelný tvar souboru vstupních a výstupních dat. Je to proto struktura obsahuje více nastavitelných parametrů než je nezbytné, některé vstupně-výstupní vztahy mohou být popsány rozdílnou volbou matic A , B , C a K .Někdy může parametrizace založená na fyzikálních vlastnostech vyřešit tento problém. Jestliže použijeme pro řešení problému přístup černé skříňky, potřebujeme použít některé druhy „obecně“ identifikovatelných parametrizací. V případě SISO existují takzvané kanonické tvary a jsou často užívány pro transformaci a popisu soustavy přenosovou funkcí do popisu ve stavovém prostoru [14]. V MIMO případě je vše komplikovanější. Ljung [11] navrhl pro MIMO soustavy rozšíření, vhodné pro identifikaci těchto soustav. Lungovo pravidlo pro výběr parametrizace je uvedeno níže ( n určuje řád modelu a ny je počet výstupů). Nechť je A (q ) matice zpočátku vyplněna nulami a s jedničkami na hlavní diagonále. Nechť čísla řádků r1 , r2,..., rny , kde rny = n jsou vyplněna parametry. Mějme r0 = 0 a nechť C (q ) je vyplněno nulami a potom nechť řádek i má jedničku ve sloupci ri -1 + 1 . Nechť B (q ) a K (q ) jsou vyplněny parametry. Princip je ilustrován níže odpovídá na struktuře modelu pátého řádu ( n = 5 ) s dvěma výstupy ( n y = 2 ) a jedním vstupem. ´ označuje parametr, který má být odhadnut. é0 ê´ ê A (q ) = ê0 ê ê0 êë´
1 ´ 0 0 ´
0 ´ 0 0 ´
0 ´ 1 0 ´
0ù ´ úú 0ú ú 1ú ´ úû
é1 0 0 0 0 ù C (q ) = ê ú ë0 0 1 0 0 û
é´ù ê´ú ê ú B (q ) = ê´ú ê ú ê´ú êë´úû
é´ ê´ ê K (q ) = ê´ ê ê´ êë´
´ù ´úú ´ú ú ´ú ´úû
(2.37)
(2.38)
Pro rozhodnutí o struktuře musí tedy být stanoven řád modelu n a množina řádkových indexů
{ri }i=1 . n y -1
67
3.2.2.2 Nelineární struktura modelu založená na neuronových sítích Problém výběru modelu struktur stává složitějším, pokud zahrneme černou skříňku do identifikace nelineárních dynamických soustav. V kapitole 1 byla popsána vícevrstvá perceptronová síť (MLP), která je vhodná k modelování nelineárních problémů. Struktury modelů vhodných pro identifikaci nelineárních dynamických soustav, využívají MLP sítí. Výběr struktury modelu je standardně zjednodušován na řešení následujících dvou otázek: -
Volba vstupů sítě
-
Volba vnitřní struktury sítě
Často používaným přístupem je opětovné použití vstupu struktur z lineárního modelu zatímco jako vnitřní architektura je použita dopředná MLP síť. Tento přístup má několik výhod. -
Je to rozšíření známého lineárního modelu
-
Vnitřní architektura může být postupně rozšiřována tak, aby byl model schopen řešit lépe složitější nelineární vztahy.
-
Požadovaná rozhodnutí o struktuře jsou snížena na minimum.
-
Je vhodný pro návrh řídících členů.
Nelineární část lineární struktury modelu, který byl uveden v předchozí části je dán vztahem y ( t ) g éëj ( t , q ) q ùû + e ( t )
(2.39)
Ù
(2.40)
Nebo prediktorem y ( t | q ) = g éëj ( t , q ) , q ùû
j ( t ,q ) je regresní vektor; q je vektor obsahující nastavitelné parametry neuronové sítě jako jsou váhy; g je funkce realizovaná neuronovou sítí a předpokládá se její dopředná struktura. Nelineární struktura modelu vyplývá z volby regresního vektoru. Jestliže je jako regresní vektor zvolen model ARX, tak struktura modelu je nazývána NNARX (Neural Network ARX – neuronová síť ARX). Dále jsou uvedeny modely NNFIR, NNARMAX, NNOE a NNSSIF. NNFIR a NNARX Prediktory těchto sítí jsou vždy stabilní, protože je zde přesný algebraický vztah mezi predikcí, posledním měřením a vstupy. Toto je velmi důležité v nelineárním případě, protože otázky stability jsou zde mnohem složitější než u lineárních soustav. Struktury modelů jsou zobrazeny na obr. 3. 2.3. Tyto struktury modelů jsou upřednostňovány u detrministických soustav nebo u soustav se zanedbatelným vlivem šumu.
68
Obr. 3.2.3: Struktury modelů NNFIR (vlevo) a NNARX (vpravo) NNARMAX
Obr. 3.2.4: Struktura modelu NNARMAX Ačkoli funkce g (2.40) je realizována jako dopředná sít. Pokud je zvolen ARMAX regresní vektor (2.41), má prediktor zpětnou vazbu. j ( t ,q ) = éë y ( t ) ,..., y ( t - n ) , u ( t - d ) ,..., u ( t - d - m ) , e ( t ,q ) ,..., e ( t - k ,q ) ùû
T
(2.41)
Poslední predikovaná chyba závisí na výstupu modelu a následkem toho vzniká zpětná vazbu. Model sítě se zpětnou vazbou je obvykle označován jako rekurentní síť[5]. Stabilitu prediktoru lineárního ARMAX modelu je možno snadno ověřit nalezením kořenů polynomu C. Analýza parametrů stability NNARMAX modelu je obtížnější. Obvykle odpovídá posuzované stabilitě v určitých pracovních režimech. Může se stát, že pro některé pracovní režimy je NNARMAX model stabilní, zatímco pro jiné je nestabilní. Zda-li to v praxi povede nebo nepovede k problémů, záleží na tom, k čemu je model použit. 69
NNOE Některé regresní vektory jsou predikce posledních výstupů a proto se nich vyskytují stejné problémy, jako u struktur NNARMAX. Struktura modelu NNOE je zobrazena na obr. 3.2.5
Obr. 3.2.5: Struktura modelu NNOE NNSSIF Obtíže spojené s tvorbou nelineárního rozšíření na upravený tvar stavového prostoru jsou zde patrnější, než ve vstupně-výstupních strukturách modelů. Dále je použito přístupu navrženého Sørensenem [15] a [16], který vede na tvar prediktoru, zobrazený na obr. 3.2.6.
Obr. 3.2.6: Struktura modelu NNSSIF Nechť má prediktor tvar (obr. 3.2.6), Ù
x ( t + 1| q ) = g éëj ( t , q ) , q ùû , Ù
Ù
y ( t | q ) = C (q ) x ( t | q ) ,
70
(2.42) (2.43)
kde (2.44)
éÙ ù ê x (t | q )ú j (t | q ) = ê u (t ) ú . ê ú êe (t | q ) ú ë û
Protože předchozí stav a vektor predikční chyby jsou součástí regresního vektoru, má tento model zpětnou vazbu, stejně jak modely NNOE a NNARMAX. Otázky identifikovatelnosti uvedené pro lineární SSIF struktury modelů jsou samozřejmě přeneseny na nelineární případ. Jeden ze způsobů jak se vypořádat s těmito problémy je vytvoření dvou oddělených sítí, každá je zodpovědná za predikci odpovídající části stavů: Nechť {ri } = {r1 , r2 , ... rn = n} představuje stavy odpovídající řádkám v matici A (q ) v (2.30)
{
že jsou vyplněny parametry. Dále, nechť {qi } = q1 , q2 , ... , qn - ny
} udává množinu odkazů na
zbývající stavy. Dvoustavové prediktory jsou pak dány Ù
Ù
x{q j } ( t + 1| q ) = x{q j+1} ( t | q ) + g q éëjq ( t | q ) ,q q ùû
(2.45)
x{ri } ( t + 1| q ) = g q éëj ( t | q ) , q r ùû
(2.46)
j qT ( t ,q ) = éëuT ( t ) e T ( t ,q ) ùû
(2.47)
Ù
Jak ukázal [15], identifikace NNSSIF modelu může být považována za rozšířený Kalmanův filtr pro neznámé nelineární soustavy. Struktura modelu je ve vztahu k návrhu stavového prostoru řídicích členů. Návrh struktury musí zahrnovat řád modelu ( n ) , architekturu dvou neuronových sítí ( g q a g r ) a ukazatele {ri }i =y1 . n -1
Variace a hybridní struktura modelu Často je navrhováno použití variací výše uvedených struktur modelů a také použití kombinace lineárních a nelineárních struktur modelů. Některé použitelné příklady jsou uvedeny dále. - Někdy můžeme vidět, že NNARX struktura modelu je složen ze dvou separátních sítí, nebo ze sítě a lineárního členu.[17], [18] Ù
(2.48)
Ù
(2.49)
y ( t | q ) = g y éëj y ( t ) , q y ùû + gu éëju ( t ) , qu ùû , y ( t | q ) = g éëj y ( t ) , q y ùû + g - d B ( q -1 ) u ( t ) , Ù
y ( t | q ) = éë1 - A ( q -1 ) ùû y ( t ) + g éëju ( t ) , qu ùû ,
71
(2.50)
kde
j y ( t ) = éë y ( t - 1) ... y ( t - n ) ùû
(2.51)
T
j y ( t ) = éë y ( t - 1) ... y ( t - d - m ) ùû
T
- Podobným způsobem může být vytvořena struktura OE modelů. Modifikací vztahu (2.50) dostaneme Ù
(2.52)
Ù
y ( t | q ) = éë1 - A ( q -1 ) ùû y ( t | q ) + g éëju ( t ) , qu ùû toto překoná problém s neznámými charakteristikami stability OE-modelů.
- Podobnou logickou úvahou, můžeme získat variantu NNARMAX struktury modelu, která může být odvozena jako (2.53)
Ù
y ( t | q ) = g éëjuy ( t ) , quy ùû + C ( q -1 ) e ( t ,q ) , kde
juy ( t ) = éë x ( t - 1) ,..., y ( t - n ) , u ( t - d ) ,..., u ( t - d - m ) ùû
T
(2.54)
- Někdy mohou být zajímavé struktury modelů, které nejsou motivované tradičními lineárními strukturami modelů, např.: (2.55)
Ù
y ( t | q ) = g1 ëéj ( t ) , q1 ùû + g 2 éëj ( t ) , q 2 ùû u ( t - 1) , kde
j ( t ) = ëé y ( t - 1) ,..., y ( t - n ) , u ( t - 2 ) ,..., u ( t - 1 - m ) ûù
T
(2.56)
- Fyzikální znalosti mohou obvykle ovlivňovat volbu regresního vektoru. - Je možné implementovat strukturu modelu, tak že bude obsahovat svoji lineární část jako podmnožinu. Toto je získáno přímím propojením vstupu a výstupu. - Kromě NNOE struktury je možné přímo modifikovat strukturu modelu během analýzy pro různé časové úseky (např. bez externího vstupu). V regresním vektoru jsou jednoduše vynechány poslední vstupy. Při analýze v jednotlivých časových úsecích, nejsou experimenty řízeny, dokud není soustava ovlivňována. Mimo část zahrnující experimenty, všechny otázky probrané v této části jsou použitelné v pro tuto analýzu.
72
3.2.2.3 Několik poznámek o stabilitě Stabilita hraje velmi důležitou roli v teorii řízení. Nutnou podmínkou pro realizaci řídících soustav, které pracují v uzavřené smyčce, stávající se z řídicího členu a řízené soustavy. Řídicí člen musí být navržen tak, aby splňoval množství požadavků, např.: rychlost a tlumení. Také identifikaci soustavy se musíme někdy zabývat otázkou stability. Při identifikaci soustavy je důležitá stabilita ve spojení s asymptotickou analýzou metod odhadu. Mimoto je stabilita také důležitá ve vztahu s praktickou implementací tréninkových metod. Pokud je například pro určitou volbu parametrů modelu prediktor nestabilní, během tréninku se mohou vyskytnou určité numerické problémy. Nyní bude následovat několik poznámek, týkajících se stability diskrétních nelineárních metod. Pro hlubší seznámení s probíranou tématikou doporučujeme následující publikace [19], [20] nebo [21].
Obr. 3.2.7: Příklad modelu s neuronovou sítí a se zpětnou vazbou Základní blok struktury modelu popsané výše je dán y ( t ) = g éëq , j ( t ) ùû Jak je zobrazeno na obr. 3.2.7. Tento tvar může být snadno transformován do X ( t + 1) = Fu éë X ( t ) , U ( t ) ùû
X ( t0 ) = X 0 ,
(2.57)
kde x(t) je část regresního vektoru j ( t ) obsahující poslední výstup z neuronové sítě a Fu sestávající se z funkce neuronové sítě g a funkce posunu. Předpokládejme následují dynamickou soustavu, popsanou stavovým modelem, diskrétním v čase X ( t0 ) = X 0 ,
X ( t + 1) = F éë X ( t ) , t ùû
(2.58)
kde t Î Z . Poznamenejme, že (2.57) může být transformován na (2.58), pokud U ( t ) je funkcí času nebo pokud U ( t ) je stavově závislou funkcí a nebo kombinací obou. Nechť X 0 ( t ) které
73
je (nominální) řešení (2.58), kde X 0 ( t0 ) = X 0 a x ( t ) = X ( t ) - X 0 ( t ) . Potom odchylka od nominální hodnoty může být vypočtena vztahem x ( t + 1) = f ( x ( t ) , t )
(2.59)
Kde nominální odchylka odpovídá x ( t0 ) = 0 a kde 0 = f ( 0, t ) "t ³ t0 . Stabilita nominálního řešení může být nyní definována jako Definice 2.2.1 (stabilita) Řešení x ( t ) = 0 je stabilní (2.59), jestliže Úe > 0 $ d ( e , t0 ) > 0
|| x ( t0 ) ||£ d Þ || x ( t ) ||£ e " t ³ t0
(2.60)
To je platné pouze pro jednotlivé vzorky; nelze říct nic o tom, co se stane mezi nimi. To je také to, co je nejzajímavější na identifikaci soustavy. Při návrhu řídicího členu je velmi důležité, aby soustava mohla být řízena spojité. Ve většině praktických situacích, stabilita v diskrétním čase také vyjadřuje stabilitu ve spojitém čase. Jestliže je platný výraz (2.60) pro d nezávislé na t0 , potom řekneme, že řešení je rovnoměrně stabilní. Poznamenejme, že stabilita je spojitá vlastnost řešení s ohledem na počáteční stav. Stabilita znamená, že je možné získat řešení libovolně blízko k nominálnímu řešení, se startem v počátečním stavu, který je dostatečně blízko k nominálnímu řešení ( x0 = 0 ) . Často není toto splněno z důvodu, že jsou k dispozici dvě řešení libovolně blízko. Pro asymptotickou stabilitu, jsou požadována dvě řešení, která jsou shodná. Definice 2.2.2 (Asymptotická stabilita) Řešení x ( t ) = 0 je asymptoticky stabilní, jestliže-li je stabilní a existují takové r ( t0 ) > 0 , že platí x (t ) ® 0
pro
t®¥
pro všechna x ( t0 ) £ r . Definice 2.2.3 (Exponenciální stabilita) Řešení x ( t ) = 0 je exponenciálně stabilní, jestliže-li existují c > 0 a l > 0 takové, že x ( t ) £ c x ( t0 ) exp ( -l ( t - t0 ) ) pro všechna t > t0 . 74
(2.61)
Někdy není významnou otázkou stabilita řešení pro získání ohraničeného výstupu při ohraničeném vstupu. Příklady norem použitých v těchto případech jsou x ( t ) l ¥ = sup x ( t ) ,
(2.62)
t ³0
1
æ ¥ ö2 x ( t ) l 2 = ç å xT ( t ) x ( t ) ÷ , è t =0 ø 1
p öp æ ¥ x (t ) l p = ç å x (t ) ÷ . è t =0 ø
(2.63)
(2.64)
Definice 2.2.4 (BIBO stabilita) Řešení x ( t ) = 0 je BIBO stabilní, jestliže-li existují konstanty cu , cx takové, že u ( t ) l < cu
Þ
x ( t ) l < cx
V modelu s neuronovou sítí pouze s ohraničenými aktivačními funkcemi, jako jsou hyperbolický tangent, bude výstup vždy ohraničený. To bude také v případě, jestliže-li není propojení ze vstupního prostoru ( u ( t ) a stavu x ( t ) ) na výstupní vrstvu tvořeno pouze neohraničenými (např. lineárními) aktivačními funkcemi. Pro lineární, časově neměnnou soustavu je známo, že asymptotická, BIBO a exponenciální stabilita je získána, jestliže-li hodnoty vlastních čísel matice soustavy (odpovídající pólům přenosové funkce) jsou naprosto jasně uvnitř oblasti stability, tj. uvnitř jednotkové kružnice. Pro nezávislou nelineární soustavu jsou počátky asymptoticky lokálně stabilní, jestliže linearizovaná matice soustavy má všechny vlastní hodnoty menší než jedna. V souvislosti s v čase měnících se vstupů, lineárních soustav a modelů, jako jsou modely z neuronových sítí, je analýza mnohonásobně složitější. Za předpokladu, že časová změna, je dostatečně malá, stabilita neuronové sítě nebo řídicího členu může být zajištěna vyhodnocením vlastních hodnot linearizované soustavy. Následně, stabilita je rozuměna jako heurističtější pojem. Což je obvykle znamená, že signál by neměl „explodovat“ a odchýlit se daleko od požadované hodnoty. Typický problém stability je, když se neuronová síť nebo výstup soustavy směřují směrem k přílišným oscilacím, namísto hladkého průběhu nebo se signál dostává do saturace.
75
3.2.2.4 Terminologie Používají-li se neuronové sítě k modelování, bývá často používána rozdílná terminologie. To vychází z toho, že základy problematiky neuronových sítí jsou položeny více či méně nezávisle na problematice statistického modelování. Již bylo uvedeno, že jako „odhadování (ocenění)“ bývá nazýváno tréninkem nebo učením. Jak Ljung a Sjoberg [22] tak Starle [23] vytvořili malé slovníky obsahující běžné výrazy. Používá se obvykle termínů „učitel“ a „student“: V reálném systému se vztah y ( t ) = g 0 éëj ( t , q 0 ) , q0 ùû + e ( t )
(2.65)
obvykle nazývá „učitel“ a struktura modelu (množina kandidátů modelu)
{
M : g éëj ( t , q ) , q ùû |q Î Dm Ì R p
}
(2.66)
y ( t ) = g éëj ( t ,q ) ,q ùû + e ( t ) , se nazývá „prostor studenta“. Jednotlivé modely jsou pak nazývány „studenti“. Podmínka S Î M je tedy vysvětlena slovně jako „učitel leží v prostoru studenta“. 3.2.2.5 Výběr prostoru zpoždění Výběr struktury modelu je zde upravován na velmi obecné úrovni. Přesnější pojednání bude provedeno později. Často je kladen malý důraz na volbu architektury sítě. Avšak špatný výběr prostoru zpoždění, např. počet zpožděných signálů (použitých jako regresní vektor), může mít katastrofální vliv na některé řídicí aplikace. Příliš malý prostor obvykle vede k tomu, že dynamika nemůže být dostatečně modelována, příliš velký prostor může také způsobovat problémy. Z teorie lineárních systémů je známo, že příliš velký prostor zpoždění se může samostatně objevit jako normální členy v identifikované přenosové funkci (funkcích). V nelineárním případě můžeme očekávat stejné chování. Ačkoliv to není vždy problém, takto vzniklé členy (odpovídající skrytým módům) mohou vést k těžkostem při návrhu některých řídicích členů. Přesný výběr architektury sítě a regresního vektoru bude probrán později. Některé metody známé jako „prořezávací“ algoritmy mohou pracovat se strukturou modelu, která je příliš velká a postupně ji zmenšovat, dokud nenaleznou optimální strukturu. Vytvoření adekvátního dostatečně velkého počátečního modelu může být však těžko dosaženo metodou pokus-omyl. Je nezbytné určit jak dostatečně velký prostor zpoždění, tak i odpovídající počet skrytých jednotek. Pokud je obtížné použít fyzikálního přístupu k určení počtu skrytých jednotek, ale tento přístup může určovat vhodný prostor zpoždění. Je-li prostor zpoždění vhodně určen, je úloha výběru struktury modelu podstatně zúžena. Jestliže nemáme žádnou představu o prostoru zpoždění, je někdy možné jej určit empiricky. V [24] je jedna taková metoda popsána a tato může být použita pro deterministické soustavy. Metoda je založena na apriorním předpokladu, že soustava může být reprezentován přesně funkcí, která je na regresorech dostatečně hladká.
76
Předpokládejme, že je možné popsat soustavu pomocí modelu NNARX bez šumu, tedy y ( t ) = g 0 éëj ( t ) , q ùû
(2.67)
j T ( t ) = [j1 , j2 ,..., j z ] j T = éë y ( t - 1) ... y ( t - n ) , u ( t - n ) ... u ( t - d - m ) ùû
(2.68)
Nechť se množina dat skládá z N vstupně-výstupních párů poskytovaných
{
Z N = éëj ( t ) , y ( t ) ùû , t = 1,... N
}
(2.69)
V části 2.3 je vysvětleno, jak získat množinu dat z experimentu Předpokládejme, že velikost derivace soustavy vzhledem ke každému z regresorů je omezena nějakou kladnou hodnotou B , gt =
¶g 0 £ B l = 1, 2,..., z . ¶jl
(2.70)
Pro všechny kombinace párů vstup-výstup, je nyní Lipschitzův kvocient zaveden jako qij = kde
y ( ti ) - y ( t j )
j ( ti ) - j ( t j )
,i¹ j
(2.71)
je euklidovská norma, tj. vzdálenost. Lipschitzova podmínka tedy stavuje, že qij je
vždy omezené, jestliže funkce g0 je spojitá, tj. splňuje podmínku 0 £ i, j £ L . Předpokládejme nyní diference: d y = y ( ti ) - y ( t j ) , djl = jl ( ti ) - jl ( t j ) . Jsou-li diference ¶jl malé, platí následující aproximace
dy=
¶g ¶g ¶g dj1 + dj2 + ... + dj z ¶j1 ¶j 2 ¶j z
(2.72)
= g1dj1 + g 2dj2 + ... + g zdj z Lipschitzův kvocient pak musí splňovat podmínku qij ( ) = =
Index
( z)
(2.73)
dy
z
(dj1 )
2
+ ... + (dj z )
2
g1dj1 + ... + g zdj z
(dj1 ) + ... + (dj z ) 2
udává celkový počet regresních vektorů.
77
2
£ zB
Zajímavé je použít tuto nerovnost ve dvou rozdílných případech: regresní vektor je nedostatečný a regresní vektor je příliš velký. Nedostatečný počet regresorů: předpokládejme, že z - tý regresor chybí: qij (
z -1)
=
dy
(dj1 )
(2.74)
+ ... + (dj z -1 )
2
(dj1 ) + ... + (dj z ) 2 2 (dj1 ) + ... + (dj z -1 ) 2
=
2
2
´
g1dj1 + ... + g zdj z
(dj1 )
2
+ ... + (dj z )
2
Jako extrémní příklad si představme, že rozdíl djl = 0 pro všechny l s výjimkou l = z . Jestliže-li výstup závisí na z - tém regresoru, pak bude obvykle existovat bod, kde rozdíl d y ¹ 0 . Bez ohledu na regresor j z to povede na nekonečný Lipschitzův kvocient. Obecně se samozřejmě nelze spoléhat na možnost, že data obsahují takový případ. Avšak, musíme očekávat, že nedostatek regresorů velmi často vede na velmi velké kvocienty. Navíc, čím více regresorů chybí, tím rychleji kvocient roste. Více regresorů, než je nezbytné: Jestliže je v regresním vektoru zahrnuto příliš mnoho zpoždených signálů pak, vektor obsahuje nadbytečnou informaci. Předpokládejme například případ, kdy je jeden regresor navíc. Potom qij (
z +1)
=
dy
(dj1 )
2
(2.75)
+ ... + (dj z +1 )
(dj1 ) + ... + (dj z ) 2 2 (dj1 ) + ... + (dj z +1 ) 2
=
2
2
´
g1dj1 + ... + g zdj z
(dj1 )
2
+ ... + (dj z )
2
Je zřejmé, že nadbytečný regresor má menší vliv na Lipschitzův kvocient, protože typicky vede k nevýznamnému zmenšení kvocientu. V článku [24] jsou tyto vlastnosti využity v kritériu pro stanovení optimální struktury regresoru. Celý postup je následující: Pro zvolený prostor zpoždění, se určí Lipschitzovy kvocienty pro všechny kombinace vstupně-výstupní párů. Vybere se největší kvocient p = 0, 01N ~ 0, 02 N . Největší kvocient se obvykle vyskytuje tam, kde jsou rozdíly djl malé. Vyčíslí se kritérium qij
( n)
1 p
æ ö n = ç Õ nq ( ) ( k ) ÷ . è k =1 ø p
Opakují se výpočty pro všechny různé struktury zpoždění. 78
(2.76)
Vykreslí se kritérium jako funkce prostoru zpoždění a vybere se optimální počet regresorů jako zlomový bod křivky. Při výpočtu všech kvocientů je toto řešení velmi náročné na spotřebu výpočetního času. Platí to především tehdy, je-li N velké a přejeme-li si prozkoumat velký počet struktur zpoždění. Proto je vhodné zvážit, zda by se neměl zvětšovat počet zpožděných vstupů a výstupů součastně. Obr. 3.2.8 zobrazuje použití metody na množinu dat, získaných ze simulačního experimentu s nelineárním dynamickým systémem. Počet zpožděných vstupů a výstupů je zvětšován součastně z n = m = 1 na n = m = 8 . Je vidět, že kritérium doporučuje použít prostor zpoždění n = m = 8 , což je ve skutečnosti správná dimenze tohoto prostoru.
Obr. 3.2.8: Hodnoty kritéria pro různé prostory zpoždění 3.2.2.6 Souhrn kapitoly V této kapitole byly uvedeny různé modely včetně lineárních a nelineárních modelů založených na neuronových sítích. Struktura modelu Struktura modelu je množina kandidátů modelu. Výběr struktury modelu zahrnuje výběr množiny vstupů (regresorů) a určení jak kombinovat regresory do jednokrokové predikce. Lineární nebo nelineární Je-li získána predikce jako lineární kombinace regresorů, říkáme, že struktura modelu je lineární. Jsou-li regresory použity jako vstup do neuronové sítě, struktura modelu je nelineární. 79
Regresní vektor Regresory představují zpožděné signály. Některé obecné struktury modelů jsou získány následující volbou regresorů. FIR/NNFIR:
poslední řídicí vstupy.
ARX/NNARX: poslední řídicí vstupy a měřené výstupy. OE/NNOE:
poslední řídicí vstupy a predikované výstupy
ARMAX/NNARMAX: poslední řídicí vstupy, predikované výstupy a residuí SSIF/NNSSIF: poslední vstup, odhad stavu a rezidua Někdy se také používají kombinované lineární a nelineární struktury modelů. Fyzikální pochopení může také naznačit, že regresory jsou jednoduché signálové funkce, např. dva signály jsou násobeny nebo signály umocněny na druhou. Architektura sítě Pro nelineární struktury modelů se musí kromě regresorů vybrat odpovídající architektura sítě. To předpokládá určit odpovídající počet skrytých jednotek. Stabilita Prediktory musí být stabilní. Nestabilita se může vyskytnout u struktur modelů, které mají zpětnou vazbu. Jsou obvykle upřednostňovány NNFIR a NNARX modely, protože první volba jejich prediktorů nemůže být nestabilní ani tehdy, je-l modelovaná soustava soustava je nestabilní. Ačkoliv prediktor musí být z principu stabilní, problém se stabilitou se může vyskytnout v průběhu tréninku, nebo v případě, je-li získaný model nepřesný. Prostor zpoždění V případě prostředí bez rušení je někdy vhodné určit prostor zpoždění (počet zpožděných vstupů a výstupů) automaticky s takzvanými Lipschitzovými kvocienty. Terminologie Stejné záležitosti mají rozdílné názvy v odlišných oblastech. Například trénink nebo učení, které jsou používány ve většině publikací, zabývajících se neuronovými sítěmi, jsou nazývány jako odhad ve statistických publikacích. V terminologii existuje mnoho takových odlišností.
80
3.2.3 Experiment Prvotním účelem experimentu je vytvořit soubor příkladů k identifikaci odezvy dynamické soustavy na různé řídicí vstupy. První částí identifikačního procesu je stanovení úzkých míst v procesu a určení požadavků na přesnost modelu. Experiment je obzvlášť důležitý při modelování nelineárních systémů, jejichž vnitřní strukturu neznáme (černá skříňka). Zde musí být věnována zvýšená péče sběru dat, která popisují chování systém v celém jeho pracovním rozsahu. V této části bude zaměřena pozornost na různé otázky návrhu experimentu, zahrnující víc než jen generování dat pro trénink neuronové sítě. Tato část je zahrnuje tato témata: -
Test na ověření rozhodnutí zda-li je nutné použít nelineární přístup.
-
Návrh vstupních signálů pro získání adekvátních souborů dat
-
Metody přípravy dat pro model založený na neuronových sítích.
Rovněž výběr a poloha snímačů by také měly být součástí experimentu, a proto dále budeme předpokládat, že je k dispozici kompletní soustava i se snímači. Dále se předpokládá možnost více či méně libovolného nastavování vstupů, které v praxi také není vhodné předpokládat. Mnoho průmyslových soustav, které bychom si přáli identifikovat, je již v činnosti (vyrábí nějaké produkty). Například to jsou pece, reaktory, destilační kolony. Měnit vstup bez ohledu na vyráběný produkt může způsobit vážné problémy. Avšak strategie pro zahrnutí těchto omezení překračují rámec této publikace. V praktických situacích je potřeba vést experiment ve shodě s doporučeními návodů a maximálně se snažit zabránit poškození soustavy. 3.2.3.1 Kdy je lineární model nedostatečný ? Je-li cílem identifikace soustavy vytvoření modelu, který může být použit k návrhu řídicího systému, je často dostačující použít méně přesný lineární model, i když bude soustava řízena nelineárně. Důvodem k tomuto rozhodnutí je podstatně jednodušší návrh a implementace řídicích členů založených na lineárním modelu. Jestliže jsou nedostatky ve znalosti fyzikálních principů nebo rozhoduje-li se, zda je lineární model přijatelný, může být jednoduše odhadnout počet různých lineárních modelů pro řešení úlohy. Tato volba představuje bezpečnější, ale samozřejmě také pracnější způsob ověření. Abychom se vyhnuli zbytečnému plýtvání časem, je žádoucí mít sadu jednoduchých testů pro určení „jak moc lineární“ systém ve skutečnosti je. Několik jednoduchých „testů nelinearity“ je uvedeno níže. Tyto a další testy jsou popsány v [25] a [26]. Kontrola principem superpozice U nelineárního systému neplatí princip superpozice y ( t ) = g éëj1 ( t ) + j 2 ( t ) ùû = g éëj1 ( t ) ùû + g éëj1 ( t ) ùû , a neplatí homogenita
81
(2.77)
y ( t ) = g éëaj ( t ) ùû = a g éëj ( t ) ùû ,
(2.78)
alespoň ne v pracovním rozsahu. Jestliže-li systém neovlivňují žádné poruchy, je jednoduché tuto kontrolu provést. Je nezbytné předpokládat, že (2.77), (2.78) platí pro lineární soustavu v ustáleném stavu; jinak se také musí brát v úvahu počáteční podmínky. Jestliže-li je systém stabilní, může se také počkat s kontrolou podmínek, dokud neodezní přechodový jev. Jako příklad se může použít následující procedura: je použit nulový vstupní signál a počká se na dosažení ustáleného stavu a následně se prověří stejnosměrný offset ( D ) . Poté se použijí dva rozdílné signály u1 , u2 , pro které platí: u2 ( t ) = cu1 ( t ) .
(2.79)
Jestliže-li je systém lineární, pak by poměr r (t ) =
y2 ( t ) - D y1 ( t ) - D
(2.80)
měl být v každém časovém okamžiku roven c . Pro tento příklad bude „index nelinearity“ soustavy dán jako v = max i
r (t ) - c c
(2.81)
a pro lineární systémy měl být roven nule. Kontrola frekvenční odezvy Obecně je známo že frekvenční odezva lineárního systému je jedinečná bez ohledu na amplitudu vstupního signálu. Pro kontrolu linearity mohou být použity odlišné sinusové signály působící na systém. Frekvence i amplituda signálu by se měla měnit. Jestliže-li je systém lineární, ustálený výstup by měl mít sinusový průběh se stejnou frekvencí a amplituda na výstupu musí být úměrná amplitudě na vstupu. Kontrola přítomnosti subharmonických frekvencí pomocí Fourierovy analýzy výstupního signálu může dát další představu o nelinearitě. Přirozeně, v případě systému zatíženého rušením, se musí věnovat tomuto problému určitá pozornost. Mimoto, jestliže je soustava silně zatížena nadměrným rušením, je doporučováno, aby byla průměrována sekvence výstupních hodnot z více pokusů. 3.2.3.2 Otázky při návrhu experimentu Jestliže-li fyzikální znalosti nebo testy nelinearity odůvodňují identifikaci založenou na neuronových sítích, musí být pro odhad uvažovány různé otázky týkající se získávání vhodných dat. Volba vzorkovací frekvence Jestliže je zvolená vzorkovací frekvence vyšší v porovnání s dynamikou uvažovaného systému, je pravděpodobné, že se vyskytne řada problémů se špatnou numerickou 82
podmíněností při pokusu o identifikaci modelu [27]. Když je prováděna identifikace spolu s návrhem systému řízení, pak výběr vzorkovací frekvence se stává poněkud komplikovaným. V tomto případě, by vzorkovací frekvence měla být vybírána ve shodě s navrhovanou dynamikou uzavřené smyčky, skládající se z řídicího členu a regulované soustavy. Měla by tedy být tak vysoká, aby umožnila rychlé sledování cíle a hladší průběh řídicího signálu. Vyvstává ovšem problém s numerickou podmíněností. Vzorkovací frekvence by tedy měla být vybrána jako rozumný kompromis mezi identifikací soustavy a návrhem regulátoru. Problém dimensionality Jak již bylo uvedeno dříve, superpozice a homogenita nejsou u nelineárních systémů použitelné. Navíc nelinearita vyvolává velký nárůst požadavků na budící vstupní signál. Zatímco při identifikaci lineárních systémů postačí použít signál obsahující konečný počet frekvencí, požadavky nelineárního systému jsou přibližně takové, že bychom ve vstupním signálu potřebovali všechny kombinace frekvencí a amplitud z pracovního rozsahu soustavy. Důsledkem toho je dramatický nárůst nezbytné velikosti souboru dat s počtem vstupů a výstupů. Naneštěstí není zde zjevné, jak dosáhnout nápravy. To představuje podstatný nedostatek v přístupu k nelineárním černým skříňkám a v zásadě to zabraňuje rozšíření neuronových sítí k identifikaci rozsáhlých soustav. Volba vstupního signálu Před výběrem vstupního signálu je důležité určit pracovní rozsah soustavy. Zvláštní pozornost musí být věnována pochopení dynamických jevů, které nejsou určeny k zahrnutí do modelu (např. mechanické rezonance). Obvykle to znamená, že vstupní signál musí být omezen na dostatečně nízké frekvence. Při identifikaci lineárního systému je obvyklé použití signálu sestávajícího z několika sinusoid s rozdílnou amplitudou. Rovněž jsou také populární takzvané PRBS signály (Pseudo Random Binary Sequence). Nicméně, když se pracuje s nelineárními strukturami modelů, je důležité, aby všechny amplitudy a frekvence byly reprezentovány tak, jak bylo uvedeno výše. Některé signály, které se snaží splnit tyto požadavky, budou vysvětleny. Doplňující informace lze nalézt například v [12]. Signál po N-vzorcích konstantní Nechť e ( t ) je bílý šum s rozptylem s e . Signál je definován jako 2
æ é t -1ù ö u ( t ) = e ç int ê ú + 1÷ , t = 1, 2,... è ë N û ø
(2.82)
a skok na novou úroveň nastane pro každý N-tý vzorkovací okamžik (int představuje celou část). Kovariační funkce je N -t 2 se , N
(2.83)
s e 1 - cos N w . 2p N 1 - cos w
(2.84)
Ru (t ) = a její spektrální hustota je
f (w ) =
2
83
Příklad signálu je na obr. 3.2.9.
Obr. 3.2.9: Signál po N-vzorcích-konstantní pro N = 15 . Signál je normován na interval [ -1;1] U většiny systémů řízení generuje řídicí člen výstupní signál, který se mění pouze málo mezi dvěmi následujícími vzorky. Má-li e ( t ) Gausovo rozložení, lze předpokládat modifikace typu „náhodný průchod“, odpovídající filtru typu dolní propust: æ é t - 1ù ö u ( t ) = u ( t - N ) + e ç int ê ú + 1÷ , t = 1, 2,.. è ë N û ø
(2.85)
Náhodná změna úrovně Rozšíření signálu po N-vzorcích-konstantního je získáno vnesením přídavné náhodné proměnné pro rozhodování, kdy se má úroveň měnit. ïì u ( t - 1) s pravděpodobností a ïü u (t ) = í ý îïe ( t ) s pravděpodobností 1 - a þï
(2.86)
Kovariační funkce tohoto signálu je Ru (t ) = a t s e
2
(2.87)
a odpovídající spektrální hustota je 2
s 1-a f (w ) = e . 2 2p 1 + a - 2a cos w
84
(2.88)
Obr. 3.2.10: Vstupní signál, jehož úroveň je měněna náhodně. Signál je zobrazen pro a = 0,5 a a = 0,9 a v obou případech je normován na interval [ -1;1] Signál je znázorněn na obr. 3.2.10. Opět je možno předpokládat modifikaci signálu náhodným průchodem nebo filtrem typu dolní propust. Kmitočtově rozmítaný signál Kmitočtově rozmítaný signál je sinusový, s postupně se zvyšující frekvencí. S takovým signálem je možno přesně budit v požadovaném frekvenční rozsahu. Kmitočtově rozmítaný signál může být generován podle procedury, uvedené níže. [28] t (w final - wstart ) N u ( t ) = u0 + A sin (wt tTs ) , t = 1, 2,..
wt = wstart +
Průběh signálu je zobrazen na obr. 3.2.11
85
(2.89)
Obr. 3.2.11: Kmitočtově rozmítaný signál, s frekvencí měnící se od wstart = 0, 01/ Ts do w final = 0, 2 / Ts Je-li tento signál použit pro nelineární systémy, je nutné jej opakovaně přivádět s různými hodnotami stejnosměrné složky u0 a amplitudy A . Bez ohledu na druh vybraného signálu je důležité, aby byl signál přizpůsoben zkoumanému systému. Je také trvale třeba dbát na to, že nemohou nebo nesmí být překročena fyzikální omezení; např. funkční omezení pro D/A převodníky a aktuátory. Získávání dat v uzavřené smyčce Je-li systém nestabilní nebo slabě tlumený, je doporučeno (nebo nezbytné) použít stabilizační zpětnovazební řídicí člen pro udržení systému uvnitř pracovního rozsahu. Jestliže stabilizační řídicí člen není předtím k dispozici, můžeme přistoupit k manuálnímu ladění PID regulátoru nebo použít nějaký jiný jednoduchý přístup. Někdy je také vhodné použít lidského operátora pro řízení systému. Jestliže model ukazuje na možnost použití řídicího členu, je vhodné přistoupit k získávání dat z uzavřené smyčky. Nejlepší by bylo začít s řídicím členem vykazujícím chování blízké k chování výsledného řídicího členu [29]. Toto je ovšem nemá smysl, protože bude-li takový řídicí člen dostupný, nemá již význam provádět identifikaci systému a návrh nového řídicího členu. Co však můžeme udělat v praxi, je provádět návrh opakovaně. Identifikace soustav pracujících v uzavřené smyčce je obsahem řady publikací. V [12] je ukázáno, že za určitých okolností není možno identifikovat systém se zpětnou vazbou. 86
Možnost jak tento problém řešit spočívá v použití buď u nelineárních nebo časově adaptivních regulátorů. Jiným způsobem je přivedení dalšího vstupního signálu do smyčky (viz. obr. 3.2.12).
Obr. 3.2.12: Přivedení dalšího vstupního budícího signálu systému na výstup manuálně nastavovaného řídicího členu Je-li systém skutečně identifikovatelný, je opravdu vhodné přivést do smyčky jakýkoliv další signál. Manuálně nastavovaný řídicí člen (nebo lidský operátor), budou obvykle do systému zasahovat opatrně, tj. tak, že vstupem do systému bude nízkofrekvenční signál. To může mít za následek, že vysokofrekvenční část pracovního rozsahu nebude dostatečně prozkoumána. Přivedení dalšího signálu o vyšších frekvencích a s větší energií může kompenzovat tento nedostatek. 3.2.3.3 Příprava dat pro modelování Inteligentní zpracování dat je často důležitější než zkoušení velkého množství různých struktur modelů a trénovacích schémat. Pro získání množství cenných informací o soustavě z naměřených dat, použitelných a vhodných pro modelování pomocí neuronových sítí, může být použito mnoho různých způsobů zpracování. Některá doporučení jsou uvedena v následujících odstavcích. Filtrace Filtrace je široce užívána pro odstranění šumu, periodického rušení, offsetu a nedůležitých dynamických jevů z naměřených signálů. Jestliže jsou frekvenční šum/rušení vážnými problémy, doporučuje se pro jejich odstranění použít před vzorkováním analogových filtrů, abychom se vyhnuli aliasingu. Offset, drift a nízkofrekvenční poruchy mohou být odstraněny filtrováním dat po vzorkování. Odstranění redundance a extrémních hodnot ze souboru dat Někdy dominuje velké množství dvojic vstup-výstup v malé oblasti z celkového pracovního rozsahu souboru dat. Je-li proveden trénink na tomto souboru dat, je pravděpodobné, že získaný model bude v této oblasti velmi přesný, ale bude vykazovat horší chování mimo tuto oblast. Určité zmenšení tohoto souboru dat je nezbytné pro eliminaci nadbytečných informací. Kromě získání přesnějších informací přináší redukce množství dat v souboru také výhodu snížení tréninkového času. 87
Dále je doporučováno odstranění extrémních hodnot ze souboru dat nebo alternativně do souboru dat vložit interpolované hodnoty z výstupního signálu. Podle typu kriteriální funkce (viz odstavec 3.2.4) mají často extrémní hodnoty zhoubný vliv na trénovaný model. Poznamenejme, že může být problémem identifikovat modely založené na rekurentních sítích, např. modely NNOE a NNARMAX, jestliže byla odstraněna část dat ze souboru. Zpětnovazební propojení v modelu prodlužuje doby přechodových dějů při výskytu náhlých změn ve výstupním signálu. Pro odeznění těchto přechodových dějů je potřeba určitý čas, aby nemohli ovlivňovat trénink. Normování Důrazně se doporučuje provést normalizaci všech hodnot signálů na stejný rozsah. Signály jsou obvykle měřeny v různých fyzikálních veličinách a bez normování je pravděpodobné, že signály s větší velikostí budou dominovat. Mimoto normování zvětšuje numerickou robustnost trénovacího algoritmus a vede k rychlejší konvergenci [30]. Zkušenosti ukazují, že normování vede i k získání lepších modelů. Jestliže je použita dvouvrstvá neuronová síť s lineárními výstupními jednotkami, lze po dokončení tréninku přímo změnit měřítka vah. Tímto způsobem vytvořený finální model sítě může pracovat s nenormovanými daty. Pro systémy s více výstupy muže být důvodem k jejich normování skutečnost, že systém je ovlivňován šumem. Toto bude vysvětleno později. 3.2.3.4 Závěr odstavce Primárním cílem experimentu je shromáždit dostatečně velký soubor příkladů odezev soustavy na různé vstupy. Tyto příklady mohou být později užity pro trénink neuronové sítě modelu soustavy. Dalším cílem experimentu je provést série testů nelinearity pro ověření, zda je použití neuronové sítě celkově vhodné, nebo jestli je vhodnější použít lineární přístup. Experiment je obvykle zakončen předzpracováním získaných dat s cílem odstranit nežádoucí data. Testy nelinearity Jestliže jsou fyzikální znalosti soustavy omezeny, je vhodné před shromažďováním dat pro identifikaci provést nejprve testy nelinearity. Superpozice a homogenita: Začínáme-li z ustáleného stavu, měl by být výstup lineárního systému podobný vstupu řízení. Frekvenční odezva: Je-li soustava stabilní a přivede-li se na její vstup sinusový signál, je jejím výstupem sinusový signál stejné frekvence. Návrh experimentu Často se stává, že návrhu experimentu je věnována překvapivě dlouhá doba. Některé z nejdůležitějších otázek, které musíme řešit, jsou: Vzorkovací frekvence: Výjimečně jednoduchá volba. Ne příliš malá, ale ne příliš vysoká.
88
Vstupní signál: Je důležité, aby vstupní signál přivedený na soustavu skutečně vyvolal takovou odezvu soustavy, že bude pokryt celý její pracovní rozsah. Je nutno pečlivě získat mnoho dat, ale je nutno se vyhnout získávání mnoha redundantních informací. Experiment na uzavřené smyčce: Jestliže je soustava málo tlumená nebo nestabilní, může být nezbytné provádět experiment s použitím nějakého způsobu manuálního nastavování řídicího členu. Příprava dat pro modelování Nezpracovaná získaná data budou vždy obsahovat chyby měření a ostatní informace, které nejsou vhodné pro zahrnutí do modelu. Tyto informace by měly být z dat odstraněny. Filtrace: Analogové filtrace by měla předcházet vzorkování, abychom se vyhnuli aliasingu. Diskrétní filtrací dat můžeme později odstranit omezení šířky pásma nebo nízkofrekvenční rušení. Extrémní hodnoty: Při prohlídce dat jsou jasně vidět odlehlé hodnoty. V případě, že existují, měly by se odstranit. Normování: Důrazně se doporučuje provést normalizaci všech hodnot signálů na stejný rozsah. Toto obecně vylepšuje model a zlepšuje konvergenci tréninkového algoritmu.
89
Literatura [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28]
Ziegler, J. G., Nichols, N. B.: Optimum settings for automatic controllers, 1942 Sjoberg, J., Ljung, L.: Overtrainning, regularization, and searching for minimum in neural networks, Int. Journal of Control, 62(6), 1995 Barron, A. R.: Universal approximation bounds for superpositions of a sigmoid function, IEEE Transaction on Information Theory, 39, 1993 Juditsky, A. and coll.: nonlinear black-box models in system identification: Mathematical foundation, Automatica, 31(12), 1995 Hertz, J., and coll.: An Introduction to the Theory of Neural Computation, AddisonWesley, Redwood City, CA, 1991 Hayakin, S.: Neural networks: A Comprehensive Foundation, Prentice-Hall, 1998 Zurada, J. M.: Artifical Neural Systems, West Publishing Company, St. Paul, MN, 1992 Cybenko, G: Approximation by superpositions of a sigmoidal function, Mathematics of Control, Signals and Systems, 2(4), 1989 Sanner, R. M., Slotine, J. J. E.: Gaussian network for direct adaptive control, IEEE Transactions on Neural Networks, 3(6), 1992 Tzirkel-Hancock, E., Fallside, F.: Stable Control of nonlinear systems using neural networks, International Journal of Robust and nonlinear Control, 2(1), 1992 Ljung, L.: System Identification – Theory for the User, Prentice-Hall, 1999 Soderstrom, T., Stoica, P.: System Identification, Prentice-Hall, London, UK, 1989 Kwakernaak, H., Sivan, H.: Linear Optimal Control Systems, John Wiley and Sons, New York, 1972 Sørensen, 0.: Neural networks performing system identification for control application, In 3rd Int, Conference on Artificial Neural Networks, Brighton, UK,1993 Sørensen, 0.: Neural networks in Control Application, PhD thesis, Aalborg University, Department of Control Engineering, Aalgorg, Denmark, 1994 Narenda, K. S., Parthasarathy, K.: Identificaton and control of dynamics systems using neural networks, IEEE Trans. on Neural Networks, 1(1), 1992 Brittani a Piroddi 1993 Salle, J. L., Lefschetz, S.: Stability by Lyaponov’s Direct Method, Mathematics in Sience and Enginnering, Academic Press, 1961 Khalil, H. K.: Nonlinear Systems, Prentice-Hall, 1996 Slotine, J. J. E., Li, W.: Applied Nonlinear Control, Prentice-Hall, Englewood Cliffs, 1991 Ljung, L., Sjoberg, J.: A system identification perspective on neural nets, Technical Report, Linkoping, Sweden, 1992 Sarle, W. S.: Neural networks and statistical models, In Proc. 19th Annual SAS User Group Int. Conference, Cary, NC, SAS Institute, 1994 He, X., Asada, H.: A new method for identifying orders of input-output models for nonlinear dynamics systems, In Proc. of the American Control Conference, San Francisco, California, 1993 Haber, R.: Nonlinearity tests for dynamics processes, Proc. IFAC Sym. on Identification and System Parameter Estimation, York, UK, 1985 Tong, H.: nonlinear Time Series, a Dynamical System Approach, Oxford, UK, Clarendon Press, 1990 Middleton, R., Goodwin, G.: Digital Control and Estimation: a Unified Approach, Prentice-Hall, Englewood Cliffs, 1990 Franklin, G. F., and coll.: Digital Control of Dynamic Systems. Addison-Wesley, Reading, MA, 1998 90
[29] Gevers, M.: Towards a joint design of identification and control, Progress in Systems and Contorl Theory, Birkhauser, Boston, 1993 [30] Le Cun, Y., Kanter, I., Soll, S. A.: Eigenvalues of covariance matrices: application to neural-network learning, Physical Review Letters, 66(18), 1991
91