Strojové učenie patrí do oblasti štúdia umelej inteligencie. Zameriava sa na tvorbu programu, ktorý je schopný postupne sa zlepšovať v špecifickej činnosti na základe dát. Čím viac dát, tým lepšie sa program dokáže naučiť. Celá výhoda strojového učenia tkvie v tom, že sa naučí bez toho, aby niekto programoval výsledok.

Čo si predstaviť pod pojmom “učiť program“? Klasické programovanie funguje tak, že programátor napíše sadu pravidiel, ktoré má program nasledovať na princípe “ak-tak“(if – then). Ak mu príde na vstup niečo, čo nepozná (resp. na čo programátor zabudol), tak sa nevie ďalej posunúť.

Strojové učenie je ale iné. Prechádza všetkými dátami a zisťuje podobnosť alebo šablónu, podľa ktorej je výhodné si zapamätať a naučiť sa. To je obrovská výhoda oproti klasickému programovaniu. Keď je priveľa premenných, človek nie je schopný myslieť na všetky a ošetriť program proti nezmyselným vstupom, či vstupom, s ktorými sa ešte nestretol. Samozrejme, čím viac premenných, tým je program robustnejším a náročnejším na HW požiadavky či samotnú údržbu programu.

Aké sú metódy strojového učenia?

Je ich niekoľko a chcel by som popísať len vybrané pre lepšie pochopenie tohto Machine learning trendu.

1. Supervised vs.Unsupervised learning (učenie s a bez učiteľa)
Rozdiel medzi nimi sa dá nádherne vysvetliť na príklade. Predstavte si, že máte mladšieho brata a chcete ho naučiť písmenka. Ukážete mu písmenko D a poviete mu, že „D“ bude poznať podľa jeho špecifického „bruška“. Ak potom ale ukáže na iné písmeno, napríklad na „P“ a pokúsi sa aplikovať pravidlo, čo sa naučil, že ak má „bruško“ tak je to D, tak vtedy do toho musí vstúpiť učiteľ a opraviť ho.

Čo to ale znamená v strojovom učení? V učení s učiteľom je programu daná sada dát, kde poznáme vstupy aj výstupy. Výstupmi myslíme napríklad historické dáta (čo, prečo a s akým výsledkom sa udialo), a preto program na princípe podobnosti dokáže predvídať, čo sa stane. Veľmi dobre sa to dá prirovnať k ľudskému expertovi, ktorý už pracuje dlhé roky v nejakom obore a vie na základe svojich skúseností povedať, čo sa udeje.

Ďalšia otázka, ktorá mi okamžite napadá: Nie je teda učenie s učiteľom vždy lepšie? No nie tak úplne. Niekedy tie výstupné dáta nemáme, niekedy môžeme mať problém príliš obšírny a abstraktný, kde sa nedá jednoznačne povedať, čo je výsledok.

2. Reinforcement learning (učenie s odmenou)
Toto je učenie, s ktorým osobne pracujem v rámci mojej bakalárskej práce, a preto mi je blízke. Funguje spôsobom odmeňovania za dobré rozhodnutie a potrestania za zlé. Zjednodušene povedané,máme niekoľko rôznych možností, ktoré môžeme urobiť (pokojne aj v stovkách), reinforcement learning urobí množstvo rozhodnutí a prejde všetkými možnosťami (tzv. iterácie / epochy) a množstvom pokusov sa naučí, resp. nájde najlepšiu možnú kombináciu a poradie krokov na základe toho, koľkokrát bol odmenený a potrestaný.


Kde tkvie využitie strojového učenia?

Tých je veľmi veľa. Myslím si, že jediné, čím sme ohraničení, je naša predstavivosť. Keď si uvedomíme silné a slabé stránky strojového učenia, nájsť mu správne zameranie je už hračka. Spomeniem len zopár, ktoré sa už reálne využívajú, alebo sú z informačného či finančného hľadiska zaujímavé.

Personalizácia človeka na internete
Zbieranie dát o zákazníkovi, ktoré produkty si prezerá, ktoré články ho zaujímajú z toho všetkého sa dá vyvodiť, čo asi tak chce vyriešiť, aký má problém a na základe dát od ostatných užívateľov s podobným problémom vie program poradiť a navrhovať produkty, ktoré by práve mohli pomôcť.
Na rovnakom princípe funguje aj Google či Facebook. Tie na základe tzv. cookies zbierajú dáta o osobe a podávajú jej čo najrelevantnejšie výsledky.

Online zákaznícka linka
Doteraz to vždy robili ľudia. Mnohé firmy ponúkajú možnosť telefonického kontaktu cez zákaznícke linky. Vyťaženosť ľudí, časté opakovanie tých istých otázok otvára priestor na využitie strojového učenia spolu s tzv. chatbotmi (program, ktorý odpisuje v reálnom čase na otázky človeka). Možno si myslíte, že by vám žiaden počítač nedokázal poradiť správne, alebo že ako človek by ste rozdiel videli okamžite. No známy Touringov test nás už niekoľkokrát presvedčil, že umelá inteligencia môže byť na nerozoznanie od človeka. 

Toto sú len niektoré z mnohých využití strojového učenia a princípu jeho fungovania.


Tomáš Lichanec
študent 3. ročníka bakalárskeho štúdia Technická univerzita v Košiciach
Fakulta elektrotechniky a informatiky, Inteligentné systémy

"Som študentom TUKE. SOS electronic bolo miesto, kde som absolvoval svoju praktickú časť štúdia (v reálnej firme, ktorá využíva inteligentné systémy). Dostal som možnosť napísať článok o strojovom učení, čo je predmetom môjho štúdia a mojej bakalárskej práce."