Iniciativa AI dětem

Nástroj Strojové učení pro děti

Co je vlastně strojové učení? Autor učebnice, o které je řeč v tomto textu, to vysvětluje následovně: Strojové učení (zkráceně ML = Machine Learning) se využívá k řešení úloh, jejichž kroky by bylo zdlouhavé sepisovat nebo by jejich popis byl příliš komplikovaný. Pomoci strojového učení můžeme namísto přesného popisu jednotlivých kroků ukazovat stroji příklady konkrétní úlohy stále dokola, dokud se ji stroj sám nenaučí vykonávat.

Jinak řečeno: strojové učení je proces použití matematických modelů dat, pomocí kterých se počítač učí bez přímých instrukcí.

Představte si, že učíte někoho kopnout do míče. Mohli byste jim vysvětlit krok za krokem, jak moc mají zvednout nohu, jakou rychlostí s ní pohnout, co mají mezitím dělat ruce a tak dále. Tak k danému problému přistupují programátoři, kteří stroj instruují krok po kroku.

Namísto toho však můžete takovému člověku ukázat řadu příkladů, jak lidé kopou do různých druhů míčů, a nechat je, aby se učili podle nich. Tak k danému problému přistupuje strojové učení, které se učí splnit úlohu podle nasbíraných a předložených ukázek.

Pro sběr a předkládání takových příkladů používáme ve strojovém učení termín trénování. Trénujeme model strojového učení.

A přesně to se snaží jednoduchou a zábavnou formou (na konkrétních příkladech) popsat a využít nástroj Machine Learning for Kids. Je bezplatný a slouží dětem od 12 let.

Jeho největší síla je (nejen) v možnosti reálně uplatnit natrénovaný model, k čemuž slouží platforma Scratch. Po natrénování modelu se děti překliknou rovnou do ní, vytvoří třeba hru nebo jednoduché rozhraní pro chatbota a okamžitě testují. Následně se zas mohou vrátit k modelu, jednoduše ho upravit a znovu testovat provedené změny ve Scratchi. Je to intuitivní a je s tím legrace.

Celý nástroj doplňuje učebnice. Velmi prakticky zaměřená záležitost, děti s ní zvládnou pracovat sami. Na 13 zábavných příkladech hravou formou porozumí, co je strojové učení.

Učebnice byla přeložena do 12 jazyků a ML for Kids používají tisíce škol po celém světě.

Dale Lane — autor celého konceptu — je oceněný vývojář ve společnosti IBM. A navíc nesmírně milý a skromný člověk.

Tento text je rozdělen do tří částí:

— Práce s rozhraním pro trénování modelu
— Využití modelu ve Scratchi (popis jednoho konkrétního projektu)
— Co je obsahem učebnice

Práce s rozhraním pro trénování modelu

To se nachází zde: https://machinelearningforkids.co.uk/.

Ať už se rozhodnete vytvořit si účet nebo vyzkoušet nástroj bez registrace, je to zdarma. Celá práce probíhá v prohlížeči a v cloudu, stačí tedy běžný počítač. Učitele může potěšit možnost vytvořit účet pro svou třídu, do níž může přizvat až 30 studentů.

Trénovat modely strojového učení lze v sekci „Projekty“ (učitelé mohou vytvořit Projekt pro celou třídu). Při zakládání nového si musíte zvolit, jaký model budete trénovat. V nabídce jsou modely založené na textu, obrazech, číslech nebo zvuku. Překvapivá je podpora češtiny vedle jazyků jako angličtina, španělština nebo čínština.

V nástěnce projektu jsou 3 volby: Trénovat; Učit & testovat; Vytvořit (znamená přejít do Scratch).

Pro vytrénování modelu je třeba založit novou třídu / třídy (uvedeno jako „kategorie“). A do nich vložit obsah. V našem případě text, třeba takhle:

Třídy (anglicky Classes) slouží ke klasifikaci obsahu. Na obrázku je vidno, jak jsou využity třídy v našem projektu. K čemu konkrétně slouží, bude popsáno níže. Třídy lze vytvářet libovolně a do nich je možné vložit až 1 000 těch textových bloků (dohromady). Těm se říká položky datasetu. Jindy to mohou být obrázky, zvuky nebo čísla.

Tady je hotovo, pojďme do sekce Učit & testovat.

Na této obrazovce stačí kliknout na „Train new machine learning model“. Chvilku to trvá (pár vteřin), ale čas lze využít k vyplnění kvízu, který se objeví níže. Jsou v něm zajímavé otázky na témata kolem strojového učení.

(Malá poznámka. Pokud chcete trénovat textové modely, musíte si předtím vytvořit IBM Watson API Key. Připravili jsme pro Vás návod krok za krokem zde.)

Ještě než se překlikneme do Scratch, nabízí se model nejprve otestovat. I na to je v rozhraní tool.

Využití modelu ve Scratchi

Další součástí nástroje ML pro děti je rozšíření Scratche. Přidává bloky, které pracují přímo s natrénovaným modelem. V každém projektu se mírně liší, ale vypadají zhruba takhle:

O čem je náš projekt: cílem je vytvořit ve Scratchi rozhraní s textovým polem, do kterého uživatel napíše, jak se cítí. AI rozpozná, kam výraz s určitou pravděpodobností spadá a dle toho ukáže obrázek smajlíka nebo mračouna. Aby to mohl Scratch provést, potřebuje v kódu provázat třídu („smajlik“ / „mracoun“) s obrázkem (pozadí s názvem smajlík, mracoun). Pokud uživatel napíše větu, ve které použije například „mega fantasticky“, tak se s nějakou mírou pravděpodobnosti (můžeme určit i toleranci, o tom níže) ukáže smajlík.

Ve Scratchi to vypadá takhle:

Jednoduché, že? 🙂

V učebnici autor navrhuje vyzkoušet také rozšíření Text to Speech a Speech to Text. Skvělý nápad! Ale jen pro modely natrénované v angličtině. V češtině to skoro nefunguje, protože rozpoznávač hlasu nebyl zatím trénován na český jazyk.

Tahle a mnohá další rozšíření najdete v rozhraní Scratche úplně vlevo dole.

Pokud už jste si nějaký model natrénovali, možná jste si všimli, že při testování v rozhraní ML for Kids se zobrazí pod textovým polem míra pravděpodobnosti v procentech (Confidence). I tohle lze ve Scratchi zohlednit.

Také v tomto projektu lze uplatnit zpětnovazební učení, tj, že se model učí z chyb, které nastanou při testování ve Scratchi. O tom ale později 🙂

A ještě jedna moc hezká věc 🙂 Tou je možnost vizualizovat ve zjednodušené formě, jak vypadá neuronová síť modelu konkrétního projektu (zatím tedy v beta verzi).

Co je obsahem učebnice

Na 264 stranách najdete:

— stručný úvod do umělé inteligence a strojového učení
— 8 projektů které pracují s obrazy (rozpoznávání zvířat, kámen—nůžky—papír, captcha…)
— 5 projektů pracující s textem (chatbot, analýza sentimentu v textu, automatická klasifikace fake news…)
— a 2 s čísly (piškvorky a pacman)

Všechny jsou vysvětleny krok za krokem. A to se týká jak využití online prostředí ML for Kids, tak i pak práce ve Scratchi. Děti tedy nemusí znát vůbec nic a vším si projdou zcela přirozeně bez technických či jiných záseků. Zábava je zkoušet, jak se natrénovaný model chová a zpětně ho upravovat. Každý projekt zabere cca 1 hodinu.

Projekty jsou koncipovány tak, aby se děti potkaly s principy strojového učení. Nechybí pojmy etika a bias (předpojatost). Konkrétně na předpojatost jsou tam projekty hned dva. Etika využití AI se prolíná celou učebnicí v textech.

V předmluvě učebnice píše Grady Booch: „Kéž bych měl jako dítě takovou učebnice k dispozici. Tehdy samozřejmě nebyla její existence možná, vetšina konceptů nebyla ještě ani vynalezena. A v tomto duchu se nese moje výzva, děti. Až se naučíte pracovat s ML a AI, co vymyslíte pro ty, kteří přijdou po vás.“

------------

Učebnice jsme vydali v češtině. V prodeji je za cenu 420 Kč (+ poštovné). Objednat si ji můžete v našem e-shopu. Školy a knihovny mají slevu 25%, stačí zadat v košíku kód „skoly".