Hlavní navigace

Hybridná inteligencia

4. 7. 2003
Doba čtení: 6 minut

Sdílet

Nedávno sme sa na stránkach ROOTa zoznámili s neurónovými sieťami (ktoré sa dokážu učiť, ale údaje uložené v nich nie je možné abstrahovať) a s fuzzy systémami (ktoré sú určené na prácu s neurčitosťou, znalosti v nich uložené sú čitateľné pre človeka, ale nedokážu sa učiť a ich návrh je často problematický). Nakoľko sa ale ich dobré vlastnosti celkom vhodne dopĺňajú, dali vzniknúť hybridným technológiám, ktoré ich kombinujú.

Systémy integrujúce fuzzy množiny a neurónové siete sa stali asi najrozšírenejšími hybridnými systémami výpočtovej inteligencie. Kombinácií týchto dvoch technológií je viacero; dokonca v rôznej literatúre možno nájsť aj viacero rozdelení týchto hybridných systémov podľa rôznych hľadísk. My sa uspokojíme s veľmi hrubým rozdelením, založeným na vonkajšom správaní sa a vnútornej realizácii toho ktorého hybridného systému. Podľa tohto kritéria rozoznávame tri skupiny takýchto systémov:

  1. Neuro-fuzzy systémy sa navonok javia ako fuzzy systém, ktorý je ale vnútorne realizovaný neurónovou sieťou. Ak je takto zrealizovaný napríklad fuzzy regulátor, tak tento má schopnosť učiť sa (adaptovať sa) alebo automaticky skonštruovať svoju bázu znalostí. Nevýhody fuzzy systému sú kompenzované použitím neurónovej siete. Najznámejšími architektúrami neuro-fuzzy systémov sú ANFIS, NARA či FALCON.
  2. Fuzzy neurónové siete sú neurónové siete doplnené o možnosti práce s neurčitosťou. Fuzzy logika je obyčajne implementovaná do neurónov, čím vznikajú tzv. fuzzy neuróny. Prioritou nasadenia fuzzy systémov je umožnenie práce s neurčitosťou. Toto do určitej miery dovoľuje poznatky uložené v takejto fuzifikovanej neurónovej sieti považovať za abstraktnejšie, nakoľko takáto sieť nie je obmedzená na prácu z ostrými hodnotami.
    Iný druh interakcie fuzzy systémov a neuronových sieti je ten, že fuzzy regulátor je použitý na adaptáciu učiacich parametrov siete. Tým umožňuje rýchlejšiu konvergenciu neurónovej siete do lokálneho minima, nakoľko možnosť zmeny učiacich parametrov neurónovej siete umožňuje rôznu rýchlosť jej učenia sa v rôznych fázach učiaceho sa procesu.
  3. Hybridné systémy, v ktorých neurónová sieť aj fuzzy systém sú navzájom oddelené a plnia samostatné úlohy v celkovom systéme. Môžu byť zapojené paralelne a ich výstupy sa navzájom kombinujú či modifikujú, alebo môžu byť zapojené sériovo a výstup jedného zo systémov je vstupom druhého.

NARA prichádza

Ako môže taký neuro-fuzzy systém vyzerať, si ukážeme na systéme NARA. NARA (Neural network designed on Approximate Reasoning Architecture) je štruktúrovaná neurónová sieť, ktorá je budovaná v zhode so štruktúrou IF-THEN fuzzy inferenčných pravidiel. Štruktúra systému NARA (viď obrázok) sa skladá s niekoľkých paralených neurónových sietí, ktoré predstavujú akýchsi „expertov“.


Každý z týchto expertov ovláda určitú problematiku riešenej úlohy, pričom hranice medzi týmito oblasťami nie sú ostré. Expert predstavovaný červeným blokom NSmem síce o riešení úlohy nič nevie, ale vie, ktorý z expertov a ako dobre ovláda niektorú problematiku. Preto tento blok priraďuje váhu rozhodnutiam jednotlivých blokov NSi. Tak je možné, že hoci jeden vstup spracúvajú všetky bloky NSi, výstup niektorých z nich môže byť v celkovom výstupe neuro-fuzzy systému NARA zoslabený, alebo dokonca úplne potlačený.

Blok NSmem predstavuje podmienkovú časť IF-THEN inferenčných pravidiel fuzzy systému – určuje, ktoré pravidlo bude na odvodzovanie použité (pri expertných a iných inferenčných systémoch založených na pravidlách sa hovorí o tzv. odpálení pravidla). Dôsledkové časti IF-THEN inferenčných pravidiel sú potom reprezentované blokmi NSi.

Model NARA zohľadňuje podobnosť medzi identifikáciou modelu neurónovou sieťou a fuzzy rozdelením vstupných údajov. Neurónová sieť NSmem rozdeľuje vstupný priestor a identifikuje triedy. Pretože výstup neurónu má sigmoidálnu charakteristiku, vstupný priestor nemôže byť rozdelený ostro, dokonca aj keď sú použité ostro ohraničené údaje na učenie siete. Takýto spojitý výstup neurónov zodpovedá funkcii príslušnosti fuzzy množiny. Rozpoznávanie vzoriek neurónovou sieťou NSmem teda zodpovedá fuzzy zhlukovaniu vstupných údajov.

Druhou skutočnosťou, na ktorej stojí model NARA, je fakt, že aproximácia myslenia odvodzuje výsledky založené na vedomostiach pre každú časť vstupného priestoru oddelene. Konečný výsledok je daný ako kombinácia výsledkov z čiastočných vedomostí v jednotlivých paralelných neurónových sieťach NSi.

Pre klasickú neštruktúrovanú neurónovú sieť nie je jednoduché zamerať sa na jednu problémovú oblasť bez toho, aby tým boli ovplyvnené iné oblasti – jednotlivé časti klasickej neurónovej siete sú veľmi tesne zviazané. Naproti tomu štruktúrovanie siete umožňuje oddeliť problémovo závislé časti. Jednotlivé časti sú špecifickejšie, čo im umožňuje lepšie riešiť čiastkový problém zadanej úlohy.

Okrem zjavných výhod činnosti systému pracujúceho podľa modelu NARA existujú aj ďalšie menej zjavné prednosti tejto architektúry dôležité pre praktické nasadenie takýchto systémov. Je relatívne ľahšie zlepšiť činnosť takéhoto systému, pretože je možné detekovať, ktorá z jeho častí funguje nesprávne a túto časť opraviť; zvyšné správne fungujúce časti môžu zostať nedotknuté.

V prípade potreby je možné jednotlivé časti takéhoto systému nahradiť úplne inými technológiami so zhodnou funkciou. Príkladom môže byť nahradenie zhlukovacej neurónovej siete NSmem inou metódou na generovanie funkcií príslušností založenou na fuzzy zhlukovaní, napríklad metódou fuzzy ISODATA.

Ďalšie systémy

Neuro-fuzzy systém ANFIS (Adaptive Network-based Fuzzy Inference System) svojou činnosťou zodpovedá TSK (Takagi-Sugeno-Kangovmu) fuzzy regulátoru. Vnútorne je ale reprezentovaný ako päťvrstvová dopredná neurónová sieť, ktorej učenie je založené na minimalizácii odchýlok metódou najmenších štvorcov a zodpovedá úprave tzv. premisných a konsekventných parametrov. Tieto parametre nie sú uložené vo váhach spomínanej neurónovej siete, ale v jej uzloch – preto je správne hovoriť tu o adaptívnej, nie neurónovej sieti (jednou zo základných vlastností neurónových sietí je, že informácie sa ukladajú do medzineurónových spojení, tzv. synaptických váh).

Návrh fuzzy regulátora – definícia funkcií príslušností a inferenčných pravidiel – je náročný a často veľmi zdĺhavý. FALCON (Fuzzy Adaptive Learning COntrol Network) je špeciálna neurónová sieť, ktorá má za cieľ tento návrh úplne zautomatizovať. Neuro-fuzzy systém FALCON môže po naučení fungovať ako fuzzy regulátor, alebo je možné z jeho vnútorných parametrov „prečítať“ architektúru a parametre zodpovedajúceho fuzzy regulátora.

Opačná interakcia

Doposiaľ sme hovorili o neuro-fuzzy systémoch, ktoré sa navonok správajú ako fuzzy systém, ale vnútorne využívajú neurónové siete. Existuje aj opačná interakcia týchto dvoch technológií: neurónové siete využívajúce vo svojom vnútri fuzzy systémy – fuzzy neurónové siete. Spôsobov integrácie fuzzy systémov do neurónových sietí je viacero.

Pokiaľ je zvyčajná lineárna alebo sigmoidálna prechodová funkcia neurónov v neurónovej sieti nahradená niektorou z operácií s fuzzy množinami (tzv. T normy a T conormy), hovoríme o fuzzy neurónoch. Existuje ich niekoľko druhov. Pokiaľ sú na vstupe takéhoto fuzzy neurónu ostré čísla a len prechodová funkcia je fuzzy operáciou, hovoríme o fuzzy neuróne prvého druhu; ak sú na vstupe neurónu fuzzy čísla, hovoríme o fuzzy neuróne druhého druhu a v zmysle teórie fuzzy množín ide o implementáciu fuzzy množín druhého rádu. Existujú aj fuzzy neuróny tretieho druhu, založené na kompozičnej inferencii.

Ďalším častým spôsobom použitia fuzzy systémov vo vnútri neurónových sietí je použitie jednoduchého fuzzy regulátora na adaptáciu učiacich parametrov pri ich učení. Každý neurón v neurónovej sieti tak obsahuje vlastný jednoduchý fuzzy regulátor, ktorý vyhodnocuje jeho vplyv na dynamiku učenia sa celej siete a na základe toho upravuje hodnoty parametrov neurónu ovplyvňujúce proces učenia. Táto úprava má pozitívny vplyv najmä na rýchlosť učenia sa siete (čo je dôležité, ak sa daná neurónová sieť používa napr. pri regulácii), ale aj na presnosť siete.

Ako vidno, často je možné elegantným spôsobom spájať zdanlivo rozporuplné technológie. Vhodnou kombináciou neurónových sietí a fuzzy systémov možno spojiť schopnosť učenia sa, prehľadnosť a čitateľnosť modelu pre človeku a možnosť spracovávať neurčitú informáciu. A to je už dostatočné množstvo schopností na riešenie mnohých technických i akademických problémov…

root_podpora

Architektúra neuro-fuzzy systému NARA. Blok NSmem vľavo robí fuzzy zhlukovanie do n zhlukov nad všetkými vstupmi a vypočítava hodnoty funkcií príslušností do každého zo zhlukov. Po prechode vstupného signálu X blokmi NSi sa výstup týchto blokov váhuje hodnotami funkcií príslušnosti ku každému z n zhlukov; tieto hodnoty funkcií príslušností sú výstupy bloku NSmem. Takto váhované výstupy sa nakoniec sčítajú do celkového výstupu Y.

Zkrácená verze článku vyšla v Computerworldu 24/2003.

Byl pro vás článek přínosný?

Autor článku