Eva Nečasová—designity.cz

designity.cz

menuaboutcontact

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

Co je vlastně strojové učení? Autor knihy, 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, z mé komunikace s ním, také nesmírně milý a skromný člověk. Kdybych měla pokojíček, nad postelí mi visí jeho plakát.

Tento text dělím do tří částí:

— Práce s rozhraním pro trénování modelu
— Využití modelu ve Scratchi (popis jednoho 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. Mě překvapila 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 mém případě text, třeba takhle:

Třídy (anglicky Classes) slouží ke klasifikaci obsahu. Na obrázku je vidět, jak jsem je využila pro svůj projekt já. K čemu konkrétně třídy použiju, píšu níže. Třídy lze vytvářet libovolně a do nich můžeme 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, jdeme 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 podle mě super, protože dole je vždycky nějaká kvízová otázka, aby uživatel využil čekání.

(Malá poznámka. Pokud chcete trénovat textové modely, musíte si předtím vytvořit IBM Watson API Key. Anglický návod krok za krokem je 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:

Na co se chystám já: chci ve Scratchi udělat rozhraní s textovým polem, do kterého uživatel napíše, jak se cítí. AI rozpozná, kam hláška 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:

Fakt jednoduchý, co? 🙂

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ě mi to skoro nefungovalo.

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 věc, kterou si prostě nedokážu odpustit. I když už je to moc dlouhý! Tou je možnost vizualizovat ve zjednodušené formě, jak vypadá neuronová síť modelu. Wait for it. WOW!

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.

Závěr

Čím víc celý nástroj poznávám, tím víc mě baví. V předmluvě učebnice píše Grady Booch: „Kéž bych měl jako dítě takovou knihu 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 vyjde v češtině během srpna 2022, v prodeji bude za cenu 350 Kč (+ poštovné). Chcete-li si ji předobjednat, napište mi: eva@designity.cz. Zapíšu si vás do kontakt-listu.