Obecný úvod do umělé inteligence — kapitola 7
Obrázek v hlavičce byl vygenerován programem Midjourney. Prompt: Hundreds of wires strung between columns of smoke, data
Systémy umělé inteligence jsou přímo závislé na datech, která jsou jim poskytnuta. Metody strojového učení potřebují ke svému fungování datové sady, na kterých se nejen učí, ale také testují. Dostupnost dat má tedy zásadní vliv na jejich výslednou kvalitu. Strojové učení hledá vzorce v nesmírném množství dat a snaží se v nich nacházet smysl.
Než se podíváme na některé typy dat používaných při vývoji AI systémů, je důležité si říct o dvou formách, ve kterých se mohou data obecně nacházet — strukturovaná a nestrukturovaná.
Strukturovaná data jsou ta, která zapadají do předem definované struktury, tj. jsou převedena do formátu, který odpovídá vstupům modelu. Strukturovaná data jsou jednoduše organizovaná, což usnadňuje jejich analýzu. Příkladem může být tabulka pacientů a příznaků, které vykazují, a odpovídajících diagnóz.
Naopak nestrukturovaná data nejsou organizována podle žádného již existujícího systému. Mohou mít podobu obrázků, videí, textu a zvuku a je časově náročné je analyzovat. Technický pokrok v oblasti strojového učení úzce souvisí s rostoucí dostupností dat, nicméně naše schopnost data shromažďovat není úměrná naší schopnosti je analyzovat.
Jednou z možností, jak přinést pochopení a přenést smysl z nestrukturovaných dat, je učení bez učitele rozvedené v kapitole o strojovém učení. Příkladem takových dat může být například „slepenec“ všech textů volně dostupných na české Wikipedii, ze kterého se mnoho dnešních jazykových modelů učí porozumět češtině.
Různé systémy umělé inteligence a různé techniky strojového učení vyžadují různé typy dat. Pokud vytváříme například systém na doporučování zboží v internetovém obchodě (prediktivní analýza), trénovací sada bude obsahovat data o proklicích uživatelů na webu (tzv. historická data). Naopak systém pro odhalování podvodů v bance (detekce anomálií) může obsahovat třeba seznam transakcí na zablokovaných účtech.
Data můžeme roztřídit do nepřeberného množství různých kategorií, například podle toho, jakou mají formu — jestli jsou textová, obrazová nebo zvuková. Můžeme také rozlišovat, odkud data pocházejí — jestli je ručně vytvořil člověk (příspěvek na internetovém fóru), nebo byla získána pozorováním (aktivace polohy na mobilních zařízeních). Kategorií je opravdu mnoho.
V případě, že nemáme pro daný úkol k dispozici dostatek dat vytvořených lidmi, umíme si je vytvořit uměle. Syntetická data jsou zcela nebo částečně uměle vytvořena. Takže nezaznamenávají jevy reálného světa, ale jeho simulace. Učíme-li například model rozpoznávat zvířata na nedostatečném množství fotografií, můžeme velikost dat zdvojnásobit přidáním zrcadlové kopie každé z fotek.
Anotace neboli označování dat je klíčovou součástí přípravy trénování modelu při učení s učitelem. Modelům strojového učení jsou během trénování ukazována vstupní data (například obrázky ptáků), společně s informací o požadovaném výstupu (obrázkům jsou přiřazovány informace, například názvy druhů ptáků). Model se tak naučí, které vstupy patří ke kterým výstupům.
Po natrénování díky tomu dokáže reagovat na vstupy, které nikdy předtím neviděl, na základě jejich podobností. Aby učení s učitelem fungovalo a model dělal správná rozhodnutí, potřebujeme anotovanou sadu dat, ze které se model může učit.
Označování dat typicky začíná tím, že lidé roztřídí neoznačená data, například manuálním označením všech obrázků v datové sadě, které obsahují fotografie ptáků.
Formát anotace může být velmi jednoduchý (ano/ne), i velmi podrobný (např. identifikace pixelů na fotografii). Model strojového učení se na základě těchto dat během trénování naučí základní vzorce v lidském rozhodování. Výsledkem je natrénovaný model, který lze použít k předpovědi nových dat.
Vytváření anotovaných dat je časově (a mnohdy finančně) náročný proces, při kterém je přiřazován smysluplný a informativní „štítek“ každému datovému příkladu, aby se z něj model strojového učení mohl učit.
Když máme data správně anotována, je třeba je rozdělit do tří částí — na trénovací, validační a testovací sadu dat.
Největší soubor obvykle tvoří trénovací data, ta slouží k tomu, aby se v nich umělá inteligence naučila najít opakující se vzorce použitelné k určení správného výsledku. Trénovací data má systém plně k dispozici (včetně anotací), zatímco validační a testovací data jsou mu skryta.
V přestávkách mezi trénováním přichází na řadu validační data pro „ladění“ systému. Validační data by neměla obsahovat stejné vzorky jako data trénovací. Validace modelu nám totiž říká, jestli se model doopravdy naučil danou úlohu řešit, nebo zná jen zpaměti anotace všech dat (podobným případům v oboru říkáme „přeučení“ — overfitting).
Po natrénování modelu a výběru nejlepšího řešení pomocí validace přichází testovací fáze. Pomocí testovací sady dat (která opět neobsahuje vzorky použité pro trénování ani pro validaci) pak odhadujeme, jaké úspěšnosti dosahuje výsledný model v reálném světě. Například jako procento odpovědí modelu shodných s naší anotací.
Pokud se jedná o data, kvantita nemusí nutně odpovídat kvalitě. Nejdůležitější je, aby byla data dostupná, spolehlivá, reprezentativní a na správné úrovni detailů. Jedním z problémů, kterému se v poslední době věnuje velká pozornost, je předpojatost dat (viz následující kapitola Proč umělá inteligence diskriminuje).
Aby se systém umělé inteligence choval férově a nediskriminoval, je nutné mít nezaujatá data. Proto je důležité data i techniky jejich sběru pravidelně kontrolovat. Model při svém trénování nerozezná nepřesnosti, myšlenkové zkratky a předsudky v datech, ale zvýší-li to jeho úspěšnost, přijme je za své.
Kapitoly příručky
Proč vést děti k poznávání umělé inteligence
Jak vidí umělou inteligenci děti
Stručná historie umělé inteligence
Co to vlastně je umělá inteligence
K čemu nám umělá inteligence slouží
Jak se umělá inteligence učí
Bez dat by to nešlo
Proč umělá inteligence diskriminuje
Etika umělé inteligence
Umělá inteligence a právo
Umělá inteligence a náboženství
---------------------
Celý Educast AI dětem (YouTube)
Bezplatný online kurz v češtině určený každému, kdo se chce dozvědět, co to je umělá inteligence, čeho lze a nelze jejím prostřednictvím dosáhnout a jak ovlivňuje naše životy. Pro účast v kurzu nejsou zapotřebí pokročilé znalosti matematiky ani znalost programování. Do českého prostředí kurz přináší prg.ai. Přejít na kurz →