Co (ne)dokáže umělá inteligence

Umělá inteligence (UI) zažívá v posledních letech prudký vývoj, který bývá přirovnáván k průmyslové revoluci minulých století. V tomto článku se pokusíme některé základní principy umělé inteligence ve zjednodušené podobě vysvětlit a nad možnostmi UI se stručně zamyslet.

Umělá inteligence (UI) zažívá v posledních letech prudký vývoj, který bývá přirovnáván k průmyslové revoluci minulých století. Je nasazována v čím dál rozsáhlejších oblastech průmyslu i služeb, její používání se také pomalu stává běžnou součástí našeho života.

Přijde mi, že v populární medializaci i ve veřejné debatě je UI často nepochopena, její možnosti občas nedoceněny a mnohem častěji naopak zveličovány. V hodnocení důsledků UI na společnost jsou pak prezentovány někdy až přehnaně katastrofické scénáře, ať již předpovídající zhroucení zaměstnanosti nebo dokonce stvoření UI jako bytosti schopnostmi převyšující člověka, které povede ke konfliktu s lidstvem.

Myslím, že hodnocení vlivu UI na společnost si zaslouží střízlivější přístup, založený na pochopení principů jejího fungování.

V tomto článku se pokusím některé základní principy umělé inteligence ve zjednodušené podobě vysvětlit a nad možnostmi UI se stručně zamyslet.

CO JE TO UMĚLÁ INTELIGENCE

Oprostěme se od obrazu umělé inteligence, jak nám jej nabízejí tvůrci vědecko-fantastické literatury či filmu. Tato díla často nastolují důležité společenské či etické otázky týkající se soužití člověka a stroje, většinou však neposkytují realistický obraz strojové inteligence současnosti.

Stojí za zmínku, že pojmem umělá inteligence se také označuje rozsáhlá vědní disciplína, která se zabývá zkoumáním a modelováním inteligentních projevů objektů mimo živou mysl, typicky tedy stroje (například počítače).

Definice úloh, jejichž řešení je považováno za doménu umělé inteligence, se ovšem v čase mění.

 

Je poměrně obtížné určit, co chápeme jako inteligentní projevy; ty jsou například definovány jako takové projevy, které u člověka považujeme za inteligentní. V minulosti byly problémy, které byly považovány za obtížné a jejichž zvládnutí se řadilo do oblasti umělé inteligence – například rozpoznání textu či mluveného slova.

Po nalezení uspokojivého řešení však přestaly být tak chápány s argumentem, že se nejedná o inteligentní projevy, ale pouze o algoritmus, který je standardním způsobem naprogramovaný v počítači.

Setkáváme se tedy s filosofickým postojem, který jako skutečnou umělou inteligenci označuje ty schopnosti strojů, které doposud nebyly vyvinuty.

S výše zmíněnými problémy se snaží vyrovnat definice, která dělí umělou inteligenci na takzvanou silnou a slabou.

Slabá umělá inteligence je ta, kterou již dnes stroje disponují. Umí rozpoznávat objekty v obrazech, řídit některé dopravní prostředky v omezených situacích, třídit digitální data dle předem daných kritérií a mnoho jiných činností, které jsou vždy úzce specializované. V těchto (a jen v těchto) činnostech dokáže svým výkonem i předčit člověka, ale pořád zůstává velmi dobře kontrolovatelná.

Slabá UI vlastně nedosahuje vnitřní inteligence, nedisponuje vědomím či úmysly, pouze navenek simuluje specifické inteligentní chování. Tento typ umělé inteligence se dnes velmi intenzivně rozvíjí, protože zvyšuje produktivitu a snižuje náklady zejména v průmyslu a ve službách.

Na druhé straně teoretický koncept silné umělé inteligence předpokládá nějakou formu vědomí či uvědomění si sebe sama, složitější záměry či cíle a souhrnné schopnosti vnímání, komunikace, řešení problému a rozhodování.

Tento typ umělé inteligence doposud neexistuje. Optimističtí odborníci předpovídají její vznik přibližně do roku 2050, jiní o mnoho déle. Existují však i názory, že vytvoření silné umělé inteligence nebude nikdy možné.

umělá inteligence

TECHNICKÉ PRINCIPY UMĚLÉ INTELIGENCE

Dle definice z předchozích odstavců je tedy dnešní UI takzvaná slabá UI. Její jednotlivé techniky se vždy zaměřují
na jednu omezenou stránku inteligentního projevu. Jsou tedy zvlášť řešeny metody vnímání (rozpoznávání a porozumění) okolí, předvídání budoucího chování okolních aktérů, plánování akcí či reprezentace znalostí.

Samozřejmě úspěšné nasazení UI předpokládá využití všech těchto metod, ale pořád se jedná o nějaký způsob propojení poměrně nezávislých stavebních bloků.

Pokusím se vysvětlit principy některých z nich.

ROZPOZNÁVÁNÍ OBJEKTŮ

Důležitou oblastí UI je detekce a rozpoznávání objektů. Například pro samořiditelné auto je důležité vnímání svého okolí. Je snadné vybavit vozidlo kamerami či jinými senzory;  aby však data ze senzorů byla užitečná, je třeba je interpretovat – rozpoznat překážky v cestě, ostatní účastníky provozu a součásti dopravní infrastruktury a „porozumět“ jejich významu pro další jízdu.

V průmyslu a službách je mnoho úloh rozpoznávání a třídění, kde je běžně nasazováno strojové řešení, například:

  • již zmíněné rozpoznání textu potřebné pro třídění poštovních zásilek
  • automatická detekce defektních výrobků na lince
  • vyhodnocení bonity bankovního klienta na základě souboru informací, které o něm banka má
  • identifikace osoby z jejího obrazu v přístupovém systému a mnoho jiných.

Některé úlohy rozpoznávání jsou z pohledu strojového řešení snadné a již dlouho vyřešené – typicky tam, kde není mnoho dat, která je třeba zpracovat, a množina možných situací je dostatečně omezená (jako třeba detekce textu).
Mnohé jiné jsou obtížné, vyřešené teprve v poslední době či doposud nevyřešené: výzvu například stále představuje pojmenování všech objektů viditelných byť jen částečně v obrazu z kamery pořízeném v obecném prostředí.

Všechny metody patřící do této skupiny však pracují na podobných principech, které se pokusím demonstrovat na zjednodušeném příkladu:

Představme si, že na vstupní pás linky na zpracování ovoce přichází směs jablek a hrušek. Již v matematice první třídy nás učili, že jablka s hruškami nelze míchat.

Úlohou tedy je automaticky oba druhy ovoce od sebe oddělit.

Vybavíme linku měřícím zařízením, které ovoce (nějak) narovná stopkou nahoru a změří šířku a výšku každého kusu.

Nyní je zapotřebí vymyslet algoritmus, který na základě těchto dvou čísel rozhodne. Sestavíme si dostatečně reprezentativní vzorek zpracovávaného ovoce, které ručně roztřídíme, změříme zmíněná čísla a vykreslíme je do grafu, kde na vodorovné ose vyneseme šířku, na svislé ose výšku a kde každý kus ovoce bude představovat jeden bod.

V grafu se vyjeví, že oblast, kde se vyskytují body patřící jablkům, lze snadno odlišit od oblasti bodů pro hrušky.

Rozhodující hranicí může být pouze přímka se dvěma parametry – posun a sklon – které snadno určíme. Zapíšeme si tedy dělící přímku jako matematickou funkci a tu implementujeme jako počítačový program, jehož vstupem budou změřená čísla a výstupem označení ovoce.

 

Reálné úlohy jsou samozřejmě mnohem složitější. Při rozpoznávání předmětů v obrázku mohou tvořit vstupní data všechny pixely obrázku, kterých je o několik řádů více, než naše dvě čísla z předchozího příkladu. Potřebná matematická funkce bude mnohem rozsáhlejší a komplikovanější a její nalezení též; její parametry se typicky musí zjistit též automaticky, procesem strojového učení, který je vypočte z velkého množství člověkem připravených a roztříděných příkladů. Výsledné řešení však bude stále založeno na stejných principech, jednoznačně matematicky popsatelných, byť již ne tak snadno uchopitelných, jako u našeho ovocného příkladu.

V poslední době se podařilo teoreticky vyřešit strojové učení parametrů poměrně složitých rozhodovacích funkcí, které jsou implementovány pomocí neuronových sítí a které je zapotřebí automaticky „učit“ z obrovského množství příkladů. Nárůst dostupného výpočetního výkonu umožnil jejich praktické nasazení. Tím začalo být řešitelné velké množství dříve neřešitelných úloh.

Typickou vlastností zmiňovaných algoritmů je to, že mohou řešit pouze ten typ úlohy, pro kterou jsou navrženy.
Můžeme snadno zvětšovat složitost rozhodovací metody a velikost dat, kterou je schopna zpracovat, ale nepřekročíme danou úlohu nebo třídu úloh, pro kterou je navržena.

Systém na rozpoznávání tváří z obrazů nerozpozná jiné objekty. Můžeme ho pouze na jinou – předem danou – množinu objektů z vhodných příkladů znovu naučit. Pokud je možné průběžně vyhodnocovat chyby rozpoznávání, můžeme systém naprogramovat tak, aby se ze svých špatných odpovědí sám zlepšoval. Co ovšem nemůžeme je použít ho na jinou úlohu, třeba jako řídící jednotku autonomního vozidla.

ŘÍZENÍ A PLÁNOVÁNÍ

Jinou zajímavou úlohou patřící do oblasti umělé inteligence je takzvané plánování. Sem patří:

  • hledání nejlepší (nejkratší, nejrychlejší) cesty dle automapy
  • plánování pohybu robotického vozítka v prostředí s překážkami
  • naplánování daných výrobních kroků různých výrobků tak, aby výrobní linky byly optimálně využity
  • nebo celá skupina problémů z teorie her, například plánování tahu v šachu

Tradiční přístupy k řešení využívají matematické teorie grafů. Snadno si představíme úlohu hledání cesty v mapě:
existuje množství míst – bodů v mapě, která jsou různě propojena sítí cest známé délky, a úkolem je naplánovat cestu ze startu do cíle. Ostatní úlohy lze vyjádřit obdobně; v šachu si jako body na mapě představíme všechna možná postavení figur na šachovnici, spojující cesty mezi těmito body pak představují všechny možné tahy.

Nejstarší algoritmy řešící tyto problémy plánování pracovaly s prohledáváním všech možností (kombinací cest) a zvolením nejvhodnější z nich. Požadovaný cíl a kritérium vhodnosti nalezeného řešení musí dodat vždy člověk; typicky to bude nějaká matematická funkce, číselně ohodnocující nalezenou cestu – například délkou či časem trasy, aby algoritmus mohl vybrat cestu s největším ohodnocením.

S rostoucí velikostí ‚mapy‘ popisující daný problém má ovšem analýza všech řešení příliš velké časové a hardwarové nároky. Například v šachu se odhaduje, že existuje přibližně 1045 (tj. miliarda na šestou) možných postavení.

Naprogramovat algoritmus generující všechny možné tahy lze snadno, ale i s použitím veškeré výpočetní techniky doposud vyrobené na Zemi by jeho výpočet trval řádově déle, než je fyziky udávané stáří vesmíru, což nelze považovat za praktické řešení.

Proto se používají vhodnější algoritmy, jak ‚cestu‘ v ‚mapě‘ nalézt efektivněji. Tyto algoritmy obvykle pracují s přidanou matematickou funkcí, která pro každé místo v mapě může vypočíst odhadovanou ‚blízkost‘ k cíli, a algoritmus pak přednostně prohledává pouze místa s vyšší ‚blízkostí’.

REPREZENTACE A VYUŽITÍ ZNALOSTÍ

Důležitým aspektem inteligentních projevů je práce s nabytými znalostmi. Metody popisované v předchozích odstavcích pracují s velmi omezenou oblastí úzce definovaných znalostí, které jsou implicitně zabudovány v použitém algoritmu. V úloze rozpoznávání osob je znalost toho, co je to osoba, reprezentována pomocí (velké) sady parametrů rozpoznávací funkce, vypočtené v procesu učení z mnoha příkladů. Při plánování je znalost o možnostech cest obsažena v mapě.

Při práci se znalostmi vzniká problém, jak definujeme, co je to znalost, a jak ji reprezentovat. Doposud neumíme sestrojit systém UI, který by znalosti získával sám – například pozorováním okolních jevů a z nich vyvozováním obecných principů, je tedy třeba znalosti dodat.

Člověkem nabývané znalosti ovšem trpí jistou mírou vágnosti, danou nepřesnostmi a neurčitostmi v uvažování a v jazyce, v němž jsou obvykle reprezentovány. Pro využití v UI je naopak třeba reprezentovat znalosti formálně přesným způsobem, aby bylo možné jejich zpracování přesně definovanými strojovými algoritmy. Tento typ reprezentace pak ovšem není možno použít pro mnoho typů znalostí získaných přirozeným poznáním člověkem.

Obecně lze chápat znalosti použitelné umělou inteligencí jako digitální data, jimž je nějakým způsobem přiřazen význam (interpretace) a vzájemné vztahy mezi nimi.

Snaha o inteligentní strojovou práci se znalostmi vedla k počátku vývoje takzvaných expertních systémů již v 70. letech minulého století.

Původní motivací byl průzkum ložisek geologické těžby.

Z analýzy dat poskytnutých průzkumnými vrty (složení a věk hornin, poréznost apod.) odborníci usuzují na kvalitu a objem ložiska a následně se činí rozhodnutí, zda a kde pokračovat v těžbě. Protože ekonomické dopady jsou nemalé, byla snaha o vytvoření systému, který by tyto analýzy usnadňoval a zpřesňoval, a tím snižoval rizika.

Tradiční konstrukce expertního systému používá dvě složky.

První je sada znalostí poskytnutá odborníky na danou oblast, například ve formě pravidel.

Geolog ví: je-li ve vzorku hornina XY, pak se jedná o ložisko typu Z.
Paleolontolog ví: je-li ve vzorku vápenatá usazenina V, pak má ložisko stáří L.
Petrolog ví: ložisko typu Z o stáří L pravděpodobně obsahuje ropu.

Takových pravidel bude samozřejmě velké množství.

Druhou složkou expertního systému je řídící mechanismus, který používá vstupní data či znalosti (ve vzorku je…), vyhledává a aplikuje vhodná pravidla k odvozování nových znalostí (ložisko je typu…) tak, aby případně došlo k odvození požadované cílové informace (obsahuje ropu).

umělá neuronová síťŘídící tedy často řeší problém podobný problému plánování (znalosti jsou „body“ v mapě, pravidla jsou „cesty“ mezi nimi) a může používat i podobné algoritmy.

Snaha o nasazování expertních systémů v různých doménách (např. lékařská či jiná diagnostika) vedla k vývoji formálních metod reprezentace znalostí, obohacení této reprezentace o nejistotu (matematicky obvykle popsanou pravděpodobnostmi) a k vývoji řídících algoritmů pro efektivní vyvozování.

Výhody expertních systémů jsou zřejmé:

  • možnost poměrně velké sady znalostí poskytnutých mnoha experty (a díky kopírování na rozdíl od odborníka možnost existence v libovolném počtu kopií)
  • možnost zpracování velkého množství dat, které při správně určených pravidlech může vest i k přesnějšímu usuzování než u člověka

Nevýhodou expertních systémů stále zůstává:

  • velká obtížnost konstrukce pravidel, kterou většinou nelze dělat automaticky
  • systémy také trpí nedostatečnou možností výsledné rozhodnutí vysvětlit, protože výslednou odpověď často různou měrou ovlivňuje velké množství pravidel a zejména v poslední době může být součástí pravidel expertních systémů i neuronová sít naučená z příkladů, u níž je velmi těžké nalézt vysvětlení, proč na zadaný vstup poskytla danou odpověď

Závěr

Veškerá doposud existující či vyvíjená umělá inteligence je založena na postupech jednoznačně popsatelných algoritmy a matematickým aparátem, byť skládáním, propojováním a zvětšováním součástí vznikají systémy, jejichž složitost je velká a může přesahovat možnosti detailního porozumění člověkem.

Díky tomuto škálování, které je omezeno pouze velikostí dostupných dat a výpočetním  výkonem, již vznikly systémy, které zvládají specifické úlohy lépe než člověk (ať už po stránce kvality či kvantity). Takových úloh, kde dojde k nasazení slabé UI, bude jistě přibývat.

Tak jako stroje již dávno za nás vykonávají mnoho mechanické práce s hmotou, tak UI za nás může vykonávat mnoho činností zpracování informace tam, kde existuje jasné, dobře formalizované zadání úlohy a dosaženého výsledku. Potřeba této „z venku“ přicházející motivace každé úlohy zároveň představuje jednu z hranic možností současné UI.

Lze očekávat, že vývoj umělé inteligence půjde i nadále rychle vpřed a budou hledány oblasti jejího uplatnění.

Nedávno byl učiněn pokus vytvořit algoritmus, který upraví zadanou fotografii tak, aby vypadala jako obraz namalovaný malířem. Zde je vhodné použít upravenou neuronovou síť, která na vstupu zpracovává digitální fotografii a jejíž výstup – místo obvyklé klasifikace objektů – je opět digitální obraz.

Parametry této sítě je třeba vypočítat („naučit“) z dostatečného množství příkladů, tedy obrazů mistrů. Pak bude pro různé fotografie poskytovat celkem slušivé výsledky, které budou vypadat jako skutečný obraz a my je budeme subjektivně nejspíše hodnotit někde mezi kýčem a dobrým řemeslem. Umění to však nebude, stejně jako tato síť nikdy nevytvoří nový malířský styl či obraz vymyšlené krajiny.

 

Slabá UI tedy postrádá to, co nazýváme tvořivostí. Nemá vlastní iniciativu či cíle. Neumíme vytvořit umělou inteligenci, která by sama něco „chtěla” a dokázala se pro to rozhodnout. Zadání úloh – včetně kritérií, hodnotících míru úspěšnosti či kvality jejich splnění, či nové postupy a nápady musí stále zadávat člověk.

Autor: Martin Matoušek
Zdroj: časopis Slovo a život 01/2020

Autor je výzkumný pracovník na Českém institutu informatiky, robotiky a kybernetiky (ČVUT) v oblasti strojového vnímání

Share on facebook
SDÍLET