Strojové učení kouzla zbavené

Jana Kurfürstová
EDTECH KISK
Published in
4 min readApr 16, 2018

Jako studenti informační vědy a knihovnictví se často setkáváme s pojmy „umělá inteligence“ a „strojové učení“. Nejenže se s nimi setkáváme, ale také je někdy sami používáme. Víme však dobře, o čem mluvíme?

Cílem tohoto článku je velice základní popis podstaty strojového učení. Strojové učení bývá označováno jako podobor umělé inteligence. Sama umělá inteligence je velmi široká disciplína, která má mnoho různých pojetí a přístupů. Proto jsem považovala za schůdnější uchopit v tomto článku jen jeden z jejích aspektů.

Většina z nás tuší, jaké konkrétní praktické problémy dnes mohou být řešeny strojovým učením (např. rozpoznávání obrazců na fotkách, automatické štítkování zpráv v mailboxu nebo identifikace podezřelých uživatelských aktivit, které mohou značit zneužití účtu). O systémech strojového učení se však velmi snadno smýšlí jako o černých skříňkách. Nemáme-li ponětí o jejich obsahu, jsme schopni přeceňovat jejich reálné možnosti a připisovat jim téměř magické schopnosti. Když však černou skříňku otevřeme a její vnitřek obereme až na kost, uvidíme, že člověk má pořád ještě situaci pod kontrolou a nemusí se bát vzpoury strojů.

Rozlišujeme tři základní metody strojového učení:

  • Unsupervised Learning (učení bez učitele), kdy dáme učícímu se systému k dispozici pouze vstupní data. (Analogie: Dáme dítěti různě velké barevné kostky a čekáme, dokud nenajde způsob, jak si v nich udělat pořádek.)
  • Supervised Learning (učení s učitelem), kdy systému poskytneme nejen vstupní data, ale i výstupy, které od něj očekáváme. (Analogie: Dáme dítěti různě velké barevné kostky a ukážeme mu, že jak je třídit podle barvy a velikosti.)
  • Reinforcement Learning (zpětnovazebné učení), kdy systém zpracovává poskytnutá data a dostává průběžnou odezvu, zda se mu výstup povedl dle našeho očekávání či nikoliv. Systém pak pokračuje v používání procesů, které vedly ke správnému výstupu, a opouští či pozměňuje procesy, které produkovaly nežádoucí výstupy. (Analogie: Dáme dítěti různě velké barevné kostky a čekáme, co s nimi bude dělat. Začne-li je třídit podle barev a řadit podle velikosti, dostane bonbón. Začne-li s nimi dělat cokoliv jiného, dostane rybí tuk. Časem se naučí, co má dělat, aby dostávalo bonbóny.)

Proces strojového učení probíhá v následujících fázích:

  • Příprava sad vstupních dat do potřebné podoby: I když jde jen o přípravnou fázi, je dobré ji zde zmínit — bez ní to prostě nejde.
  • Trénink: Poskytneme systému trénovací data, na kterých se naučí požadovanou činnost jedním ze způsobů popsaných v předchozím odstavci.
  • Testování a validace: Necháme systém provést naučenou činnost na datech, u kterých již předem známe očekávaný výstup. (Analogie: Máme dvě totožné hromádky různě velkých barevných kostek. Jsou to jiné kostky než ty, které jsme použili v předchozím kroku. Jednu hromádku si předem setřídíme sami a druhou dáme k setřídění dítěti.)
  • Aplikace nebo přeučování: Shoduje-li se výstup systému s tím, co jsme si už předem sami zjistili, můžeme jej začít používat ke zpracování „ostrých“ dat. V opačném případě upravíme trénovací algoritmy a celý proces opakujeme. (Analogie: Setřídilo-li dítě kostky stejně jako my, začneme mu dávat všechny kostky, které budeme chtít setřídit. Pokud jsou však kostky od dítěte v nepořádku, zkusíme ho to naučit znovu, ale trochu jiným způsobem.)

Problémy, které lze řešit strojovým učením, lze rozdělit do následujících skupin:

  • Klasifikace, kdy se digitálním objektům přiřazuje označení, že patří nějaké konkrétní skupiny.
    (Z knihovnického hlediska může být zajímavá aplikace strojového učení na neúplná bibliografická metadata. Na VUT byl v rámci projektu spojeného s portálem Knihovny.cz vyvinut klasifikátor, který je schopen zařadit dokument do skupiny Konspektu na základě analýzy digitalizovaného plného textu, titulu nebo MDT. Vývoj na VUT směřuje k použití strojového učení i k dalším knihovnickým účelům.)
  • Regrese, kdy jsou analyzována a ohodnocována dostupná data za účelem predikce dalšího chování zdroje těchto dat. (Využití např. pro odhad pohybu cen akcií na burze.)
  • Clusterování, kdy jsou digitální objekty shlukovány na základě podobnosti, aniž by nás zajímal význam jejich obsahu. (Využití např. pro seskupování podobných obrázků.)
  • Asociace, kdy jde o identifikaci pravidel v analyzovaných datech, ve smyslu: A a B se vždy vyskytují společně nebo výskyt A bývá následován výskytem B. (Využití např. pro business intelligence.)

Při jakékoliv aplikaci strojového učení je nutné počítat s tím, že výsledky nebudou stoprocentně správné. Také k interpretaci těchto výsledků je třeba přistupovat s rozvahou, a to zejména v u různých nalezených asociací, které mohou být jen výsledkem shody okolností.

Nutno dodat, že i demystifikované strojové učení je stále fascinujícím oborem. Když si uvědomíme, že strojové učení není magie, která sama od sebe řeší zdánlivě neřešitelné problémy, ale že na ním stojí náročná práce vývojářů a datových expertů, měl by být náš respekt k tomuto oboru o to větší.

Literatura:

BROWNLEE, Jason. Supervised and Unsupervised Machine Learning Algorithms. In: Machine Learning Mastery [online]. 2016 [cit. 2018–04–09]. Dostupné z: https://machinelearningmastery.com/supervised-and-unsupervised-machine-learning-algorithms/

DOČEKAL, Martin. Pokročilé metody strojového učení pro klasifikaci textu. Brno, 2017. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. Vedoucí práce Doc. RNDr. Pavel Smrž, Ph.D. Dostupné z: https://www.vutbr.cz/www_base/zav_prace_soubor_verejne.php?file_id=159078

GARETTA, Raúl. A Gentle Guide to Machine Learning. In: MonkeyLearn: Blog [online]. 2015 [cit. 2018–04–09]. Dostupné z: https://monkeylearn.com/blog/gentle-guide-to-machine-learning/

IRANI, Ruzbeh a Tobias Skovaard JEPSEN. What is the difference between training and validation data set in machine learning?. In: Quora [online]. 2017 [cit. 2018–04–09]. Dostupné z: https://www.quora.com/What-is-the-difference-between-training-and-validation-data-set-in-machine-learning

JAIN, Kunal a Payel Roy CHOUDHURY. Machine Learning basics for a newbie. In: Analytics Vydhia [online]. 2015 [cit. 2018–04–09]. Dostupné z: https://www.analyticsvidhya.com/blog/2015/06/machine-learning-basics/

--

--