Neurocontrol ( angl. Neurocontrol ) je speciální případ inteligentního řízení , které využívá umělé neuronové sítě k řešení problémů řízení dynamických objektů. Neurocontrol je průsečíkem takových disciplín, jako je umělá inteligence , neurofyziologie , teorie automatického řízení , robotika . Neuronové sítěmají řadu unikátních vlastností, které z nich dělají silný nástroj pro tvorbu řídicích systémů: schopnost učit se z příkladů a zobecňovat data, schopnost přizpůsobovat se změnám vlastností řídicího objektu a prostředí, vhodnost pro syntézu nelineárních řadiče, vysoká odolnost proti poškození jejich prvků v důsledku počáteční inherentní architektury neuronové sítě paralelismu. Termín „neurofeedback“ poprvé použil jeden z autorů metody backpropagation Paul J. Verbos v roce 1976 [1] [2] . Existuje mnoho příkladů praktické aplikace neuronových sítí pro řešení problémů řízení letadla [3] [4] , vrtulníku [5] , robotického automobilu [6] , rychlosti hřídele motoru [7] , hybridního motoru automobilu [8] , elektrická pec [9] , turbogenerátor [10] , svařovací stroj [11] , pneumatický válec [12] , systém řízení výzbroje pro lehce obrněná vozidla [13] , model obráceného kyvadla [14] .
Podle způsobu použití neuronových sítí se metody neurokontroly dělí na přímé a nepřímé . U přímých metod je neuronová síť trénována k přímému generování řídicích akcí na objektu, v nepřímých metodách je neuronová síť trénována k provádění pomocných funkcí: identifikace řídicího objektu , potlačení šumu , provozní nastavení koeficientů PID regulátoru . V závislosti na počtu neuronových sítí, které tvoří neurokontrolér, se neurokontrolní systémy dělí na jednomodulové a vícemodulové . Neurocontrol systémy, které se používají ve spojení s tradičními regulátory, se nazývají hybridní .
V oblasti řízení se umělé neurální systémy (ANS) používají v úlohách identifikace objektů, v algoritmech pro predikci a diagnostiku a také pro syntézu optimálních automatických řídicích systémů (ACS) . Pro implementaci ACP na bázi ANN se v současné době intenzivně rozvíjí výroba neuročipů a neurokontrolérů (NC) .
V určitém smyslu je ANN imitátorem mozku, který má schopnost učit se a orientovat se v podmínkách nejistoty. Umělá neuronová síť je podobná mozku ve dvou aspektech. Síť získává znalosti v procesu učení a k ukládání znalostí nepoužívá objekty samotné, ale jejich spojení - hodnoty koeficientů interneuronálních spojení, nazývané synaptické váhy nebo synaptické koeficienty [15] .
V úlohách neurokontroly se k reprezentaci řídicího objektu používá model černé skříňky, ve kterém jsou pozorovatelné aktuální vstupní a výstupní hodnoty. Stav objektu je považován za nepřístupný pro vnější pozorování, ačkoli rozměr vektoru stavu je obvykle považován za pevný. Dynamika chování řídicího objektu může být reprezentována v diskrétní formě:
kde: je stav objektu řízení objednávky v cyklu ; je hodnota -rozměrného řídicího vektoru cyklu , je hodnota -rozměrného výstupu řídicího objektu v cyklu .
K odhadu aktuálního stavu řídicího objektu lze použít model NARX, který se skládá z minulých poloh objektu a zpožděných řídicích signálů :
Vektor odhadu stavu lze také reprezentovat bez použití zpožděných signálů:
Je také možné znázornit stav objektu jako snímek jeho fázové trajektorie:
Imitativní neurokontrola [16] [17] [18] (učení neurokontroly založené na mimice, modelování regulátoru, učení pod dohledem pomocí existujícího regulátoru) pokrývá systémy neurokontroly, ve kterých je neurokontrolér trénován na příkladech dynamiky konvenčního zpětnovazebního regulátoru postaveného, např. například na základě konvenčního regulačního schématu PID . Po trénování neuronová síť přesně reprodukuje funkce původního ovladače. Záznam chování lidského operátora lze použít jako příklady dynamiky regulátoru. Konvenční zpětnovazební regulátor (nebo lidský operátor) řídí řídicí objekt v normálním režimu. Zaznamenávají se hodnoty na vstupu a výstupu regulátoru a na základě protokolu se vytvoří trénovací vzorek pro neuronovou síť obsahující dvojice vstupních hodnot a očekávané reakce neuronové sítě:
Po naučení např. backpropagation se neuronová síť připojí na místo původního řadiče. Výsledný neurokontrolér může nahradit osobu při správě zařízení a je také cenově výhodnější než původní ovladač.
Ve schématu zobecněného inverzního neurořízení (přímé inverzní neurořízení, adaptivní inverzní řízení) [19] [20] je jako regulátor použit neurální model inverzní dynamiky řídicího objektu, nazývaný inverzní neuroemulátor . Inverzní neuroemulátor je neuronová síť cvičená offline k simulaci zpětné dynamiky řídicího objektu na základě zaznamenaných trajektorií chování dynamického objektu. K získání takových trajektorií je do řídicího objektu přiváděn nějaký náhodný proces jako řídicí signál. Hodnoty řídicích signálů a odezvy objektu jsou zaznamenány a na tomto základě je vytvořen trénovací vzorek :
V průběhu tréninku musí neuronová síť zachytit a zapamatovat si závislost hodnot řídicího signálu na následné hodnotě reakce řídicího objektu , který byl předtím ve stavu . Při ovládání objektu je jako regulátor zapojen inverzní neuroemulátor, který přijímá na vstupu hodnoty žádané hodnoty (určitá hodnota nebo parametr, při jehož dosažení se stav systému změní) a stav přicházejícího ovládacího objektu. kanál zpětné vazby :
Předpokládá se, že inverzní model řídicího objektu vytvořený při tréninku je adekvátní, proto řídicí signál vydaný neuronovou sítí zajistí přechod objektu do polohy určené nastavením.
Specializované inverzní neurokontrola [19] [20] využívá metodu trénování neurokontroléru online pomocí aktuální chyby odchylky polohy objektu od žádané hodnoty . Schéma zapojení neurokontroléru je stejné jako u metody generalizovaného inverzního neurokontrolu . Vektor je přiveden na vstup sítě :
Neuronová síť generuje řídicí vektor , který přesune řídicí objekt do polohy . Dále se vypočítá aktuální chyba neurokontroléru
Vypočítá se gradient změny hmotnosti
Potom jsou hmotnosti neurokontroléru korigovány metodou nejstrmějšího klesání nebo jinou metodou gradientu .
Derivace je jakobián řídicího objektu, jehož hodnota je nastavena analyticky podle daného matematického modelu řídicího objektu. V praxi však k získání přijatelné kvality kontroly často postačí vypočítat pouze znak jakobiánu. Iterace korekcí hodnot koeficientů pokračují, dokud není dosaženo přijatelné kvality řízení.
Backpropagation through time, model reference adaptive control, internal model control method [8] [21] [22] [23] je založeno na myšlence použití tandemu dvou neuronových sítí , z nichž jedna funguje jako kontrolér , a druhý je model řídicího objektu , který se nazývá přímý neuroemulátor . Přímý neuroemulátor slouží k výpočtu chybového gradientu neurokontroléru při jeho trénování a dále se nepoužívá. Dá se říci, že neurokontrolér a neuroemulátor představují jednu neuronovou síť a když je neurokontrolér trénován, váhy přímého neuroemulátoru „zmrazí“. Jako první se trénuje přímý neuroemulátor. Za tímto účelem se na vstup řídicího objektu přivede náhodný řídicí signál , který změní polohu řídicího objektu , a vytvoří se trénovací vzorek :
Trénink přímého neuroemulátoru se provádí offline. Přímý neuroemulátor se považuje za trénovaný, pokud se při stejných hodnotách na vstupech neuroemulátoru a skutečného objektu rozdíl mezi hodnotami jejich výstupů stane nevýznamným. Po dokončení trénování přímého neuroemulátoru je trénován neurokontrolér. Školení probíhá online podle stejného schématu jako v případě specializovaného inverzního neurofeedbacku . Nejprve (v cyklu ) je na vstupu neurokontroléru přijata požadovaná poloha řídicího objektu pro další cyklus . Neurokontrolér generuje řídicí signál , který je přiváděn na vstupy řídicího objektu a neuroemulátoru. V důsledku toho se ovládaný objekt přesune do polohy a neuroemulátor generuje reakci . Dále se vypočítá chyba řízení a předá se v opačném směru podle pravidla zpětného šíření. Váhové koeficienty neuroemulátorových spojení nejsou v tomto případě korigovány. Mechanismus zpětné chyby procházející přímým neuroemulátorem implementuje lokální inverzní model v aktuálním bodě ve stavovém prostoru řídicího objektu. Po průchodu neuroemulátorem se chyba dále šíří neurokontrolérem, ale nyní je její průchod doprovázen korekcí váhových koeficientů neurokontroléru. V tomto případě přímý neuroemulátor plní funkce dalších vrstev neuronové sítě neurokontroléru, ve kterých nejsou korigovány váhy spojení.
Metoda neurokontroly s referenčním modelem (model reference adaptive control, neural adaptive control) [23] [24] [25] je variantou neurokontroly metodou zpětného přeskakování chyb přes přímý neuroemulátor s přídavným referenčním modelem (referenční model) dynamického systému zabudovaného v obvodu, pro simulaci, jehož chování je trénováno neurokontrolérem. To se provádí za účelem zlepšení kvality procesu přechodu: v případě, že přechod objektu do cílové polohy v jednom cyklu není možný, trajektorie pohybu a doba procesu přechodu se stávají špatně předvídatelnými hodnotami. a může vést k nestabilitě procesu přechodu. Pro snížení této nejistoty je zaveden referenční model, který je zpravidla stabilním lineárním dynamickým systémem prvního nebo druhého řádu. V průběhu trénování referenční model přijímá na vstupu požadovanou hodnotu a generuje referenční trajektorii , která je porovnávána s polohou řídicího objektu , aby se získala chyba řízení , aby se minimalizovala, kterou je neurokontrolér trénován.
Ke zkvalitnění regulátoru v regulačním obvodu slouží metoda filtrování vnějších rušení neuronovou sítí (adaptivní inverzní řízení založené na lineární a nelineární adaptivní filtraci, řízení vnitřního modelu) [26] . Toto schéma původně navrhl B. Widrow pro použití ve spojení s neurokontroléry trénovanými metodou generalizované inverzní neurokontroly [27] . V pozdější práci [28] použil neurokontroléry trénované metodou zpětného šíření chyb prostřednictvím přímého neuroemulátoru . V zásadě lze filtrování chyb neuronové sítě použít ke zlepšení výkonu libovolného typu řadiče, ne nutně neuronové sítě . Toto schéma používá dvě předtrénované neuronové sítě: inverzní neuroemulátor trénovaný stejným způsobem, jako se to dělá v metodě zobecněné inverzní neurokontroly, a přímý neuroemulátor trénovaný stejným způsobem, jako se to dělá v metodě zpětného šíření prostřednictvím přímého neuroemulátoru . Nechte řídicí signál dorazit k řídicímu objektu , který je výsledkem sečtení signálu regulátoru a korekčního signálu systému externího filtrování poruch , vypočítaného v předchozím kroku. Signál je odeslán do přímého neuroemulátoru řídicího objektu a reakce přímého neuroemulátoru je porovnána se skutečným stavem systému . Rozdíl mezi těmito hodnotami je interpretován jako nežádoucí odchylka systému způsobená vnější poruchou. K potlačení nežádoucího účinku je signál odeslán do inverzního neuroemulátoru, který vypočítává korekční signál pro korekci řídicího signálu neurokontroléru v dalším cyklu.
Pro použití této metody musí mít řídicí objekt reverzibilní dynamiku a dále je nutné mít adekvátní matematický nebo simulační model řídicího objektu pro trénování přímých a inverzních neuroemulátorů.
Prediktivní model neurokontroly (NN prediktivní řízení, model prediktivního řízení, neurální zobecněné prediktivní řízení) [29] [30] minimalizuje integrální chybový funkcionál , predikovaný pro , cykly dopředu:
Zde je chyba výstupu systému, je příspěvek změny řídicího signálu k celkovým nákladům na funkcionalitu . K predikci budoucího chování systému a výpočtu chyb se používá přímý neuroemulátor, trénovaný stejně jako v metodě zpětného šíření chyb přes přímý neuroemulátor . Zvláštností uvažované metody je, že nemá trénovatelný neurokontrolér. Jeho místo zaujímá modul optimalizace v reálném čase , ve kterém lze použít např. simplexovou metodu [31] nebo kvazi-newtonský algoritmus [32] .
Optimalizační modul přijímá cílovou trajektorii pro cykly vpřed v cyklu, a pokud tam není, pak duplikuje hodnotu aktuální požadované hodnoty a používá ji jako cílovou trajektorii. Dále, pro výběr optimální řídicí akce, probíhají výpočty ve vnitřní smyčce neuroregulačního systému (jeho iterace jsou označeny jako ). Během jednoho řídicího cyklu optimalizační modul přivádí řadu různých akcí na vstup neuroemulátoru , kde je hloubka predikce ,, přijímá různé možnosti chování systému, vypočítává pro ně nákladovou funkci a určuje nejlepší strategii řízení . V důsledku toho je na objekt aplikován řídicí signál . V dalším cyklu se strategie přepočítá.
Metody neurofeedbacku založené na adaptivní kritice , známé také jako aproximované dynamické programování ( ADP ) , jsou v posledních letech velmi populární [33] [34] [35] [36] . Systémy adaptivní kritiky volí řídicí signál založený na minimalizaci funkčnosti budoucích odhadů chyb s nekonečným horizontem:
Zde je faktor zapomínání, , je odchylka trajektorie řídicího objektu od nastavené hodnoty, vypočítaná v každém cyklu systému. Systém obsahuje dva neuronové moduly: neurokontrolér a modul kritiky ( kritický ). Modul kritiky provádí aproximaci hodnot nákladového funkcionálu , neurokontrolér je vyškolen k minimalizaci nákladového funkcionálu .
V režimu řízení objektu přijímá vstup neurokontroléru vektor , který na jeho výstupu způsobí výskyt řídicího signálu , v důsledku čehož se řídicí objekt přesune do polohy . Dále se vypočítá hodnota aktuální chyby řízení . Modul kritiky, který přijímá vektor jako vstup , vyhodnocuje nákladovou funkci . V dalším cyklu se proces opakuje: nové hodnoty a jsou vypočteny . Školení neurokontrolního systému probíhá online a skládá se ze dvou fází: školení modulu kritiky a školení neurokontroléru. Nejprve se vypočítá chyba časového rozdílu . Potom se podle metody nejstrmějšího klesání opraví váha vazeb pro modul kritiky :
Hodnota gradientu se vypočítá pomocí metody zpětného šíření . Korekce hmotnosti spojů neurokontroléru se provádí stejným způsobem:
Hodnota derivace je nalezena zpětným šířením hodnoty přes modul kritiky a hodnota gradientu je nalezena zpětným šířením chyby přes modul ovladače. Korekce hmotnosti pokračuje, dokud systém nedosáhne požadované úrovně kvality kontroly. V každém kroku se tedy zákon kontroly zlepšuje tréninkem neurokontroléru (iterace strategií, iterace politiky) a schopnost systému vyhodnotit situaci se také zvyšuje tréninkem kritika (iterace podle hodnot, iterace hodnot). Specifické schéma pro konstrukci systému adaptivní kritiky se může lišit od výše popsaného , které se nazývá heuristické dynamické programování ( HDP ) . V metodě duálního heuristického programování ( DHP ) počítá kritický modul derivaci funkcionálu globálních nákladů a v metodě globálního duálního heuristického programování ( GHDP ) počítá kritik samotný i jeho derivaci . Jsou známy modifikace metody, kdy se kritický modul rozhoduje pouze na základě řídícího signálu. Jejich anglické zkratky mají předponu AD ( action dependent ): ADHDP , ADDHP , ADGDHP . V některých verzích adaptivní kritiky se modul kritiky skládá ze dvou částí: samotného modulu kritiky a přímého neuroemulátoru. Ten poskytuje předpovědi chování řídicího objektu, na základě kterých kritik tvoří odhad nákladové funkce . Takové verze se nazývají založené na modelu .
Hybridní neuro-PID řízení (NNPID auto-tuning, neuromorphic PID self-tuning) [37] [38] umožňuje samočinné ladění PID regulátoru online pomocí neuronových sítí . PID regulátor je naladěn online podle aktuální chyby regulace . Neuronová síť v cyklu přijímá požadovanou hodnotu a generuje regulační koeficienty PID regulátoru (proporcionální), (integrální), (diferenciální), které jsou přiváděny do PID regulátoru spolu s hodnotou aktuální chyby zpětné vazby . Během provozu PID regulátor vypočítává aktuální řídicí signál podle rekurzivního vzorce:
používá se pro diskrétní PID regulátory a přivádí je do řídicího objektu.
Neuronová síť je trénována v reálném čase chybou zpětné vazby pomocí metody nejstrmějšího sestupu .
Zde je výstupní vektor neuronové sítě přiváděný do PID regulátoru.
Gradienty se vypočítávají pomocí metody zpětného šíření . Jakobián řídicího objektu, zda je jeho znaménko nalezeno analyticky, na základě matematického modelu řídicího objektu.
Metody hybridního paralelního neurořízení (paralelní neurokontrola, stabilní přímé adaptivní řízení, aditivní dopředné řízení) [26] [29] umožňují paralelní použití neurokontrolérů a konvenčních kontrolérů pro řízení dynamických objektů. V tomto případě dostávají neurokontrolér a konvenční regulátor, kterým je například PID regulátor , stejné požadované hodnoty. Pro společné připojení konvenčního ovladače a neurokontroléru jsou možné následující možnosti:
V tomto případě je konvenční regulátor vypočítán pro řízení objektu mimo tuto oblast stavového prostoru. Když oba ovladače pracují paralelně, řídicí signál přichází k objektu buď z neurokontroléru, pokud je aktuální stav systému v oblasti , nebo v opačném případě z konvenčního ovladače. Hybridní paralelní neurokontrola představuje kompromisní řešení pro zavedení neurokontroly v průmyslu a přechod od konvenčních kontrolérů k neuronovým sítím.