Komerční prezentace
Registrace uživatele

Přihlašte se k odběru informací, novinek, získejte přístup do diskuzního fóra.

Vesmír č. 10
Vesmír č. 10
Toto číslo vychází
2. 10. 2017
Novinky
Zdarma jedno celé číslo Vesmíru v pdf.
• Říjnové číslo Vesmíru
reklama

Kogitoid – operační systém myslícího počítače

Výpočetní model pracující pomocí asociací
Publikováno: Vesmír 81, 576, 2002/10

Motto: „Každá vědecká teorie musí k mysli

přistupovat jako k automatu“. 1)

Podle jedné z možných definic je umělá inteligence obor informatiky, který se snaží aplikovat počítače na problémy, jejichž řešení člověkem považujeme za projev lidské inteligence. V širším pohledu se umělá inteligence pokouší modelovat mentální činnosti různě složitých organizmů (od jednobuněčných přes hmyz a zvířata až k člověku). Navzdory veškerému pokroku jsme dnes stále blíže k začátku této škály než k cíli. Tím cílem je konstrukce počítače, jenž bude jevit známky inteligence srovnatelné s lidskou, nebo ji dokonce předčí. V tomto článku se zaměříme na jeden z mnoha modelů umělé inteligence – kogitoid, vyvinutý a zkoumaný v Ústavu informatiky AV ČR.

Přístup k modelování
Během vývoje se v modelování inteligence pomocí počítače prosadilo několik přístupů:

  • Klasický či symbolický přístup k řešení problémů umělé inteligence vychází z matematické logiky. Zákonitosti a stav okolního světa jsou v počítači zapsány symbolicky, v podobě logických formulí. Z nich se pomocí odvozovacích pravidel generují například plány akcí, které je nutné provést pro dosažení určitého cíle. Na počátku vývoje umělé inteligence byly do těchto metod vkládány velké naděje, ale ukázalo se, že v reálných situacích často selhávají, protože popis reálného světa lze jen těžko formalizovat. Navíc většinu mentálních procesů nelze dost dobře modelovat striktním logickým odvozováním. Nicméně existuje mnoho aplikací klasických metod umělé inteligence, které jsou omezeny zejména na dobře popsatelné výseky reálného světa. Jsou mezi nimi expertní systémy, které pomáhají lékařům stanovit diagnózu či chemikům určovat strukturu molekul, programy hrající šachy nebo systémy pro plánování výroby apod.
  • Konekcionistický přístup. Na odlišných základech staví konekcionizmus. Jeho hlavní inspirací je lidský mozek, složený z miliard neuronů. Konekcionisté předpokládají, že nová kvalita – inteligentní chování, či dokonce vědomí – vznikne propojením velkého množství malých a jednoduchých elementů (přirozených či umělých neuronů). Pro tento jev se používá termín emergence.

    Asi nejznámějším konekcionistickým modelem jsou umělé neuronové sítě, jichž je několik typů. Liší se vlastnostmi neuronů (diskrétní a spojité neurony s různými aktivačními funkcemi), způsobem jejich propojení (vrstevnaté sítě a sítě s cykly) a algoritmem používaným pro učení sítě, tj. pro adaptaci chování sítě na vstupní data. Činnost neuronové sítě je distribuovaná, znalosti o vstupních datech jsou zakódovány ve vahách jednotlivých neuronů. Algoritmus učení však bývá globální – pracuje se sítí jako s celkem, např. umí vybrat nejvíce excitovaný neuron z celé sítě. Pokud distribuujeme i pravidla pro adaptaci na jednotlivé prvky v síti, dostaneme síť neuroidovou. Neuroid má na rozdíl od neuronu přechodovou funkci, jež mění váhy a stav neuroidu v závislosti na jeho vstupech a svém aktuálním stavu. V neuroidové síti se adaptují jednotlivé její elementy pouze podle svého okamžitého stavu a stavu svého bezprostředního okolí. Taková síť se více podobá biologickým nervovým systémům a lépe zapadá do paradigmatu konekcionizmu.

Kogitoid je výpočetní model pro umělou inteligenci, který čerpá jak ze symbolického, tak z konekcionistického přístupu. Podněty z vnějšího světa přicházející na vstup kogitoidu i výstupy předávané ven jsou uvnitř kogitoidu reprezentovány pomocí konceptů. Koncept je souhrn elementárních vlastností nějakého objektu nebo jevu. Například zvíře bude reprezentováno konceptem „má čtyři nohy a hýbe se“. Kogitoid spojuje související koncepty prostřednictvím asociací. Výpočet (činnost, „myšlení“) kogitoidu probíhá tak, že se postupně aktivují koncepty („vybavují se myšlenky či vzpomínky“), které odpovídají vstupním podnětům nebo jsou spojeny asociacemi s již aktivními koncepty. Z klasické umělé inteligence pochází idea konceptů, které odpovídají logickým formulím (konjunkcím predikátů pro jednotlivé elementární vlastnosti). Vybavování nových konceptů však neprobíhá logickým odvozováním, ale pomocí asociací, což připomíná procesy v neuronové síti.

Co mají společného kogitoid a operační systém?
Vyjděme z analogie s našimi dnešními počítači. Formální modely, jako jsou neuronové sítě, reprezentují „hardware“ a „strojový kód“, na kterém běží „myslící program“. Tyto modely vycházejí z poznatků o činnosti mozku a nervové soustavy živých organizmů, umožňují realizovat základní funkce, jako je asociativní paměť, ale pro popis složitější mentální činnosti jsou na příliš nízké úrovni. Logické uvažování a vyšší mentální funkce obecně lze považovat za jakési „aplikační programy“. Od pochopení a napodobení činnosti neuronů je ale k vysvětlení a modelování mysli velmi dlouhá cesta. Dnešní programátoři při tvorbě velkých programů neuvažují na úrovni jednotlivých instrukcí strojového kódu a signálů mezi tranzistory v procesoru. Od těchto detailů je odstiňují vyšší programovací jazyky a operační systémy. Stejně tak při budování modelu mentálních funkcí je vhodné mít vyšší úroveň abstrakce, než je úroveň neuronové sítě. Kogitoid byl navržen s cílem poskytnout vrstvu pro vyšší abstrakci. Měl by být dostatečně jednoduchý, abychom ho dokázali implementovat. Zároveň by měl umožnit, abychom vybudovali myslící systém, aniž bychom se museli spoléhat na emergenci.

Jak funguje kogitoid?

  • Koncept (základní pojem kogitoidu) – souhrn charakteristik nějakého jevu. Koncepty jsou navzájem svázány. Jeden koncept může být abstrakcí (zobecněním) nebo konkretizací jiného. Vezměme náš příklad zvířete: „má čtyři nohy a hýbe se“. Když přidáme další vlastnosti, dostaneme konkrétnější koncept: lev „má čtyři nohy, hýbe se, má hřívu a žere maso“. Vypuštěním některých charakteristik vznikne abstrakce: čtyřnohý objekt má sice čtyři nohy, ale nemusí se hýbat. Dva koncepty jsou si podobné, pokud sdílejí některé vlastnosti. Lev a stůl (má čtyři nohy, nehýbe se a je ze dřeva) nejsou ve vztahu abstrakce ani konkretizace, ale vycházejí ze společné abstrakce čtyřnohého objektu, sdílejí „čtyřnohost“, proto jsou si z tohoto hlediska podobné. Vztahy abstrakce, konkretizace a podobnosti jsou dány významem konceptů a během činnosti kogitoidu se nemění. Některé koncepty modelují pocity či emoce pozitivní (radost, nasycení) a negativní (hlad, bolest). Tyto koncepty se nazývají afekty. Koncepty mají přiřazenu sílu, jež říká, jak často se kogitoid s určitým konceptem setkal. Některé koncepty jsou aktivní. To jsou ty, se kterými kogitoid v daný okamžik pracuje (právě „na ně myslí“, má je v krátkodobé paměti).
  • Asociace. Každá asociace vede vždy z jednoho konceptu do jiného. Excitační asociace posiluje aktivitu druhého konceptu, pokud je aktivní první koncept. Inhibiční asociace naopak aktivitu potlačuje. Asociace mají určitou sílu, která určuje velikost posilování nebo potlačování aktivity konceptů. Síly asociací se dynamicky mění podle toho, co kogitoid dostává na vstup a co se děje uvnitř něho samého. Asociace se posilují dvěma způsoby. Posilování asociací na základě kauzality (časové posloupnosti) funguje tak, že když je v jednom kroku výpočtu kogitoidu aktivován koncept A a v následujícím kroku koncept B, posílí se excitační asociace z A do B. Až bude příště aktivován koncept A, kogitoid si „vzpomene“ na B. Posílení na základě podobnosti nastává v kogitoidu automaticky: jakmile je nějaký koncept aktivován, kogitoid „vyhledá“ podobné koncepty a posílí mezi nimi asociace oběma směry. Míru podobnosti konceptů lze regulovat. Jestliže bude později aktivován jeden z podobných konceptů, kogitoid si „vzpomene“ na ostatní podobné koncepty. Pozitivní afekty způsobují větší posilování asociací. Negativní afekty mají za následek posilování inhibičních místo excitačních asociací. Asociace reprezentují dlouhodobou paměť kogitoidu.

Výpočet kogitoidu probíhá v neustále se opakujících krocích. Na začátku každého kroku kogitoid aktivuje koncepty, které přečte ze svého vstupu. Dále použije asociace vedoucí z konceptů aktivních v předchozím kroku a aktivuje koncepty, které jsou těmito asociacemi nejvíce excitovány. Následně se provede posílení asociací a aktivních konceptů podle výše zmíněných pravidel. Potom jsou oslabeny neaktivní koncepty a asociace mezi nimi. Toto zapomínání nepoužívaných konceptů a asociací se však děje mnohem pomaleji než zapamatování (posílení) používaných. Nakonec jsou právě aktivní koncepty odeslány na výstup a jsou deaktivovány všechny aktivní koncepty, které nebyly aktivovány v tomto kroku. Tím končí jeden výpočetní krok a začíná další.

Teoreticky bylo odvozeno a experimentálně ověřeno (pomocí počítačové simulace), že kogitoid zvládá některé základní kognitivní funkce, tj. smyslové, motorické, paměťové a jiné mentální funkce živočichů. Asi nejjednodušší je zapamatování reakce na určitý podnět a zopakování této reakce, pokud se podnět později objeví na vstupu. Zřetězením několika takových reakcí se dá dosáhnout toho, že jeden koncept na vstupu vyvolá postupně v dalších krocích sekvenci konceptů na výstupu. Složitější je podmíněný reflex (viz obrázek). Nejsložitějším zatím vyzkoušeným vzorcem chování kogitoidu je operantní podmiňování (viz rámeček).

Celkově lze shrnout, že kogitoid představuje univerzální, neustále se učící algoritmus, který na základě informací ze svého okolí a interakcí s ním buduje závislosti mezi vnitřní reprezentací jednotlivých jevů a vhodným vzorcem svého chování; v případě měnících se podmínek tyto vzorce chování průběžně přebudovává.

Kam směřuje výzkum kogitoidu?

Výzkum modelu kogitoidu je teprve na úplném začátku. Původní formální definice kogitoidu byla nejprve „odzkoušena na papíře“, tj. byla formulována formální matematická tvrzení, která dokazují schopnost kogitoidu zvládat nejjednodušší kognitivní činnosti a jejich jednoduché kombinace. Dokazování schopnosti zvládat složitější kognitivní procesy (pro kogitoid s větším množstvím konceptů) naráží na to, že člověk nedokáže analyzovat všechny možné interakce, které vznikají mezi koncepty kogitoidu v průběhu jeho dlouhodobé interakce s okolím. Zajímavý, důležitý a netriviální je i problém modelovat „smysluplnou“ interakci kogitoidu s okolím. Proto je nutné modelovat „vnější svět“ přiměřeně zjednodušeným způsobem, ale tak, aby žádná podstatná vlastnost světa, důležitá pro „přežití“ kogitoidu, v modelu nescházela. Spekulativní úvahy (myšlenkové experimenty) však naznačují, že by kogitoid mohl být použitelný když ne pro simulaci, tak aspoň pro pochopení a vysvětlení vzniku a fungování různých i velmi složitých kognitivních funkcí, včetně vzniku abstraktních konceptů, rozvoje myšlení, vzniku řeči a vědomí. V současné době probíhají experimenty s primitivním kogitoidem, který je schopen zvládat kolem desítky elementárních konceptů (jednotlivých vlastností, které se skládají do složitějších konceptů) a modelovat tak činnost nejjednodušších živých organizmů. Přitom byly odhaleny a napraveny některé „nedostatky“ v původní definici, které vedly k malé efektivitě, či dokonce k neschopnosti vykonávat některé kognitivní činnosti dle původních představ, inspirovaných poznatky z experimentální psychologie zvířat. Princip činnosti kogitoidu lze jakýmsi simulovaným přírodním výběrem „ladit“. Výhodou kogitoidu tedy je, že umožňuje nejen provádět experimenty, ale i matematicky odvodit a vysvětlit mechanizmus svého chování v různých situacích. Před uplatněním kogitoidu v praktických aplikacích umělé inteligence většího rozsahu bude nutno vyřešit řadu problémů. Jedním z nich je velká výpočetní náročnost algoritmu realizujícího krok kogitoidu. Časové i paměťové nároky tohoto algoritmu rostou exponenciálně s počtem elementárních konceptů. Pokud se podaří vyřešit všechny problémy, kogitoid by se skutečně mohl stát jednou z hlavních částí operačního systému myslícího počítače. 2)

Poznámky

1) P. Johnson-Laird, Mental Models: Towards a Cognitive Science of Language, Inference, and Consciousness, Cambridge University Press, Cambridge 1983, s. 477.
2) Výzkum byl zčásti podporován grantem GA ČR č. 201/00/1489 „Soft Computing“.

OPERANTNÍ PODMIŇOVÁNÍ

Je známé také jako učení pomocí odměny a trestu nebo „metoda cukru a biče“. Např. výcvik psa je založen na tom, že při správném provedení povelu je pes odměněn, a tím je toto chování posíleno, naopak nevhodné chování je potlačováno trestem.

Na podnět P (lusknutí prsty) reaguje kogitoid reakcí R (skokem). Následně dostane na vstup afekt A, který mu říká, že reakce byla správná (pokud je A pozitivní afekt, třeba podrbání za ušima), nebo špatná (A je negativní afekt, třeba odstrčení). Opakování sekvence P → R → A několikrát po sobě vede k posílení odpovědi R na podnět P, jestliže A je pozitivní (vyskočí po každém lusknutí). Když je A negativní, kogitoid přestane na podnět P reagovat aktivací konceptu R (nevyskočí vůbec). Schéma operantního podmiňování lze ještě zkomplikovat tím, že reakce R se vyhodnotí jako dobrá nebo špatná v závislosti na kontextu představovaném dalšími koncepty aktivními v průběhu sekvence P → R → A (příběh nechť už doplní každý po svém). V tomto případě je cílem, aby v některém kontextu byla reakce na podnět posílena a v jiném potlačena. Pro správné fungování naznačených funkcí je důležité vhodně zvolit jednotlivé parametry fungování kogitoidu, které určují, jak rychle se jednotlivé asociace a koncepty posilují či oslabují.

Soubory

Článek ve formátu PDF: 2002_V576-578.pdf (323 kB)

Diskuse

Žádné příspěvky