Umělá inteligence: Proč ještě počítače nemyslí jako lidi

Podle vědeckofantastických filmů už dnes měly být stroje schopny vlastního myšlení. Stále k tomu ale mají hodně daleko. Už se však učí vnímat, rozeznávat a chápat.

Rozvoj umělé inteligence, tedy vědy o tvorbě inteligentních strojů schopných samostatně vykonávat lidské činnosti včetně dedukce a rozhodování, je v poslední době obrovský. Vývoj pokročilých algoritmů je však náročný a zdlouhavý. Co se děje v tomto oboru a proč je umělá inteligence tak těžká?

Inteligentní stroje jednou prostě budou

Umělá inteligence je v jádru věda, která se skládá z mnoha dílčích částí. Těmi jsou například logická dedukce, plánování, zpracování přirozeného jazyka, vnímaní (percepce, rozpoznání vzoru), a tak dále. Každý z těchto oborů má své specifické úkoly, které se snaží co nejlépe řešit. Vrcholem umělé inteligence je vytvoření AGI (artificial general intelligence), tedy inteligentních strojů se schopnostmi řešit obecné problémy na úrovni člověka, nebo i lépe.

Takový stroj bude pravděpodobně vypadat dost jinak, než si lidé představují z populárních sci-fi filmů á la Terminátor nebo Já, robot. Většina lidí si pod umělou inteligencí představují právě takovéto roboty, ale umělá inteligence neřeší samotné roboty, ale to, co se v robotech nachází, tedy jejich software.

Klepněte pro větší obrázek 
Komplexně inteligentních robotů se zatím bát nemusíme (foto: Stephen Bowler, CC BY 2.0)

Člověk se často inspiruje přírodou a už vytvořil stroje, které plní podobné funkce, jako mají např. zvířata, ale jinými prostředky a metodami. Automobily se pohybují rychleji než koně díky kolům, nebo letadla s pevnými křídly dosahují větších rychlostí než ptáci… Dnešní počítače rychlostí a přesností mnohonásobně překonávají lidi ve formálních matematických úlohách. A je pouze otázkou času, kdy stroje překonají lidi také v rozpoznávání, učení a logickém porozumění.

Proč to není tak jednoduché

Umělá inteligence je aplikována v zásadě na dva typy úloh: hledání (optimálního) řešení matematicky formalizované úlohy nebo rozpoznávaní.

Oblast matematického formalizmu je velmi hluboce prozkoumaná disciplína, kde se uvažuje se složitostmi algoritmů a je možné najít exaktní a optimální řešení úlohy. Častokrát ale dochází k problému tzv. kombinatorické exploze, kdy počet možností řešení narůstá tak rychle, že není možné všechny prohledat a určit, které je správné nebo optimální.

To je velký problém a pro jeho zjednodušení se často používají tzv. heuristiky, které pomáhají určit, která řešení se mohou blížit lépe k cíli a nakonec najít takové, které je dostatečně dobré. Příkladem použití takového přístupu jsou např. šachy. Velmi jednoduchá heuristika by znamenala, že se snažíme vyhnout tahům, kterými můžeme ztratit figurky s velkou hodnotou.

Klepněte pro větší obrázek
Kombinatorická exploze. Prohledávané stavy vedou k dalším prohledávaným stavům, a ty k dalším a dalším.

Rozpoznávání je úloha nalezení nějakých vlastností v signálech. Může se jednat o zvukový signál a např. rozpoznávaní řeči, nebo obrazový signál a např. rozpoznávaní objektů v obrázcích. Pro člověka je to jednoduchý úkol, ale pro počítač nesmírně složitý. Vše totiž musí řešit digitálně a analyzovat přitom obrovské množství dat.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Původní obrázek • a jak fotografii „vidí“ počítač

Kdybychom chtěli, aby počítač našel fotografie, které jsou podobné (jsou na nich také vitráže), tak je to pro něj velmi těžký úkol, protože počítač nemá vhodnou reprezentaci dat založenou na samotném obsahu obrázku, ale jenom konkrétních hodnotách jasu barev. Ví, jak obrázek vypadá, ale „nechápe“, co je na něm.

Toto je oblast, ve které se nedávno udály revoluční objevy s algoritmy založenými na hlubokém učení neuronových sítí. Díky nim je možné s výrazně lepší přesností poznat, co se v daných datech skutečně nachází.

Rozpoznávací algoritmy

Jeden ze zakladatelů počítačové vědy je Alan Turing. Svojí prací o početné složitosti položil matematický základ pro analýzu algoritmů. Díky analýze algoritmů podle zjednodušeného modelu počítače, který se nazývá Turingův stroj, je možné jednoduše odhadovat, jak těžké jsou výpočetní úlohy, jak roste složitost úlohy se vstupem a podobně.

Např. nalezení hledaného slova v textu má složitost úměrnou délce textu. Kdybychom chtěli jednoduše seřadit čísla podle hodnot od nejmenšího po největší, tak má úloha složitost úměrnou druhé mocnině počtu čísel. Velké množství praktických úloh má exponenciálně rostoucí výpočetní složitost, dochází ke kombinatorické explozi a jsou těžce řešitelné.

U rozpoznávání se často řeší to, že existuje velké množství vstupních dat, které je potřeba zredukovat na jednoduchou reprezentaci. Pouze malý barevný obrázek o velikosti 64×64 bodů s osmibitovými RGB barvami má 2576 (což je přibližně 2,4 * 10174) možností, jak může vypadat. To je astronomicky obrovské číslo, že si to ani nelze představit.

Zjednodušení popisu takových dat se dělá pomocí extrakce takzvaných příznaků (features). Často se jedná o statistické údaje, jako např. průměr intenzity nějaké barvy a podobně. Jestliže máme dostatečné množství takovýchto popisných údajů, tak je možné vybudovat příznaky, na základě kterých lze objekty rozpoznat.

Následně se řeší úloha tzv. klasifikace. Klasifikace je úlohou strojového učení, která se zabývá tím, jak rozdělit data do skupin na základě logického rozhodování tak, aby co nejlépe odpovídala skutečnému roztřídění.

Klepněte pro větší obrázek
Rozdělení dat do dvou skupin podle dvou příznaků vynesených na osách x a y. Přiřazení do skupiny určuje rozdělovací přímka.

Malý mozek ve velkých neuronových sítích

Existuje velké množství přístupů k rozpoznávání, ať už s učitelem nebo bez učitele, tedy nějakou autoritou, která řekne, k jaké skupině vlastně data patří. Je nutné podotknout, že nalezená pravidla nemusí být nevyhnutně odpovídající tomu, co bychom očekávali. Např. pokud bychom měli sadu obrázků, na kterých jsou kočky a psi, a upravili bychom všechny obrázky tak, aby obrázky s kočkami měly v levém horním pixelu bílou barvu a všechny obrázky se psy černou, tak barva levého horního pixelu perfektně a zcela jednoznačně rozděluje naše data. To může algoritmus vyhodnotit jako nejvhodnější rozdělovací podmínku, i když bychom očekávali, že k rozdělení dojde podle hlavních objektů na obrázcích.

Jedním ze způsobů klasifikace jsou umělé neuronové sítě (artificial neural networks, ANN). Neuronové sítě jsou založeny na modelu fungovaní lidského mozku, kde je velká síť vzájemně propojených neuronů. Umělý neuron je vlastně jednoduchá matematická funkce, která vezme svoje vstupy, vynásobí je váhami (důležitostí), následně je sloučí a na výstup pošle hodnotu, které dá zase určitou váhu.

Klepněte pro větší obrázek
Model umělého neuronu

O umělých neuronových sítích se dlouho myslelo, že nejsou dobře použitelné, protože po praktických experimentech nedokázaly od sebe oddělit ani data ve tvaru jednoduché funkce XOR. Až po objevení algoritmu zpětného šíření chyby (backpropagation) a použitím vícevrstvé neuronové sítě se ukázalo, že to možné je. I tak ale bylo velmi náročné nastavit správně váhy při větších vícevrstvých sítích. Další překážkou v rychlejším výzkumu je potřebný výpočetní výkon strojů.

Klepněte pro větší obrázek
Data ve tvaru funkce XOR. Třídy dat 0 a 1 jsou rozmístěny po diagonálách tak, že na jejich rozdělení je potřeba aspoň dvou rozdělovacích přímek. Plocha mezi nimi zodpovídá třídě dat 1, jinak je všude jinde třída dat 0. Toto není možné dosáhnout jenom pouze jedním neuronem, protože ten je schopný data rozdělit jenom jednou rozdělovací přímkou a je nutné použit vícevrstvé neuronové sítě.

V současnosti se tento stav značně mění. Na světě je obrovské množství výpočetního výkonu a neuronové sítě se postupně rozšiřují. Stejně tak není nouze o vzorky dat, na kterých by se mohly učit správnému rozeznávání různě interpretovaných objektů. Ostatně, třeba Google už má funkci pro rozeznávání obsahu fotografií běžně dostupnou i veřejnosti.

Neuronové sítě jsou zjevně nadějnou cestou k tomu, aby počítač začal „chápat“. Nejprve to, čím se od sebe jednotlivé shluky dat rozlišují, co mají společné, jaké mají vazby a jaké další utváří celky. Později může hledat další souvislosti a nakonec pochopit celý náš svět. K tomu je ale ještě hodně daleká cesta. 

Autor článku je magisterský student oboru Umělé Inteligence na ČVUT (michal.sustr.sk)

Diskuze (37) Další článek: Applikace Notify od Facebooku upozorní na nové články

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,