Strojové učení je oblast umělé inteligence, která umožňuje počítačovým systémům učit se z dat a zlepšovat své výsledky, aniž by člověk musel ručně naprogramovat každé jednotlivé pravidlo. Algoritmus při trénování hledá v datech opakující se vzory a vztahy. Na jejich základě vytváří model, který dokáže vyhodnocovat nové informace a vytvářet předpovědi nebo doporučení. Strojové učení proto patří mezi základní pilíře moderní umělé inteligence a využívá se v řadě digitálních služeb i odborných oborů.
Jak strojové učení funguje
Proces strojového učení obvykle začíná výběrem a přípravou dat. Ta mohou zahrnovat fotografie, texty, historické záznamy, měření ze senzorů nebo údaje o chování zákazníků. Před samotným trénováním se data často čistí, kontrolují a upravují tak, aby byla pro algoritmus použitelná. Chybějící, duplicitní nebo nesprávné údaje totiž mohou ovlivnit kvalitu výsledného modelu.
Algoritmus následně analyzuje připravená data a hledá v nich souvislosti, které využije při tvorbě modelu. Model se poté testuje na samostatné části dat, kterou při trénování neviděl. Takové ověření pomáhá zjistit, zda se naučil obecné vzory, nebo pouze zapamatoval trénovací příklady. Pokud si model příliš přizpůsobí své odpovědi trénovacím datům, může mít potíže se správným vyhodnocením nových situací. Tento problém se označuje jako přeučení.
Kvalita výsledků závisí na zvoleném algoritmu, ale také na množství, přesnosti a reprezentativnosti dat. Pokud vstupní údaje neodpovídají situacím, se kterými se model setká v praxi, mohou být jeho předpovědi nepřesné. Důležitou součástí práce se strojovým učením je proto nejen příprava dat a testování modelu, ale také průběžné sledování jeho výkonu po nasazení.
Hlavní typy strojového učení
Strojové učení se nejčastěji rozděluje podle toho, jakým způsobem algoritmus získává informace z dat. Mezi základní přístupy patří učení s učitelem, učení bez učitele a posilované učení. Každý z nich se hodí pro jiné úlohy a typy dostupných dat.
Učení s učitelem
Při učení s učitelem se model trénuje na příkladech, u nichž je známý správný výsledek. Tato data se označují jako značená: obsahují vstupní údaje i odpovídající odpověď. Model se učí rozpoznávat vztah mezi nimi a následně tento vztah používá při vyhodnocování nových případů.
Učení s učitelem se využívá například při rozpoznávání nevyžádaných e-mailů, klasifikaci obrázků nebo odhadu cen nemovitostí. V prvním případě se model učí rozlišovat mezi nevyžádanými a běžnými zprávami, ve druhém může přiřazovat fotografiím určité kategorie a ve třetím odhadovat cenu na základě vlastností nemovitosti.
Učení bez učitele
Učení bez učitele pracuje s daty, která nemají předem přiřazené správné odpovědi. Algoritmus v nich samostatně hledá skupiny, podobnosti, vztahy nebo neobvyklé odchylky. Tento přístup se hodí zejména tehdy, když je k dispozici velké množství dat, ale jejich ruční označování by bylo časově náročné nebo obtížné.
Model může například rozdělit zákazníky do skupin podle nákupního chování, hledat podobné dokumenty nebo upozornit na transakce, které se od běžného provozu výrazně liší. Výsledné skupiny je obvykle potřeba dále interpretovat, protože algoritmus sám nemusí určit, jaký praktický význam nalezené vzory mají.
Posilované učení
Při posilovaném učení se systém učí prostřednictvím interakce s prostředím. Za jednotlivé kroky získává odměnu nebo postih a postupně hledá strategii, která v delším časovém horizontu vede k co nejlepším výsledkům. Nejde tedy pouze o správnou odpověď na konkrétní vstup, ale o výběr akcí s ohledem na jejich následky.
Tento přístup se využívá například při řízení robotů, optimalizaci provozu nebo trénování systémů pro hraní her. Jeho úspěšnost závisí mimo jiné na tom, jak jsou nastaveny odměny a jak dobře prostředí odpovídá podmínkám, ve kterých má systém později fungovat.
Kde se strojové učení používá
Strojové učení se uplatňuje v řadě každodenních i odborných činností. V digitálních službách pomáhá doporučovat filmy, hudbu a produkty, rozpoznávat řeč, překládat texty nebo třídit fotografie. E-mailové služby jej mohou využívat k filtrování nevyžádaných zpráv a navigační aplikace k odhadu dopravní situace.
Ve zdravotnictví může strojové učení podpořit analýzu obrazových vyšetření nebo vyhledávání vzorů ve zdravotních údajích. Ve financích se používá například k odhalování neobvyklých transakcí a při vyhodnocování rizik. V průmyslu může pomáhat předvídat poruchy zařízení na základě provozních údajů a plánovat údržbu dříve, než dojde k výpadku.
Možnosti využití se liší podle kvality dat, účelu modelu a podmínek konkrétního prostředí. Výstupy modelů proto obvykle slouží jako podklad pro rozhodování, nikoli automaticky jako jeho náhrada. V oblastech s vysokými nároky na bezpečnost nebo odpovědnost je důležité výsledky kontrolovat a posuzovat v souvislosti s konkrétním případem.
Přínosy a omezení strojového učení
Výhodou strojového učení je schopnost zpracovávat rozsáhlé soubory dat a zachytit v nich souvislosti, jejichž hledání by pro člověka bylo obtížné nebo příliš časově náročné. Modely mohou automatizovat opakované úkoly, rychle analyzovat nové údaje a podporovat rozhodování. Po úpravě nebo opětovném trénování se jejich výkon může zlepšit, pokud jsou k dispozici kvalitní data odpovídající řešenému problému.
Strojové učení má také svá omezení. Model nemusí správně fungovat v situacích, které se výrazně liší od jeho trénovacích dat. Může přebírat chyby či zkreslení obsažená v datech a vytvářet výsledky, které znevýhodňují určité skupiny. U složitějších systémů navíc nemusí být snadné vysvětlit, proč model dospěl k určitému závěru.
Při nasazení je proto třeba věnovat pozornost kvalitě a původu dat, ochraně soukromí, bezpečnosti i pravidelnému vyhodnocování výkonu. Důležité je také sledovat, zda se podmínky v praxi nemění natolik, že model začne poskytovat méně spolehlivé výsledky. Strojové učení může být užitečným nástrojem, jeho přínos však závisí na vhodném výběru úlohy, pečlivé přípravě a odpovědném používání.
