Neurocontrol ( eng. Neurocontrol ) on älykkään ohjauksen erikoistapaus, joka käyttää keinotekoisia hermoverkkoja dynaamisten kohteiden ohjaamiseen liittyvien ongelmien ratkaisemiseen. Neurocontrol on sellaisten tieteenalojen kuin tekoälyn , neurofysiologian , automaattisen ohjauksen teorian ja robotiikan leikkauskohdassa . Neuroverkoilla on useita ainutlaatuisia ominaisuuksia, jotka tekevät niistä tehokkaan työkalun ohjausjärjestelmien luomiseen: kyky oppia esimerkeistä ja yleistää dataa, kyky mukautua ohjausobjektin ja ympäristön ominaisuuksien muutoksiin, soveltuvuus synteesiin Epälineaaristen ohjaimien korkea vastustuskyky sen elementtien vaurioita vastaan alun perin hermoverkkoarkkitehtuuriin sisällytetyn rinnakkaisuuden vahvuudessa. Termiä "neurofeedback" käytti ensimmäisen kerran yksi backpropagation- menetelmän kirjoittajista, Paul J. Verbos, vuonna 1976 [1] [2] . Neuroverkkojen käytännön soveltamisesta on olemassa lukuisia esimerkkejä lentokoneen [3] [4] , helikopterin [5] , robottiauton [6] , moottorin akselin nopeuden [7] , hybridiauton moottorin hallintaongelmien ratkaisemisessa. [8] , sähköuuni [9] , turbogeneraattori [10] , hitsauskone [11] , pneumaattinen sylinteri [12] , aseistuksen ohjausjärjestelmä kevyesti panssaroituihin ajoneuvoihin [13] , käänteinen heilurimalli [14] .
Neuroverkkojen käyttötavan mukaan hermosolujen ohjausmenetelmät jaetaan suoriin ja epäsuoriin . Suorissa menetelmissä hermoverkko on koulutettu generoimaan suoraan ohjaustoimenpiteitä objektille, epäsuorassa menetelmissä hermoverkko on koulutettu suorittamaan aputoimintoja: ohjausobjektin tunnistaminen , kohinanvaimennus , PID-ohjaimen kertoimien toiminnallinen säätö . Neurocontrollerin muodostavien hermoverkkojen lukumäärästä riippuen neurocontrol - järjestelmät jaetaan yksi- ja monimoduuliisiin . Neurocontrol-järjestelmiä, joita käytetään yhdessä perinteisten säätimien kanssa, kutsutaan hybrideiksi .
Ohjauksen alalla keinotekoisia hermojärjestelmiä (ANS) käytetään kohteiden tunnistamiseen, ennustamiseen ja diagnosointiin liittyvissä algoritmeissa sekä optimaalisten automaattisten ohjausjärjestelmien (ACS) synteesiin . ANN-pohjaisen ACP:n toteuttamiseksi neurosirujen ja neurokontrollerien (NC) tuotantoa kehitetään parhaillaan intensiivisesti .
Tietyssä mielessä ANN on aivojen jäljittelijä, jolla on kyky oppia ja navigoida epävarmuuden olosuhteissa. Keinotekoinen hermoverkko on kahdessa suhteessa samanlainen kuin aivot. Verkko hankkii tietoa oppimisprosessissa, ja tiedon tallentamiseen se ei käytä itse objekteja, vaan niiden yhteyksiä - hermosolujen välisten yhteyksien kertoimien arvoja, joita kutsutaan synaptisiksi painoiksi tai synaptisiksi kertoimiksi [15] .
Neurokontrollitehtävissä ohjausobjektia edustaa musta laatikko -malli, jossa nykyiset tulo- ja lähtöarvot ovat havaittavissa. Objektin tilan katsotaan olevan ulkoisen havainnoinnin ulottumattomissa, vaikka tilavektorin mittaa pidetään yleensä kiinteänä. Ohjausobjektin toiminnan dynamiikka voidaan esittää diskreetissä muodossa:
missä: on tilauksen ohjausobjektin tila syklissä ; on syklin -ulotteisen ohjausvektorin arvo , on syklin ohjausobjektin -ulotteisen lähdön arvo .
Ohjausobjektin nykyisen tilan arvioimiseen voidaan käyttää NARX-mallia, joka koostuu kohteen aiemmista paikoista ja viivästetyistä ohjaussignaaleista :
Tilaestimointivektori voidaan esittää myös ilman viivästettyjä signaaleja:
On myös mahdollista esittää kohteen tila tilannekuvana sen vaiheradastuksesta:
Jäljittelevä neurokontroll [16] [17] [18] (mimiikkaan perustuva neurokontrollioppiminen, ohjaimen mallinnus, ohjattu oppiminen olemassa olevan ohjaimen avulla) kattaa hermoston ohjausjärjestelmät, joissa hermokontrolleria koulutetaan esimerkeillä perinteisen palauteohjaimen dynamiikasta, joka on rakennettu esim. esimerkiksi perustuu tavanomaiseen PID-säätöjärjestelmään . Harjoittelun jälkeen hermoverkko toistaa tarkasti alkuperäisen ohjaimen toiminnot. Ihmisen käyttäjän käyttäytymisen tallentamista voidaan käyttää esimerkkeinä säätimen dynamiikasta. Perinteinen takaisinkytkentäohjain (tai ihmiskäyttäjä) ohjaa ohjausobjektia normaalitilassa. Arvot ohjaimen tulossa ja lähdössä tallennetaan, ja protokollan perusteella muodostetaan neuroverkon koulutusnäyte, joka sisältää parit tuloarvoja ja hermoverkon odotettuja reaktioita:
Esimerkiksi backpropagation -harjoituksen jälkeen hermoverkko yhdistetään alkuperäisen ohjaimen tilalle. Tuloksena oleva neurokontrolleri voi korvata henkilön laitteen hallinnassa ja olla myös kustannustehokkaampi kuin alkuperäinen ohjain.
Yleistyneen käänteisen neurokontrollin (suora käänteinen neurokontrolli, adaptiivinen käänteissäätö) [19] [20] kaavassa ohjaajana käytetään ohjausobjektin käänteisen dynamiikan hermomallia, jota kutsutaan käänteiseksi neuroemulaattoriksi . Käänteinen neuroemulaattori on hermoverkko , joka on koulutettu offline-tilassa simuloimaan ohjausobjektin käänteistä dynamiikkaa dynaamisen kohteen käyttäytymisen tallennettujen liikeratojen perusteella. Tällaisten lentoratojen saamiseksi jokin satunnainen prosessi syötetään ohjausobjektiin ohjaussignaalina. Kohteen ohjaussignaalien ja vasteiden arvot tallennetaan ja tämän perusteella muodostetaan harjoitusnäyte :
Harjoittelun aikana hermoverkon on otettava kiinni ja muistettava ohjaussignaalin arvojen riippuvuus ohjausobjektin reaktion myöhemmästä arvosta , joka oli aiemmin tilassa . Objektia ohjattaessa kytketään käänteinen neuroemulaattori ohjaimeksi, joka vastaanottaa sisääntulossa asetusarvon (tietyn arvon tai parametrin, jonka saavuttaessa järjestelmän tila muuttuu) ja läpi tulevan ohjausobjektin tilan. palautekanava : _
Harjoittelun aikana muodostetun ohjausobjektin käänteisen mallin oletetaan olevan riittävä, joten hermoverkon antama ohjaussignaali varmistaa kohteen siirtymisen asetuksen määrittelemään asentoon.
Erikoistunut käänteinen neurokontroll [19] [20] käyttää menetelmää neurokontrollerin kouluttamiseen verkossa käyttämällä kohteen sijainnin asetuspisteen poikkeaman nykyistä virhettä . Neurokontrollerin kytkentäkaavio on sama kuin yleistetyn käänteisen neurokontrollin menetelmässä . Vektori syötetään verkon tuloon :
Neuraaliverkko generoi ohjausvektorin , joka siirtää ohjausobjektin paikkaan . Seuraavaksi lasketaan neurokontrollerin nykyinen virhe
Painon muutoksen gradientti lasketaan
Sitten neurokontrolleripainot korjataan käyttämällä jyrkimmän laskun menetelmää tai muuta gradienttimenetelmää .
Derivaata on ohjausobjektin jakobilainen , jonka arvo asetetaan analyyttisesti ohjausobjektin annetun matemaattisen mallin mukaisesti. Käytännössä kuitenkin hyväksyttävän laadun saavuttamiseksi riittää, että lasketaan vain jakobisen merkki. Kertoimien arvojen korjauksen iteraatiot jatkuvat, kunnes saavutetaan hyväksyttävä kontrollin laatu.
Takaisin eteneminen ajassa, malliviite adaptiivinen ohjaus, sisäinen mallin ohjausmenetelmä [8] [21] [22] [23] perustuu ajatukseen kahden hermoverkon tandemista , joista toinen toimii ohjaimena , ja toinen on ohjausobjektimalli , jota kutsutaan suoraksi neuroemulaattoriksi . Suoraa neuroemulaattoria käytetään neurokontrollerin virhegradientin laskemiseen sen harjoittelun aikana, eikä sitä käytetä enempää. Voidaan sanoa, että neurokontrolleri ja neuroemulaattori edustavat yhtä hermoverkkoa, ja kun neurokontrolleria koulutetaan, suoran neuroemulaattorin painot "jäätyvät". Suora neuroemulaattori opetetaan ensin. Tätä varten ohjausobjektin tuloon syötetään satunnainen ohjaussignaali , joka muuttaa ohjausobjektin sijaintia , ja muodostetaan harjoitusnäyte :
Suoran neuroemulaattorin harjoittelu suoritetaan offline-tilassa. Suoraa neuroemulaattoria pidetään koulutetuksi, jos samoilla arvoilla neuroemulaattorin ja todellisen kohteen tuloissa ero niiden lähtöarvojen välillä tulee merkityksettömäksi. Kun suoran neuroemulaattorin koulutus on suoritettu, neurokontrolleri koulutetaan. Koulutus toteutetaan verkossa saman kaavan mukaan kuin erikoistuneen käänteisen neurofeedbackin tapauksessa . Ensin (jaksolla ) vastaanotetaan seuraavan syklin ohjausobjektin haluttu sijainti neurokontrollerin tuloon . Neurokontrolleri tuottaa ohjaussignaalin , joka syötetään ohjausobjektin ja neuroemulaattorin tuloihin. Tämän seurauksena ohjattu kohde siirtyy asentoon ja neuroemulaattori synnyttää reaktion . Seuraavaksi säätövirhe lasketaan ja ohjataan vastakkaiseen suuntaan takaisinetenemissäännön mukaisesti. Neuroemulaattoriyhteyksien painokertoimia ei tässä tapauksessa korjata. Suoran neuroemulaattorin läpi kulkevan käänteisen virheen mekanismi toteuttaa paikallisen käänteisen mallin nykyisessä pisteessä ohjausobjektin tilaavaruudessa. Neuroemulaattorin läpi kulkemisen jälkeen virhe etenee edelleen neurokontrollerin läpi, mutta nyt sen läpikulkuun liittyy neurokontrollerin painokertoimien korjaus. Tässä tapauksessa suora neuroemulaattori suorittaa neurokontrollerin hermoverkon lisäkerrosten toimintoja, joissa yhteyspainoja ei korjata.
Neurokontrollin menetelmä referenssimallilla (malliviite adaptiivinen ohjaus, hermoston adaptiivinen ohjaus) [23] [24] [25] on muunnelma neurokontrollista käänteisen virheen menetelmällä ohittamalla suoran neuroemulaattorin ylimääräisellä vertailumallilla (viite). malli) piiriin upotetun dynaamisen järjestelmän simuloimiseksi, jonka käyttäytymistä neurokontrolleri kouluttaa. Tämä tehdään siirtymäprosessin laadun parantamiseksi: siinä tapauksessa, että kohteen siirtyminen kohdeasentoon yhdessä syklissä on mahdotonta, liikkeen liikeradalta ja siirtymäprosessin ajasta tulee huonosti ennustettavia arvoja. ja voi johtaa siirtymäprosessin epävakauteen. Tämän epävarmuuden vähentämiseksi otetaan käyttöön vertailumalli, joka on pääsääntöisesti ensimmäisen tai toisen kertaluvun stabiili lineaarinen dynaaminen järjestelmä. Harjoittelun aikana referenssimalli vastaanottaa asetuspisteen sisääntulossa ja muodostaa referenssiradan , jota verrataan ohjausobjektin sijaintiin ohjausvirheen saamiseksi , jonka minimoimiseksi hermokontrolleria koulutetaan.
Ulkoisten häiriöiden hermoverkkosuodatusmenetelmä (adaptiivinen käänteissäätö perustuu lineaariseen ja epälineaariseen adaptiiviseen suodatukseen, sisäinen malliohjaus) [26] parantaa ohjaimen laatua ohjauspiirissä. Aluksi B. Widrow ehdotti tätä järjestelmää käytettäväksi yhdessä neurokontrollerien kanssa, jotka on koulutettu yleisen käänteisen neurokontrollin menetelmällä [27] . Myöhemmässä työssään [28] hän käytti hermokontrollereita, jotka oli koulutettu menetelmällä virheen takaisin eteneminen suoran neuroemulaattorin kautta . Periaatteessa hermoverkkovirhesuodatusta voidaan käyttää parantamaan minkä tahansa tyyppisen ohjaimen, ei välttämättä hermoverkon , suorituskykyä . Tämä kaava käyttää kahta esikoulutettua hermoverkkoa: käänteistä neuroemulaattoria, joka on koulutettu samalla tavalla kuin yleistetyssä käänteisessä neurokontrollointimenetelmässä, ja suoraa neuroemulaattoria, joka on koulutettu samalla tavalla kuin se tehdään takaisinetenemismenetelmässä suoran neuroemulaattorin kautta . Anna ohjaussignaalin saapua ohjausobjektiin , joka on tulos edellisessä vaiheessa lasketun säätimen signaalin ja ulkoisen häiriönsuodatusjärjestelmän korjaussignaalin summauksesta. Signaali lähetetään ohjausobjektin suoralle neuroemulaattorille, ja suoran neuroemulaattorin reaktiota verrataan järjestelmän todelliseen tilaan . Näiden arvojen välinen ero tulkitaan ulkoisen häiriön aiheuttamaksi järjestelmän ei-toivotuksi poikkeamaksi. Ei-toivotun vaikutuksen tukahduttamiseksi signaali lähetetään käänteisneuroemulaattorille, joka laskee korjaavan signaalin neurokontrollerin ohjaussignaalin korjaamiseksi seuraavassa jaksossa.
Tämän menetelmän käyttämiseksi ohjausobjektilla on oltava reversiibeli dynamiikka, ja ohjausobjektista tarvitaan myös riittävä matemaattinen tai simulaatiomalli suorien ja käänteisten neuroemulaattorien kouluttamiseen.
Ennustava mallin neurokontroll (NN ennustava ohjaus, mallin ennustava ohjaus, hermoston yleistetty ennustava ohjaus) [29] [30] minimoi integraalivirhekustannusfunktion , joka on ennustettu syklille eteenpäin:
Tässä on järjestelmän ulostulovirhe, joka on ohjaussignaalin muutoksen vaikutus kokonaiskustannuksiin . Järjestelmän tulevan toiminnan ennustamiseen ja virheiden laskemiseen käytetään suoraa neuroemulaattoria, joka on koulutettu samalla tavalla kuin menetelmässä, jossa virheiden takaisinettäminen tapahtuu suoran neuroemulaattorin kautta . Käsiteltävän menetelmän erikoisuus on, että siinä ei ole koulutettavaa neurokontrolleria. Sen tilalle tulee reaaliaikainen optimointimoduuli , jossa voidaan käyttää esimerkiksi simpleksimenetelmää [31] tai kvasi-Newtonilaista algoritmia [32] .
Optimointimoduuli vastaanottaa tavoiteradan syklissä eteenpäin tuleville jaksoille, ja jos sitä ei ole, se kopioi nykyisen asetuspisteen arvon ja käyttää tätä tavoiteradana. Lisäksi optimaalisen ohjaustoiminnon valitsemiseksi suoritetaan laskelmia neurocontrol-järjestelmän sisäisessä silmukassa (sen iteraatioita merkitään ). Yhden ohjausjakson aikana optimointimoduuli syöttää sarjan erilaisia toimintoja neuroemulaattorin tuloon , jossa on ennustussyvyys , vastaanottaa erilaisia vaihtoehtoja järjestelmän käyttäytymiselle, laskee niille kustannusfunktion ja määrittää parhaan ohjausstrategian . Tämän seurauksena kohteeseen kohdistetaan ohjaussignaali . Seuraavalla syklillä strategia lasketaan uudelleen.
Adaptiiviseen kriitikkoon perustuvat neurofeedback-menetelmät , jotka tunnetaan myös nimellä approksimoitu dynaaminen ohjelmointi ( ADP ) , ovat olleet erittäin suosittuja viime vuosina [33] [34] [35] [36] . Mukautuvat kritiikkijärjestelmät valitsevat ohjaussignaalin, joka perustuu tulevien virhearvioiden toiminnallisuuden minimoimiseen äärettömällä horisontilla:
Tässä on unohduskerroin, , on ohjausobjektin liikeradan poikkeama asetuspisteestä, joka lasketaan järjestelmän jokaisella jaksolla. Järjestelmä sisältää kaksi hermomoduulia: neurocontrollerin ja kritiikkimoduulin ( kriitikko ). Kritiikkimoduuli suorittaa kustannusfunktion arvojen likiarvon , neurokontrolleri on koulutettu minimoimaan kustannusfunktionaalisuus .
Kohdeohjaustilassa hermokontrollerin sisääntulo vastaanottaa vektorin , joka aiheuttaa sen lähdössä ohjaussignaalin ilmaantumisen, jonka seurauksena ohjausobjekti siirtyy asentoon . Seuraavaksi lasketaan nykyisen ohjausvirheen arvo . Kritiikkimoduuli, joka vastaanottaa vektorin syötteenä , arvioi kustannusfunktion . Seuraavassa syklissä prosessi toistetaan: uudet arvot ja lasketaan . Neurocontrol -järjestelmän koulutus tapahtuu verkossa ja koostuu kahdesta vaiheesta: kritiikkimoduulin koulutuksesta ja neurokontrollerin koulutuksesta. Ensin lasketaan aikaerovirhe . Sitten jyrkimmän laskeutumisen menetelmän mukaisesti kritiikkimoduulin linkkien paino korjataan :
Gradientin arvo lasketaan backpropagation - menetelmällä . Neurokontrollerin liitäntöjen painon korjaus suoritetaan samalla tavalla:
Johdannainen arvo löydetään etenemällä arvo takaisin kritiikkimoduulin kautta, ja gradienttiarvo löydetään etenemällä virhe takaisin ohjainmoduulin kautta. Painon korjaus jatkuu, kunnes järjestelmä saavuttaa vaaditun ohjauslaadun. Ohjauslakia siis parannetaan jokaisessa vaiheessa kouluttamalla neurokontrolleria (strategioiden iteraatio, politiikan iteraatio), ja järjestelmän kykyä arvioida tilannetta lisätään myös kouluttamalla kriitikkoa (iteraatio arvojen mukaan, arvoiteraatio). Mukautuvan kritiikkijärjestelmän erityinen rakenne voi poiketa yllä kuvatusta , jota kutsutaan heuristiseksi dynaamiseksi ohjelmointiksi ( HDP ) . Dual heuristisen ohjelmoinnin ( DHP ) menetelmässä kriitikkomoduuli laskee globaalin kustannusfunktion derivaatan ja globaalissa kaksoisheuristisen ohjelmoinnin ( GHDP ) menetelmässä kriitikko laskee sekä itse kustannusfunktion että sen derivaatan . Menetelmään tunnetaan muunnelmia, joissa kritiikkimoduuli tekee päätökset yksinomaan ohjaussignaalin perusteella. Heidän englanninkielisissä lyhenteissään on etuliite AD ( toimista riippuvainen ): ADHDP , ADDHP , ADGDHP . Joissakin adaptiivisen kritiikin versioissa kritiikkimoduuli koostuu kahdesta osasta: itse kritiikkimoduulista ja suorasta neuroemulaattorista. Jälkimmäinen antaa ennusteita ohjausobjektin käyttäytymisestä, jonka perusteella kriitikko muodostaa arvion kustannusfunktiosta . Tällaisia versioita kutsutaan mallipohjaisiksi .
Hybridi neuro-PID-säätö (NNPID-automaattinen viritys, neuromorfinen PID-itseviritys) [37] [38] mahdollistaa PID -ohjaimen itsevirityksen verkossa hermoverkkojen avulla . PID-säädin on viritetty online-tilassa vallitsevan ohjausvirheen mukaan . Jaksolla hermoverkko vastaanottaa asetusarvon ja generoi PID-säätimen ohjauskertoimet (suhteelliset), (integraalit), (differentiaaliset), jotka syötetään PID-säätimelle yhdessä nykyisen takaisinkytkentävirheen arvon kanssa . Käytön aikana PID-säädin laskee nykyisen ohjaussignaalin rekursiivisen kaavan mukaan:
käytetään erillisiin PID-säätimiin ja syöttää sen ohjausobjektiin.
Neuraaliverkkoa koulutetaan reaaliajassa takaisinkytkentävirheen avulla jyrkimmän laskeutumismenetelmän avulla .
Tässä on PID-ohjaimelle syötetty neuroverkon lähtövektori.
Gradientit lasketaan backpropagation - menetelmällä . Ohjausobjektin jakobilainen , löytyykö sen merkki analyyttisesti, ohjausobjektin matemaattisen mallin perusteella.
Hybridin rinnakkaisohjauksen menetelmät (rinnakkaishermostoohjaus, vakaa suora adaptiivinen ohjaus, additiivinen myötäkytkentäinen ohjaus) [26] [29] mahdollistavat neurokontrollerien ja tavanomaisten ohjaimien rinnakkaisen käytön dynaamisten kohteiden ohjaamiseen. Tässä tapauksessa neurokontrolleri ja tavanomainen säädin, joka on esimerkiksi PID-säädin , saavat samat asetusarvot. Seuraavat vaihtoehdot perinteisen ohjaimen ja neurokontrollerin yhdistämiseksi ovat mahdollisia:
Tässä tapauksessa tavanomainen ohjain lasketaan ohjaamaan objektia tämän tila-avaruuden alueen ulkopuolella. Kun molemmat ohjaimet toimivat rinnakkain, ohjaussignaali saapuu kohteeseen joko neurokontrollerista, jos järjestelmän nykyinen tila on alueen sisällä , tai muuten tavanomaisesta ohjaimesta. Hybridi-rinnakkaishermoohjaus on kompromissiratkaisu neurocontrolin käyttöönotolle teollisuudessa ja siirtymiseen perinteisistä ohjaimista hermoverkkoihin.