Strojové učení patří do oblasti studia umělé inteligence. Zaměřuje se na tvorbu programu, který je schopen postupně se zlepšovat ve specifické činnosti na základě dat. Čím více dat, tím lépe se program dokáže naučit. Celá výhoda strojového učení tkví v tom, že se naučí, aniž někdo programoval výsledek.

Co si představit pod pojmem "učit program"? Klasické programování funguje tak, že programátor napíše sadu pravidel, která má program následovat na principu “jestliže-tak“(if – then). Pokud mu přijde na vstup něco, co nezná (resp. na co programátor zapomněl), tak se neumí posunout dále.

Strojové učení je ale jiné. Prochází všemi daty a zjišťuje podobnost nebo šablonu, podle které je výhodné si zapamatovat a naučit se. To je obrovská výhoda oproti klasickému programování. Když je příliš mnoho proměnných, člověk není schopen myslet na všechny a ošetřit program proti nesmyslným vstupům nebo vstupům, se kterými se ještě nesetkal. Samozřejmě, čím více proměnných, tím je program robustnějším a náročnějším na HW požadavky či samotnou údržbu programu.

Jaké jsou metody strojového učení?

Je jich několik, chtěl bych popsat jen vybrané pro lepší pochopení Machinelearning trendu.

1. Supervised vs.Unsupervisedlearning (učení s a bez učitele)
Rozdíl mezi nimi se dá nádherně vysvětlit na příkladu. Představte si, že máte mladšího bratra a chcete ho naučit písmena. Ukážete mu písmeno D a řeknete mu, že "D" pozná podle jeho specifického "bříška". Pokud pak ale ukáže na jiné písmeno, například na "P" a pokusí se aplikovat pravidlo, které se naučil, že pokud má "bříško" tak je to D, pak do toho musí vstoupit učitel a opravit ho.

Co to ale znamená ve strojovém učení? V učení s učitelem je programu dána sada dat, kde známe vstupy i výstupy. Výstupy myslíme například historická data (co, proč a s jakým výsledkem se událo), program na principu podobnosti dokáže předvídat, co se stane. Velmi dobře se to dá přirovnat k lidskému expertovi, který už dlouhá léta pracuje v nějakém oboru a umí na základě svých zkušeností říct, co se stane.

Další otázka, která mě okamžitě napadá: Není tedy učení s učitelem vždy lepší? Ne tak úplně. Někdy ta výstupní data nemáme, někdy můžeme mít problém příliš rozsáhlý a abstraktní, kdy se nedá jednoznačně říci, co je výsledek.

2. Reinforcementlearning (učení s odměnou)
Toto je učení, se kterým osobně pracuji v rámci mé práce, a proto mi je blízké. Funguje způsobem odměňování za dobré rozhodnutí a potrestání za špatné. Zjednodušeně řečeno, máme několik různých možností, které můžeme udělat (klidně i ve stovkách), reinforcementlearning udělá množství rozhodnutí a projde všemi možnostmi (tzv. iterace/ epochy), množstvím pokusů se naučí, resp. najde nejlepší možnou kombinaci a pořadí kroků na základě toho, kolikrát byl odměněn a potrestán.


Kde tkví využití strojového učení?

Těch je velmi mnoho. Myslím si, že jediné, čím jsme ohraničení, je naše představivost. Když si uvědomíme silné a slabé stránky strojového učení, najít mu správné zaměření je už hračka. Zmíním jen pár, které se již reálně využívají nebo jsou z informačního či finančního hlediska zajímavé.

Personalizace člověka na internetu
Sbírání dat o zákazníkovi, které produkty si prohlíží, které články ho zajímají, z toho všeho se dá vyvodit, co asi tak chce vyřešit, jaký má problém a na základě dat od ostatních uživatelů s podobným problémem umí program poradit a navrhovat produkty, které by mohly pomoci.
Na stejném principu funguje i Google či Facebook. Ty na základě tzv. cookies sbírají data o uživateli a podávají mu co nejrelevantnější výsledky.

Online zákaznická linka

Dosud to vždy dělali lidé. Mnohé firmy nabízejí možnost telefonického kontaktu přes zákaznické linky. Vytíženost lidí, časté opakování stejných otázek otevírá prostor pro využití strojového učení spolu s tzv. chatboty (program, který odepisuje v reálném čase na otázky člověka). Možná si myslíte, že by Vám žádný počítač nedokázal poradit správně, nebo že byste jako člověk poznal okamžitě rozdíl. Ovšem známý Touringův test nás už několikrát přesvědčil, že umělá inteligence může být k nerozeznání od člověka.

Toto jsou jen některá z mnoha využití strojového učení a principu jeho fungování.


Tomáš Lichanec
student 3. ročníku bakalářského studia
Fakulta elektrotechniky a informatiky Technická univerzita v Košicích, Inteligentné systémy 

"Jsem studentem TUKE. SOS electronic bylo místo, kde jsem absolvoval svoji praktickou část studia (jako reálná firma, která využívá inteligentní systémy). Dostal jsem možnost napsat článek o strojovém učení, což je předmětem mého studia a mé bakalářské práce."