Jste zde

Kdy už začnou být stroje opravdu inteligentní ?

Proč je nutné se učit ovládat další nová zařízení. Kdo je tady pánem? My lidé či naše přístroje a počítače? Kdy se oni začnou sami přizpůsobovat našemu chování a ne my jim? Sice trošku filozofické otázky, ale docela vystihují “jádro pudla“. Tedy kdy budeme konečně schopni vyvíjet opravdu samostatně myslící stroje?

S rostoucím počtem elektropřístrojů, strojů a zařízení v našem životě si tyto otázky pokládám stále častěji. A ještě více je spontánně pokládají lidé starších ročníků, kteří již objevování nových technických fines moc nezajímá a prostě chtějí, aby jim zařízení jen opravdu co nejvíce ulehčilo práci. Například u mě v práci často slyším od svých 50- a 60letých kolegů nadávky typu „Kde je zase ta ikona?“, „Proč ten počítač to neukládá kam já potřebuji?“, „Proč se spustila nějaká aktualizace, když mě to teď zdržuje?“, „Proč má ten nový Windows to nastavení jinde než ten starý?“ apod.    

Když se nad tím zamyslíte čistě z praktického pohledu, tak opravdu zjistíte, že moderní zařízení jsou možná stále rychlejší a sofistikovanější, ale dnes často používané označení „inteligentní“ má v praxi stále dost daleko od toho, co si opravdu pod tímto slovem intuitivně představujeme, tedy „samostatně uvažující a pracující“ a stále velmi často potřebují „poradit“ od našeho mozku. Ten sice již dávno není rychlejší z pohledu počítání, ale je stále výrazně nejefektivnější a nejvýkonnější z pohledu řízení a umění se přizpůsobovat okolním podmínkám (učit se).

Prostě budoucí stále složitější a sofistikovanější počítače, přístroje a zařízení budou muset zároveň realizovat pro uživatele jednodušší ovládání, tedy být více samostatné. Nehledě na trvalé stárnutí naší populace a tedy nutné přizpůsobení ovládání počítačů a zařízení jejich menší schopnosti rychlého učení. Prostě zařízení se budou muset začít chovat více jako mozek a místo požadavku externího nastavování různých parametrů si budou muset „vystačit“ se sledováním okolních podmínek a chování (návyků) svých uživatelů, či případně využívat jen „jednoduché zpětné vazby“ ve formě „tohle mi vyhovuje“ a „tohle nevyhovuje“ a dle těchto informací si už sami svoje provozní parametry nastavit či opravit.

Rekapitulace současného stavu inteligence zařízení

V současné době stále převažuje klasické vytváření řídících systémů obvykle stylem „přesně daná příčina = přesně daný následek“. Tedy současné klasické programování stále ve většině případů představuje pouze soubor velkého množství „pouček“ typu, když se stane toto, udělej toto (IF … ELSE), tedy typ zařízení stavový automat. Výhoda tohoto tradičního způsobu vytváření řídících programů strojů a zařízení je naprostá jednoznačnost, kontrola a nadvláda programátora (vývojáře programu) nad tím, co bude počítač či zařízení v různých situacích dělat a jak se bude chovat. Nevýhoda tohoto řešení programů je pak samozřejmě nulová pravá inteligence, tedy schopnost se sám přizpůsobit novým okolnostem, které nejsou vystiženy v programu. Takové zařízení na neznámý stav buď vůbec nereaguje, nebo v horším případě může způsobit jeho zablokování ve stavu „nevím, co mám dělat“. Proto takové ty funkce, kdy se před snímač umístí objekt a zmáčknete tlačítko Teach-In, aby si nastavil rozsah, nepovažuji za znak inteligence. To je prostě jen zaprogramovaná funkce.  

Naproti tomu obecná výhoda práce samoučících algoritmů a systémům podobné neuronovým sítím v našem mozku je v jejich univerzálnosti, kdy prostě stejná struktura může být využita na různé aplikace a stavy bez nutnosti jejich detailní znalosti. Prostě na řešení daného problému postupně naučí (jako náš mozek). Ten, kdo někdy dělal nějaký software např. pro nějaké automatické zařízení, mi jistě dá za pravdu, že není ani takový problém vymyslet a naprogramovat samotný řídící algoritmus vykonávající nějakou pravidelnou periodickou činnost, ale hlavně „vychytat“ řešení všech možných i nahodilých stavů, které se při běhu stroje mohou vyskytnout, ať již poruchou některé jeho komponenty, špatným zásahem obsluhy či změnou okolních provozních podmínek.

Budoucnost inteligentních zařízení spočívá buď v plném umělém napodobení struktury mozku, v simulaci funkce neuronových sítí pomocí algoritmů běžících na výkonných PC nebo ve hardwarové realizaci struktury neuronových sítí ve formě integrovaných čipů.

Budoucnost inteligence zařízení

I když se různé samoučící algoritmy již v mnoha oblastech v praxi využívají, převážně jen v podobě malé část řídících systémů (například v rozpoznávání řeči, ručně psaného písma, automatické donastavení řídící jednotky motorů apod.). Jako univerzální hlavní řídící mechanismy se ještě masově nevyužívají. Přitom pro oblast řízení a regulace či interakce zařízení s člověkem by byla větší samostatnost zařízení velmi žádoucí.

Aktuální vize řešení úkolu opravdu inteligentních strojů jsou prakticky dvě:

  • softwarové řešení – složitý software se samoučícími algoritmy běžící na super rychlé současné „klasické“ platformě / architektuře rychlých CPU (počítačů)
  • hardwarové řešení – speciální hardwarová struktura realizující elektronické neuronové sítě podobající se funkcí našemu mozku se zcela odlišnou architekturou a „programováním“ než současné

 

Softwarové řešení inteligence

Tento směr je nám obecně stále bližší z důvodu historického vývoje struktury hardwaru počítačů a všeobecně navyklého způsobů jejich programování. Tato „technologie“ však  v základu z hardwarového i softwarového pohledu pracuje zcela odlišně od tohoto, co doposud v tomto směru vymyslela sama příroda, tedy mozek zvířat. To je hlavní problém tohoto přístupu, protože prostě architektura počítačů a procesorů, jak ji doposud využíváme, tedy s centralizovanou velkou výpočetní silou do jednoho místa a stejně tak centralizovanou velkou pamětí do jednoho místa,  není pro realizaci samoučících systému příliš vhodná. Mozek pracuje jako velmi decentralizovaná distribuovaná struktura mnoha tisíc či milionů neuronů, přičemž každý jednotlivý neuron má svoji schopnost automaticky adaptovat své „nastavení“ podle se aktuálně v čase měnících okolních podmínek (stavu ostatních okolních neuronů). Protože neurony jsou funkční i jako samostatná jednotka, celkový systém je vysoce paralelně pracující. Tedy něco vzdáleně podobného jako byste měli počítač s tisíci výpočetními jádry.   

Proto pro realizaci i jen částečně inteligentního systému automaticky reagujícího na potřeby uživatele a schopného sám vyhodnocovat a řešit své problémy bez nutnosti pomoci lidského mozku, je však v současné koncepci struktury počítačů nutné vytvořit velmi složitý klasický software, který má v sobě implementované samoučící algoritmy či prvky funkce neuronových sítí. Přesto funkci mozku jen pouze softwarově simuluje a převádí paralelně pracující funkční systém více či méně založený na struktuře mozku na centralizovaný systém se sériovým zpracováním.

Aktuálně nejpopulárnější počítačové algoritmy simulující funkci neuronových sítí na: vícevrstvý perceptron (obr. vlevo) a Kohonenovy mapy (obr. vpravo).

Těch je známých a vyzkoušených již poměrně mnoho (ALMS, NLMS, GMBH sítě, Kohonenovy mapy, Perceptron s učením Backpropagation, STDP, Hebbian, Hopfield  a další). Takový program je však dost náročný na výkon počítače (procesorové jednotky), protože jeho hardware není tomuto stylu práce (řízení) příliš vhodný. Obecně je struktura našich současných počítačů, i přes využívání vícejádrové struktury, stále více-méně založená na sekvenčním zpracování sledu logických operací definované programem aplikované na binárně reprezentovaná data hromadně uložená v jednom velkém paměťovém uložišti. Ta je sice vynikající pro unifikované zpracování velkých objemů dat typu kódování a dekódování či vytváření rozsáhlých databází a hledání v nich, ale již není moc výhodná pro řešení nahodile vznikajících požadavků vyžadující i vhodné nalezení, zapojení a vyhodnocení přecházejících podobných situací a jejich výsledků. Ve výsledku to znamená, že i dnes až neuvěřitelně rychlé a výpočetně výkonné vícejádrové procesorové jednotky stále mají problém toto řešit dostatečně rychle, i když jinak dokáží velmi rychle spočítat periodicky volané výpočetní algoritmy např. záznam, kódování a dekódování videa, jsou v tom směru dnes nepochybně  rychlejší než náš mozek. Pro potřeby vyhodnocení nahodilé neznámé situace na základě dřívějšího dlouhodobého pozorování podobných situací je to stále ještě málo. To je také důvod, proč se prvky samoučení do systémů začínají postupně rozvíjet až v posledních letech, kdy začínáme mít  velmi rychlé procesory. Stále to však ještě nestačí na vytvoření opravdovou inteligentního  systému.

Příklad využití neuronových sítí v rekognoskaci terénu

Například počítačové simulace funkce neuronových sítí chování mozku patří stále k jednomu z nejnáročnějších výpočetních úkonů i pro současné vícejádrové počítače. Pokud jste někdy zkoušeli na PC například v programu Matlab realizovat i jen základní jednoduchou softwarovou simulaci funkce neuronových sítí, víte, že nároky na výkon PC pro rychlý běh simulace jsou opravdu dost vysoké. A například i pro jednoduchou simulaci funkce kortexu mozku kočky obsahující 1 miliardu neuronů a 10 triliónů synapsí muselo IBM využívat 4. nejrychlejší superpočítač na světě (Dawn Supercomputer), který využívá 147 tisíc speciálně chlazených 16- nebo 8-jádrových procesorů typu Power Architecture a paměť 144 TB. Má obrovskou spotřebu el. energie cca 1MW a za 24 hodin spotřebuje přibližně 50 tisíckrát víc energie než bere lidský mozek. Ten si vystačí s cca 20 W energie. Z toho je jasně patrné, jak nevhodné jsou současné klasické počítače jen pro základní simulaci funkce mozku.

Hardwarové řešení inteligence

Současně s vývojem a aplikováním softwarových algoritmů na stávající procesorové platformy některé společnosti intenzivně vyvíjené i plně elektronické hardwarové ekvivalenty neuronových sítí v našem mozku. Ty sice neumí rychle spočítat přesně definované vzorce, ale dokáží samostatně se učit z nastalých situací a poznatky následně využít pro vyhodnocení i pro doposud neznámé situace. Protože systém učení je převážně definován přímou realizovanou hardwarovou strukturou systému, kde softwarová část jen definuje účinnost a rychlost funkce systému, je celá rychlost (výkon) optimalizována přímo pro situaci řešení. Prakticky se dá říct, že u dnešních běžných počítačů je v nadsazeném smyslu slova software takové „překládací rozhraní“ mezi naším způsobem komunikace a zpracování dat (neuronové sítě) a strojovým mechanismem zpracování binárních dat procesoru, zatímco zde u hardwarové realizace neuronové sítě toto odpadá.

Takové hardwarové elektronické neuronové sítě aktuálně vyvíjí a realizuje společnost IBM ve spolupráci s DARPA. Ty úspěšně vymyslely, realizovaly a minulý rok i prezentovaly plně fuknční hardwarovou křemíkovou strukturu neuronové sítě, která navíc při výrobě využívá dnes běžnou 45 nm technologii výroby integrovaných obvodů SOI-CMOS a na rozdíl od předchozích „pokusů“ jiných firem a společností nevyužívá žádné analogové komponenty. Doposud totiž většina návrhů realizovala vstupní a výstupní obvody do neuronů (tzv. dendrony a axiony) ve shodě s reálným mozkem jako analogové.  IBM tento problém vyřešilo pomocí speciální maticové struktury SRAM paměťových buněk, které tak v terminologii neuronových sítí realizují tzv. synapse. Neuron pak tvoří samotnou malou výpočetní jednotku.

Konkrétně aktuálně v podobě 286 neuronů a na ně napojených 262 tisíc programovatelných synapsí (neuronových spojů). Ale i již tento miniaturní ekvivalent kousíčku mozku umožňuje při taktování frekvencí pouze 10 kHz efektivněji a rychleji porovnávat a vyhodnocovat různě deformované / poškozené obrazce než pro  tento účel vytvořený software běžící na 16bitovém DSP jádru taktovaného frekvencí 20 MHz. Ohledně bližšího popisu této vynalezené struktury a její funkce připravuji na HW Server specializovaný článek.      

Firma IBM si pak dále vytyčila cíl vytvořit jednoho dne takový čip, který bude obsahovat 10 miliard neuronů a 100 bilionů synapsí, což by již představovalo mozek malých živočichů.

Struktura jednoho hardwarově na křemíkovém čipu vytvořeného neuronu.

Závěr

Dle mého názoru se prostě v budoucnu bez samostatně učících a reagujících systémů neobejdeme a vývoj k tomu jasně směřuje. Pro vývojáře systémů je to však stále velká výzva najít vhodnou hardwarovou technologii i softwarové algoritmy, které by při malé spotřebě el. energie dokázaly alespoň malou část toho, co například umí mozek krysy. 

Odkazy

 

Články o samoučících algoritmech na HW serveru

Hodnocení článku: 

Komentáře

Zdravím,

zatiaľ kým to bude - zariadenie na úrovni možnej interakcie s človekom a bežne k dostaniu. V súčasnosti sú asi najprepracovajšie UI na báze "znalostného systému" ktorý interaktívne pomáha lekárovi pri zložitých operáciách.

Ono len vytvoriť systém, ktorý sa dokáže postarať sám o seba - sebazáchova je ešte ďaleko. Tým nemyslím nejakú pleseň a pod. Zoberme si takú "mačku". Reprodukcia, výchova mláďat, ... Technické zariadenia prakticky za 180 rokov len zlepšujeme, efektívnejšie využívajú čas, energiu, priestor, majú nižšie náklady na výrobu.

Ale zamyslime sa, ...aj keby sme dnes mali technológie ktoré budú k dispozícii za 50 rokov, tak z budúceho pohľadu, napr. za 75 rokov to stále budú len staré bačkory. Toto treba mať neustále na pamäti.

Prečo takýto názor? Dokážeme vyrábať rýchlo. Ale lacno? Čo je lacno? Ono vždy sa to premietne do drancovania a zneužívania. Žiaľ. Navyrábame dnes ale zajtra nám to už nie je k ničomu, nevieme to nijak využiť. Do šrotu alebo necháme len tak. Zisk, zisk, zisk.

Zelená energia, keď sa pojem uchytil pred cca. 15 rokmi u nás, inde už dávnejšie jaksi som trochu veril ,že to čo autor píše v článku sa čiastočne naplní.