Je učení neuronek podobné lidskému učení?

Žili byli vědci a ti zkoumali mozky – lidské, zvířecí, krabí,… . Chtěli zkrátka vědět, jak to v hlavách tvorů zdejších funguje. Když ty mozky důkladně prozkoumali, vytvořili mozek umělý. Ten pak zkoušeli učit různé věci. A kupodivu ten umělý mozek se to všechno naučil. To není pohádka, to je realita, úžasná a možná trochu děsivá, ale je to tak.

Těm umělým mozkům se říká neuronové sítě a dokáží neuvěřitelné věci. Vezmete si jednu neuronovou síť a naučíte jí třeba sčítat. Pak tu stejnou síť naučíte třeba rozpoznávát barvy a nebo obličeje. Letos například vědci z Karlovy Univerzity naučili jednu takovou neuronovou síť překládat – Česká umělá inteligence překládá přesněji než lidé.

A proč o tom mluvím? Protože mi příjde zajímavé, že neurovnovou síť učíme úplně jiným způsobem než děti. A přitom neurovnová síť je umělý mozek, který vznikl na základě poznatků o fungování skutečných lidských mozků. A tuto chabou umělou napodobeninu mozku s mizerným výkonem jsme schopní naučit ohromné věci, které bychom jen stěží naučili to skutečné dělo, které nosíme všichni v hlavě. Zvláštní.

Jak se učí neuronky?

Neuronová síť je jakýsi graf, kde uzly reprezentují neurony a hrany grafu představují synapse (spojení neuronů). Hrany grafů jsou ohodnoceny váhami. A právě úpravou těchto vah se neuronka učí. Proces učení pak probíhá tak, že neuronové síti dáme na vstup úkol, ona jej nějak vyřeší a vyhodí na výstupu nějaký výsledek. My neuronce prozradíme správný výsledek. Neuronka správný výsledek porovná se svým tipem a podle velikosti chyby si upraví váhy.

A předložíme jí jiný úkol. Uvedu příklad: Mám náhodně vygenerovanou neuronovou síť a chci jí naučit porovnávat dvě čísla. Na vstup tedy hodím vždy dvě hodnoty a na výstupu očekávám jedno z těchto znamének < > =. Sestavím si trénovací množinu vzorových příkladů. Např: { [4,2,>], [2,2,=], [1,5,<]}. Tyto tři vzorové příklady, pak stále dokola předkládáme neuronové síti, dokud se nepřestane plést. Pak považujeme síť za naučenou.

Učitel: "Neuronko jaké znaménko patří mezi 4 a 2?"
Neuronka: "="
Učitel: "Ne, je to >"
Neuronka přenastaví váhy na synapsích. A očekává další příklad.

Učitel: "Neuronko jaké znaménko patří mezi 2 a 2?"
Neuronka: "<"
Učitel: "Ne, je to ="
Neuronka přenastaví váhy na synapsích. A očekává další příklad.

Učitel: "Neuronko jaké znaménko patří mezi 1 a 5?"
Neuronka: "<"
Učitel: "Ano správně"
Neuronka nic nedělá, jen očekává další příklad.

A znova

Učitel: "Neuronko jaké znaménko patří mezi 4 a 2?"
Neuronka: "<"
Učitel: "Ne, je to >"
Neuronka přenastaví váhy na synapsích. A očekává další příklad.

Učitel: "Neuronko jaké znaménko patří mezi 2 a 2?"
Neuronka: "="
Učitel: "Ano správně"
Neuronka nic nedělá, jen čekává další příklad.

Učitel: "Neuronko jaké znaménko patří mezi 1 a 5?"
Neuronka: "<"
Učitel: "Ano správně"
Neuronka nic nedělá, jen očekává další příklad.

A zvona...

Takhle nějak zjednodušeně probíhá učení neuronek. Vtip je v tom, že jakmile se neuronová síť naučí na testovací množině příkladů, je schopná řešit i příklady, které se neučila. Když tedy naučené neuronové síti dáme po sléze úplně jiné příklady na porovnávání dvou čísel, se kterými se během učení nesetkala, bude nám odpovídat správně. Samozřejmně stále se může občas splést, ale jde už jen o ojedinělé případy nesrovnatelné se stavem, který byl na začátku před učením. To jak dobře se neuronka naučila danou problematiku, zaleží na mnoha faktorech, ale především na velikosti testovací množiny. Čím větší je testovací množina příkladů, tím lépe neuronka pochopila problematiku a tím přesnější výsledky po naučení dává.

Podobným způsobem, naučíme neuronku v podstatě cokoli, řešit složité rovnice, funkce, rozpoznávat, třídit, číst, překládat… Ať jí učíme cokoli, proces učení zůstává stále stejný. Žádné vysvětlování problematiky, žádné učení postupů. Jen stále dokola neuronku zkoušíme a ona se na svých chybách časem naučí. Různé neuronky se to naučí různým způsobem.

Lze použít učení neuronových sítí zpátky na lidi?

Toť otázka. Profesor Hejný stále opakuje, jak důležité je, aby děti samy objevovaly souvislosti a abychom je neučili jen postupy. Což mi koresponduje s učením neuronek. Neuronové sítě neučíme postupy, samy objeví závislosti. Těžko si ale můžeme představit učitele, který by byl schopný aplikovat takový časově náročný proces učení, v rámci 45min na 30 dětí. Navíc když každá dětská neuronka je jiná. Jedna je na danou problematiku lépe přednastavená a naučí se to během desíti opakování, zatímco jiné nestačí stovka opakování. Co pak? Komu se má učitel věnovat? Ono jeden učitel nestačí s trpělivostí kolikrát ani na jednoho žáka, jak dokládá případ mé mámy, která se snažila se mnou učit první dva ročníky ZŠ.

Prof. Hejný radí, aby se děti učily od sebe navzájem. Děti se vzájemně lépe chápou – lépe se do sebe vžijí. A pak učením druhých se toho člověk sám nejvíce naučí (viz. Edgar Dale – pyramida zkušeností). Takže učením druhého se učí i učitel. Děti mají navíc nesrovnatelně více času než dospělí. A mimoděk tím cvičí komunikační dovednosti. A ty je třeba dnes trénovat více než kdy jindy.

Moje mamka to tenkrát vyřešila automatickým učitelem, který mi donekonečna předkládal učivo v podobě příkladu malé násobilky, později pak slovíček do angličtiny aj. Když jsem se spletla, program mi buďto ukázal správný výsledek, nebo jsem se k němu musela dopídit sama pokusy a omyly. Nevědomky tak mamka na mě aplikovala princip učení neuronových sítí. A já během několika dnů dohnala to, s čím jsem se jinak trápila dlouhé měsíce. A já teď zkusila aplikovat tento způsob učení na své dceři během distanční výuky, aneb Jak se moje dcera učila číst.


Související produkty

Je učení neuronek podobné lidskému učení?

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Přesunout se na začátek