Umělá inteligence
Kuba

Na přednášce Romana Nerudy se asi málokdo nudil. Pro mnohé poněkud složitá fakta přednášející podával velice neformální cestou a prokládal je řadou zajímavých příkladů a historek ze života klíčových postav v oblasti vývoje umělé inteligence.

Posluchači měli možnost dozvědět se něco o tom, jak funguje perceptron - což je základní jednotka pro budování neuronových sítí -, jaký ho provázel vzestup, pád a opětovný vzestup, jak pracuje dopředná neuronová síť a jak je schopná se učit, co to je lokální jednotka a mnoho dalšího.

Nejzajímavější na perceptronech (a tím i na neuronových sítích) je to, jakým způsobem se učí. Běžné modely (např. Turingův stroj) pracují tak, že jim předložíme algoritmus, vstupní data a očekáváme výstup. Perceptrony pracují tak, že dostanou několik vstupů, několik výstupů a ... nedají nám algoritmus. Nicméně jsou po určité době učení (přijímání vstupů a výstupů) schopny odhadnout, jaký je správný výstup pro libovolný vstup.

Přednášející to demonstroval na hezkém příkladě kuřátka, které slepička učí, co je orel a co je zrníčko: Kuřátko se narodí a vůbec netuší, co má jíst a čeho se má bát. A tak mu slepička vždy říká, zda má utíkat před orlem či zda má zobat zrní. Perceptron kuřete na vstupu přijímá několik veličin (zda se objekt pohybuje, jak je velký, jakou má barvu, apod.) a slepička mu říká, jak se má chovat. V této fázi si perceptron nastavuje hranici, co je dobré a co je špatné. A protože kombinací vstupů je nekonečně mnoho, slepička kuřátko nikdy všechny nenaučí. Jenomže perceptron si mezitím nastavil hranici dobrého a špatného tak, že když vidí malý objekt, který se nehýbe a má žlutou barvu, klidně ho sezobne.

Hlavní výhodou perceptronu je, že mu nemusím popisovat algoritmus (formálně řečeno přechodovou funkci pro danou množinu vstupů), který může být nesmírně složitý. Toto je však v některých případech zároveň jeho největší slabina. Perceptron totiž předpokládá, že se přechodová funkce chová rozumně. Jestliže tedy pro vstup x = 0,5 byl výstup y = 0,25 a pro x = 1,0 byl y = 0,75, předpokládá, že pro x = 0,75 bude y = 0,5. Jenomže přechodová funkce může být dosti "divoká" - nespojitá.

Další hezký příklad je o liškách a zajících: V lese žijí lišky a zajíci. Lišky loví zajíce, čímž snižují jejich počet. Ovšem když je méně zajíců, lišky nemají co žrát a hynou, což zajícům dovoluje se více množit. Jestliže vhodně nastavíme hranice pro méně a více, může nám vyjít, že při počátečním počtu 30 zajíců a 10 lišek za deset let lišky vyhubí všechny zajíce (a potom samy nejspíš také vyhynou). Jestliže však na začátku bude 30 zajíců a 11 lišek, může se stát, že za dvacet let vyhynou všechny lišky a zajíci se nekontrolovatelně rozmnoží.

Toto je jeden z mnoha příkladů nespojité funkce, se kterou perceptrony neumí příliš dobře zacházet. Dalším příkladem může být například známá hra LIFE.

Další oblastí, kterou se umělá inteligence zabývá, je simulace života. Můžeme se například ptát, jak funguje hejno rybek nebo ptáků. Na první pohled se nám může zdát, že má hejno jakési kolektivní vědomí a že se chová podle nesmírně složitých pravidel. Když se však na hejno podíváme z pohledu jedné rybky, zjistíme, že pravidla vůbec složitá být nemusejí. Jestliže rybku naučíme nějaká základní pravidla (například "jestliže je někdo příliš blízko vedle tebe, trošku uhni") a s využitím počítače se pokusíme hejno simulovat, zjistíme, že se chová velice podobně jako hejno skutečné. Mnohem snadněji jsme tedy dosáhli lepšího výsledku, než kdybychom se snažili simulovat celé hejno. Nejen, že víme, jak se chová celé hejno, my víme i to, jak se chová každá jednotlivá rybka, a víme, že nepotřebuje žádné kolektivní vědomí ani složitý mozek.

Poslední oblastí, o které přednášející hovořil, byly fraktály a s tím související problémy. Popsal jednoduchý jazyk, který se hodí ke generování fraktálů, ukázal, že křivky fraktálů nemají nikde derivaci a naznačil, že vhodnou jednotkou pro měření obvodu fraktálů (a nezderivovatelných křivek vůbec - například obvod ostrova Korfu) nejsou metry, nýbrž např. m1,26 (přibližná hodnota pro Kochovu vločku).

Na úplný závěr přednášející ukázal animaci, ve které byly zajímavé ukázky z počítačové simulace genetického vývoje. Všichni se smáli, když se kvádroňové snažili plavat, skákat, běhat nebo honit puntík.

Posluchači byli populární formou seznámeni se základními principy umělé inteligence a obeznámeni s několika oblastmi, kterými se tato věda zabývá.