Strojové učení je oblast informatiky, ve které se modely neučí řešit úlohy jen podle předem ručně zapsaných pravidel, ale na základě dat a zkušenosti z příkladů. Místo toho, aby člověk systému přesně popsal každou situaci a každé rozhodovací pravidlo, dodá mu vstupy, očekávané výstupy nebo jiný signál, podle kterého se model postupně učí rozpoznávat vzory, vytvářet odhady a zlepšovat své výsledky.
Právě to je rozdíl oproti klasickému programování. U tradičního programu se pravidla píší dopředu. U strojového učení se část těchto pravidel vytváří až během tréninku. Model si je neosvojuje lidským způsobem, ale jako výsledek optimalizace nad daty. Přesto jde o jeden z nejdůležitějších principů současné AI, protože umožňuje řešit úlohy, které jsou pro ruční popis příliš složité, proměnlivé nebo objemné.
Co si pod strojovým učením skutečně představit
Strojové učení se často zjednodušuje na větu, že „počítač se učí sám“. To ale není úplně přesné. Model se neučí sám od sebe ani bez zadání. Učí se z dat, podle konkrétního cíle a pomocí přesně definovaných matematických postupů.
To znamená, že strojové učení není magie ani neurčitá samostatná inteligence. Je to způsob, jak z dat a z tréninkového procesu získat model, který umí rozpoznat vztahy mezi vstupy a výstupy. Pokud má dostatek kvalitních dat a vhodně nastavený trénink, dokáže si vytvořit pravidla, která by bylo velmi obtížné nebo neefektivní sepisovat ručně.
Jaký je rozdíl mezi klasickým programováním a strojovým učením
U klasického programu bývá postup jednoduchý: člověk nadefinuje pravidla a počítač je vykoná. Pokud se má něco změnit, pravidla se musí ručně upravit. U strojového učení je logika opačná. Člověk poskytne data a cíl úlohy a model si v rámci tréninku nastaví parametry tak, aby se výsledkům co nejvíc přiblížil.
To je obrovská výhoda všude tam, kde je pravidel příliš mnoho, jsou příliš jemná nebo se obtížně formulují. Například rozpoznávání obrazu, řeči, rukopisu nebo významu textu je pro klasické ruční programování velmi náročné. Právě v takových úlohách se strojové učení ukazuje jako výrazně praktičtější cesta.
Na čem strojové učení stojí
Aby se model mohl učit, potřebuje několik základních věcí. Především data, protože bez nich se nemá z čeho odvodit, co je správně a co ne. Dále potřebuje architekturu nebo typ modelu, který je pro danou úlohu vhodný. A nakonec potřebuje způsob, jak měřit chybu a jak podle ní upravovat své parametry.
Právě tady vstupují do hry pojmy jako ztrátová funkce, backpropagation nebo gradientní sestup. Tyto mechanismy určují, jak model pozná, že se spletl, a jak se má při dalším kroku změnit. Bez nich by strojové učení nebylo řízeným procesem, ale jen chaotickým zkoušením.
Základní typy strojového učení
Strojové učení není jedna jediná metoda. Patří sem více přístupů podle toho, jaký typ dat a signálu má model k dispozici.
- Učení s učitelem – model dostává vstupy i správné odpovědi a učí se mezi nimi najít vztah.
- Učení bez učitele – model dostává data bez správných odpovědí a hledá v nich strukturu nebo podobnosti.
- Posilované učení – model se učí na základě zpětné vazby ve formě odměn nebo trestů za své chování.
Už jste četli? Láska, sex, manželství, nevěra a trocha každodenního filozofického bullshitu
Pro běžnou praxi bývá nejčastěji vidět právě učení s učitelem, protože se dobře hodí pro klasifikaci, regresi, detekci nebo předpovědi. Ostatní přístupy jsou ale stejně důležité v jiných typech problémů.
Kde strojové učení používáme v praxi
Strojové učení se dnes používá v obrovském množství oblastí. Patří sem filtrování spamu, doporučovací systémy, rozpoznávání obrazu, analýza textu, odhad rizika, detekce podvodů, personalizace obsahu nebo předpovědi vývoje různých veličin.
Velká část dnešní AI, kterou lidé potkávají v aplikacích nebo službách, stojí právě na strojovém učení. Ne vždy jde o velké jazykové modely nebo generativní AI. Často jde o mnohem užší modely, které řeší jednu konkrétní úlohu – ale řeší ji velmi účinně.
Jak strojové učení souvisí s hlubokým učením
Tohle je důležité rozlišit. Hluboké učení není něco úplně jiného než strojové učení. Je to jeho součást. Přesněji řečeno jde o specializovaný směr strojového učení založený na vícevrstvých neuronových sítích.
V praxi to znamená, že každé hluboké učení je strojové učení, ale ne každé strojové učení je hluboké učení. To je důležité i pro novinářský jazyk, protože v médiích se tyto pojmy často směšují. Když se řekne AI, lidé si dnes často představí rovnou velké neuronové modely. Jenže svět strojového učení je širší a zahrnuje i řadu jednodušších a velmi praktických přístupů.
Jaké jsou limity strojového učení
Přestože je strojové učení mimořádně silné, nefunguje bez podmínek. Závisí na kvalitě dat, na vhodně zvoleném modelu i na správně nastaveném cíli. Pokud jsou data zkreslená, neúplná nebo špatně popsaná, model se to naučí. Pokud je nevhodně zvolená ztrátová funkce nebo architektura, může model optimalizovat něco jiného, než je skutečně potřeba.
To znamená, že strojové učení není zkratka k jistému nebo automaticky správnému výsledku. Je to technický přístup, který může být velmi účinný, ale stále stojí na návrhu, datech a kvalitě celého procesu.
Proč má smysl tomuto pojmu rozumět i mimo technické obory
Strojové učení je dnes jeden ze základních pojmů celé debaty o AI. Přitom právě tady často vzniká zjednodušení. Veřejnost někdy vidí jen hotový výsledek – doporučení, klasifikaci, odpověď nebo vygenerovaný obsah – ale už méně to, že za tím stojí model, který se učil ze vzorů v datech, a ne systém, který by „věděl“ věci lidským způsobem.
Kdo rozumí strojovému učení, ten lépe chápe i silné a slabé stránky dnešní AI. Vidí, že nejde o neurčitou digitální chytrost, ale o modely, které se učí podle konkrétního cíle a konkrétních dat. Na širší souvislosti toho, jak AI funguje, jak se učí a proč kolem ní vzniká tolik nepřesných představ, navazuje také článek 17 nejčastějších mýtů o umělé inteligenci.
Související pojmy
- Hluboké učení (Deep Learning) – protože právě to je dnes nejviditelnější a nejčastěji zmiňovaná část strojového učení.
- Neuronová síť – protože neuronové sítě patří mezi nejdůležitější modely, na kterých dnešní strojové učení stojí.
- Ztrátová funkce – protože ukazuje, podle čeho model pozná, co se během tréninku snaží zlepšovat.
- Gradientní sestup – protože právě ten patří mezi základní metody, které modelům umožňují postupně upravovat své parametry.
- Backpropagation – protože u neuronových sítí právě tento mechanismus spojuje chybu modelu s tím, jak se mají změnit jeho parametry.