Co je strojové učení a jak se počítač učí z dat
Co je strojové učení? Je to způsob, jakým se počítače učí řešit úkoly z příkladů, místo aby jim programátor předepsal každý krok. Program dostane velké množství dat, sám v nich najde opakující se vzory a ty pak použije na nové situace. Strojové učení (anglicky machine learning) je motorem téměř všech dnešních aplikací umělé inteligence, od filtru spamu přes doporučení ve streamovacích službách až po ChatGPT. V tomto článku vysvětlíme bez vzorců, jak se AI učí, jaké druhy učení existují a co z toho plyne pro běžného uživatele.
Co je strojové učení: učení z příkladů místo pravidel
Pokud jste ještě nečetli náš úvod co je umělá inteligence, stačí vědět jednu věc: umělá inteligence je široký obor a strojové učení je jeho nejdůležitější část. Zatímco klasický program funguje jako recept (udělej krok 1, pak krok 2), strojové učení funguje spíše jako zkušenost.
Představte si, že chcete odhadnout cenu ojetého auta. Zkušený prodejce se podívá na značku, stáří, počet najetých kilometrů a stav a řekne cenu. Nikdy se nenaučil přesný vzorec, jen viděl stovky aut a jejich prodejních cen. Strojové učení dělá totéž: projde tisíce inzerátů s údaji o autech a skutečnou cenou a vytvoří si vlastní „cit“ pro to, jak jednotlivé vlastnosti ovlivňují cenu. Pak umí odhadnout cenu i u auta, které nikdy neviděl.
Tomuto „citu“ se odborně říká model. Je to výsledek učení, který si můžete představit jako velmi složitou sadu nastavení, podobně jako mnoho knoflíků na mixážním pultu. Během učení se knoflíky postupně dolaďují tak, aby odhady byly co nejpřesnější.
Jak se AI učí krok za krokem
Proces učení má obvykle tyto fáze:
- Sběr dat – například tisíce fotek ovoce, u kterých je napsáno, zda jde o jablko, nebo hrušku.
- Trénování – model se pokouší odhadnout, co je na fotce. Na začátku hádá skoro náhodně. Po každém pokusu porovná svůj odhad se správnou odpovědí a trochu upraví svá nastavení. Tento cyklus se opakuje mnohokrát.
- Testování – model dostane fotky, které při trénování neviděl. Teprve tak se ukáže, zda se opravdu naučil rozeznávat ovoce, nebo si jen zapamatoval konkrétní obrázky.
- Nasazení – hotový model se používá v aplikaci a odpovídá na nové dotazy.
Je to podobné jako příprava na zkoušku. Student, který si jen nabifloval odpovědi na známé otázky, u nové otázky neuspěje. Student, který látce porozuměl, si poradí. Totéž platí pro AI: cílem je, aby zobecnila, ne aby si pamatovala.
Tři hlavní druhy strojového učení
Učení s učitelem
Model dostává příklady i se správnými odpověďmi: e-mail a informaci „spam / není spam“, fotku a popisek, údaje o klientovi a informaci, zda splatil úvěr. Učí se tedy pod dohledem, jako žák, kterému učitel opravuje úlohy. Tento typ je v praxi nejrozšířenější.
Učení bez učitele
Model dostane data bez odpovědí a sám v nich hledá skupiny a souvislosti. E-shop tak může zjistit, že jeho zákazníci tvoří několik skupin s podobným nákupním chováním, aniž by mu kdo předem řekl, jaké skupiny hledat. Připomíná to třídění hromady fotek na stole: nikdo vám neřekne kategorie, ale přirozeně je rozdělíte na krajinu, portréty a jídlo.
Zpětnovazební učení
Model se učí metodou pokus–omyl a za dobré výsledky dostává „odměnu“. Podobně jako pes, který dostane pamlsek za správně provedený povel. Tento přístup se používá třeba u her, řízení robotů nebo při dolaďování chatovacích asistentů, kdy lidé hodnotí, která odpověď je lepší.
Pojem „samoučící AI“, se kterým se často setkáte, je proto trochu zavádějící. AI se neučí sama od sebe a bez lidí. Vždy potřebuje data, cíl a nastavení, které připravili lidé.
Strojové učení, hluboké učení a jazykové modely: jak to do sebe zapadá
V článcích o AI se často střídají pojmy, které spolu souvisejí, ale neznamenají totéž. Pomůže představit si je jako soustředné kruhy:
- Umělá inteligence je nejširší kruh. Patří sem všechno, co napodobuje lidský úsudek, včetně starších systémů postavených na ručně psaných pravidlech.
- Strojové učení je uvnitř: programy, které se pravidla neučí od programátora, ale z dat.
- Hluboké učení je ještě užší kruh. Používá umělé neuronové sítě s mnoha vrstvami a hodí se hlavně na obrázky, zvuk a text. Podrobněji ho rozebírá článek co je hluboké učení.
- Velké jazykové modely jsou jedno konkrétní využití hlubokého učení, zaměřené na práci s textem.
Proč na rozlišení záleží? Ne každá úloha potřebuje nejmodernější a nejdražší přístup. Na odhad prodejů z přehledné tabulky často stačí jednoduchý model strojového učení, který je rychlý, levný na provoz a dá se snadno vysvětlit. Na rozpoznání textu z naskenované faktury nebo na psaní odpovědí zákazníkům se naopak hodí hluboké učení a jazykové modely.
Pojmy, které uslyšíte nejčastěji
Kdo se o strojové učení začne zajímat, narazí na několik slov, která se vyplatí znát. Stačí jejich význam v jedné větě:
- Trénovací data – příklady, ze kterých se model učí.
- Testovací data – příklady, které si odložíte stranou a použijete až na kontrolu, jak model funguje na neznámých případech.
- Přeučení (overfitting) – model si zapamatoval trénovací příklady i s jejich náhodnými detaily a na nových datech selhává. Je to ten student, který se naučil odpovědi nazpaměť.
- Příznaky (features) – vlastnosti, podle kterých model rozhoduje, například stáří auta nebo počet najetých kilometrů.
- Štítky (labels) – správné odpovědi u příkladů při učení s učitelem.
- Přesnost – jak často se model trefí. Pozor, sama o sobě může klamat: pokud je podvodných plateb jen hrstka, model, který vždy řekne „platba je v pořádku“, bude mít vysokou přesnost, a přitom nebude k ničemu.
Jak se modely trénují ve větším měřítku, včetně toho, proč je to výpočetně náročné, vysvětluje článek jak se trénují AI modely.
Strojové učení: příklady z běžného života
Strojové učení vás obklopuje častěji, než si myslíte:
- Banka pozná neobvyklou platbu kartou a pošle vám upozornění.
- Navigace odhadne, kdy dorazíte, podle dopravy v podobný den a hodinu.
- Streamovací služba doporučí seriál podle toho, co sledují lidé s podobným vkusem.
- Telefon rozpozná obličej při odemykání a roztřídí fotky podle osob.
- E-shop předpoví, kolik zboží bude potřeba naskladnit před Vánoci.
- Lékař může využít software, který na rentgenovém snímku upozorní na podezřelé místo k dalšímu posouzení.
Zvláštní kapitolou jsou velké jazykové modely, na kterých stojí ChatGPT, Claude a podobní asistenti. Učily se na obrovském množství textů předpovídat, jaké slovo bude následovat. Z této zdánlivě jednoduché úlohy se vyvinula schopnost psát, shrnovat a odpovídat. Více o tom, jak takové modely vytvářejí nový obsah, najdete v článku co je generativní AI.
Co strojové učení zvládne a kde narazí
Silné stránky:
- najde vzory ve velkém množství dat, které by člověk přehlédl,
- pracuje rychle a bez únavy,
- zlepšuje se s větším množstvím kvalitních dat,
- zvládá úlohy, pro které se pravidla napsat nedají (rozpoznání řeči, obrázků, volného textu).
Slabé stránky:
- Kvalita dat rozhoduje – pokud jsou data neúplná nebo zkreslená, model se naučí chyby. Platí staré pravidlo: co do systému vložíte, to z něj dostanete.
- Předsudky – model, který se učil na historických rozhodnutích lidí, může převzít jejich nespravedlnost.
- Neumí vysvětlit proč – u složitých modelů je těžké zjistit, proč došly k určitému závěru.
- Mimo svou oblast selhává – model naučený na fotkách ovoce nepozná nemoc rostliny.
Strojové učení ve firmě: jednoduchý příklad
Představte si menší pekárnu, která každé ráno odhaduje, kolik rohlíků a chlebů upéct. Když upeče málo, přichází o tržby. Když upeče moc, večer vyhazuje. Vedoucí se dosud řídí odhadem a zkušeností.
Se strojovým učením lze vzít data o prodejích za poslední roky a doplnit je o den v týdnu, svátky, prázdniny nebo počasí. Model z nich zjistí, že třeba v deštivou sobotu se prodá méně, zatímco před prodlouženým víkendem více. Pak každý den navrhne množství. Vedoucí má stále poslední slovo, ale rozhoduje na základě lepšího podkladu.
Podobně funguje předpověď poptávky v obchodech, plánování směn nebo odhad, kteří zákazníci pravděpodobně přestanou nakupovat. Nejde o kouzlo, ale o systematické využití dat, která firma často už dávno má. Hotová řešení pro takové úlohy dnes často kombinují model s automatizací, například AI agent pro řízení zásob, který z předpovědi rovnou připraví návrh objednávky.
Kontrolní seznam před prvním projektem
Než se firma pustí do vlastního projektu se strojovým učením, vyplatí se odpovědět na tyto otázky:
- Jaké rozhodnutí chceme zlepšit? Ne „chceme AI“, ale „chceme méně vyhazovat pečivo“ nebo „chceme rychleji třídit reklamace“.
- Máme k tomu data? Stačí historie objednávek, prodejů nebo e-mailů, ale musí být dostupná a aspoň trochu uspořádaná.
- Jsou data spolehlivá? Chybějící dny, duplicitní záznamy nebo změna způsobu evidence uprostřed roku dokážou výsledek výrazně zkreslit.
- Jak poznáme úspěch? Dohodněte si měřítko předem, například srovnání s dosavadním odhadem vedoucího.
- Kdo bude výsledky používat a kontrolovat? Model, kterému nikdo nevěří nebo kterého nikdo nesleduje, přinese málo.
- Co se stane, když se model splete? U návrhu počtu rohlíků je chyba levná, u schvalování úvěru může mít dopad na konkrétní lidi i právní důsledky.
Nejčastější omyly o strojovém učení
„Čím víc dat, tím lépe.“ Víc dat pomáhá jen tehdy, když jsou relevantní a kvalitní. Deset let starých údajů o prodejích může model spíš zmást, pokud se mezitím změnil sortiment nebo zákazníci.
„Model je objektivní, protože je to počítač.“ Model přebírá vzory z dat, a tedy i jejich zkreslení. Pokud firma v minulosti upřednostňovala určitý typ uchazečů, model naučený na jejích rozhodnutích bude pokračovat stejně. Tématu se věnuje článek zaujatost umělé inteligence.
„Jednou natrénovaný model funguje navždy.“ Svět se mění: ceny, chování zákazníků, sezónnost. Model je potřeba průběžně sledovat a čas od času přeučit na nových datech.
„Strojové učení je jen pro velké firmy s datovými vědci.“ Pro většinu lidí a menších firem dnes strojové učení znamená hlavně používání hotových nástrojů, které jsou už natrénované. Vlastní model má smysl až u specifické úlohy, kterou hotové nástroje neřeší.
Jak se strojovému učení naučit: tipy pro jednotlivce
Nemusíte se stát programátorem, abyste strojovému učení rozuměli natolik, abyste z něj měli užitek. Rozumný postup vypadá takto:
- Začněte u hotových nástrojů. Vyzkoušejte si chatovacího asistenta na vlastních úlohách a všímejte si, kde je spolehlivý a kde chybuje.
- Pochopte omezení. Přečtěte si, proč si jazykové modely občas vymýšlejí, v článku co jsou halucinace AI. Tahle znalost vám ušetří nejvíc chyb.
- Zkuste malý vlastní experiment. Například nechte AI asistenta analyzovat tabulku vlastních výdajů nebo prodejů a vysvětlit, jaké vzory v ní vidí. Postup popisuje článek AI analýza dat.
- Teprve pak jděte do hloubky. Pokud vás téma chytne, dalším krokem jsou základy programování v Pythonu a práce s daty.
Kam dál
Pro běžného uživatele není potřeba strojovému učení rozumět do hloubky. Pomůže ale vědět, proč AI odpovídá tak, jak odpovídá, proč si občas vymýšlí a proč je důležité kontrolovat výsledky. S tímto základem pak mnohem lépe využijete hotové nástroje.
Pokud chcete s umělou inteligencí začít prakticky, přihlaste se do kurzu umělé inteligence pro začátečníky. Naučíte se používat nejrozšířenější AI nástroje pro práci i osobní život, bez nutnosti programovat. Pokud přemýšlíte, k čemu by strojové učení mohlo sloužit ve vaší firmě, inspiraci najdete na stránce příklady využití AI.
V sérii dále pokračujeme články co je AI agent a co je chatbot.
Časté dotazy
Jaký je rozdíl mezi umělou inteligencí a strojovým učením?
Umělá inteligence je široký obor, jehož cílem jsou programy zvládající úkoly vyžadující lidský úsudek. Strojové učení je nejdůležitější způsob, jak takové programy dnes vznikají: místo ručně psaných pravidel se počítač učí z příkladů. Každé strojové učení je tedy AI, ale ne každá AI musí být strojové učení.
Učí se ChatGPT z mých konverzací?
Hotový model se během vaší konverzace sám od sebe nepřeučuje. Poskytovatelé však mohou konverzace používat ke zlepšování dalších verzí, pokud to v nastavení nevypnete. Podmínky se u jednotlivých služeb liší, proto si je zkontrolujte a citlivé údaje do veřejných nástrojů nevkládejte.
Potřebuje firma pro strojové učení vlastní data?
Pro běžné použití ne. Hotové nástroje jako chatovací asistenti jsou už natrénované a stačí je umět používat. Vlastní data se hodí ve chvíli, kdy chcete AI přizpůsobit konkrétní firemní úloze, například předpovídat poptávku nebo třídit dokumenty podle vašich pravidel.