Učia sa ľudia, učia sa stroje…

Paulína Kosturáková
EDTECH KISK
Published in
9 min readJun 25, 2017

Metódy učenia

Na úvod si predstavme si metódy učenia systémov:

· Učenie memorovaním — Jedná sa čisto len o zaznamenávanie poznatkov bez ďalšieho transformovania, teda bez akéhokoľvek ďalšieho odvodzovania. Tento najjednoduchší spôsob učenia je reprezentovaný napríklad databázovými systémami.

· Učenie inštruovaním — Tento spôsob učenia sa niekedy nazýva ako učenie prijímaním rad. Vychádza z modelu žiak — učiteľ. Princíp spočíva v tom, že učiteľ štrukturuje a reprezentuje znalosti v takej forme, aby boli prijateľné pre žiaka. Učiaci sa systém následne využíva najjednoduchšie odvodzovacie princípy k utriedeniu a zaradeniu znalostí podľa vlastného pojatia popisovaného systému.

· Učenie dedukciou — Princípom tejto metódy je, že sa kladie väčšia zodpovednosť na učený systém z hľadiska transformácie prijatej informácie. Znalosti sa vďaka inferenčnému mechanizmu preformulujú do formy užitočných dôsledkov, ktoré zachovávajú pôvodný informačný obsah.

· Učenie pomocou analógie — Metóda má dve etapy. V prvej sa vyhľadávajú rysy riešené v analogickej situácii, ktoré sú už obsiahnuté vo forme znalostí daného systému. Druhá časť je potom reprezentovaná prispôsobením existujúcej situácie situáciou novou. Obdobný názov tejto techniky učenia je učenie spomínam si.

· Učenie indukciou — znalosti sa v systéme vytvárajú zovšeobecňovaním z konkrétnych príkladov. Delí sa do kategórií, ako napríklad učenie z príkladov, učenie experimentovaním alebo učenie pozorovaním.

Neurónové siete

Každý človek so základným vzdelaním by mal vedieť, čo to je neurón. Pre istotu však na zopakovanie uvediem, že neurón je základná stavebná bunka nervového tkaniva. Taktiež sa nazýva ako nervová bunka. Neurón má 3 základné vlastnosti:

· Prijíma signály z okolia alebo z ostatných neurónov (dendrity)

· Spracováva signály, ktoré prijal (telo bunky a axonové vlákno)

· Posiela spracované signály ostatným neurónom (synapsy)

Nervové bunky sú medzi sebou rôzne pospájané a prepletené a vytvárajú akúsi zložitú sieť. Touto sieťou sa inšpirovali aj moderné technológie a prístup sa začal využívať vo výpočtových algoritmoch pri spracovávaní informácií. Umelé neurónové siete sa teda majú chovať rovnako alebo podobne ako ich biologické predobrazy.

História umelých neurónových sietí začala písať svoje počiatky v roku 1943. Najjednoduchší typ sietí navrhli Waren McCulloch a Walter Pitts. Inšpiráciou pre nich bola práve štúdia skutočných (ľudských) neurónových sietí. Vznikol tak doteraz najpoužívanejší model umelého neurónu. Aplikovali sieť na symbolickú logiku, ktorá sa skladá z logických operátorov AND, OR, NOT. Základnou jednotkou ich navrhnutej siete je logický neurón (výpočtová jednotka). Neurón môže mať 2 stavy (0 a 1).

Neurónové siete využívajú distribuované a paralelné spracovanie informácií pri vykonávaní svojich výpočtov. To znamená, že poskytovanie, ukladanie a spracovanie informácie neprebieha lokálne ale globálne. Využíva sa celá neurónová sieť než len jej určité miesta.

Medzi jednotlivými neurónmi sú väzby. Tie, ktoré vedú k správnej odpovedi tak sú posilované, a tie, ktoré vedú k špatnej odpovedi sú oslabované. Inak to nazývame aj ako excitačné vstupy (zosilňujú odozvu) a inhibičné vstupy (zoslabujú odozvu). Excitačný typ väzby má váhu rovnú hodnote +1 (w1 až wn)a inhibičné väzby majú váhu rovné 0(w0).

Preto je pri umelých neurónových sieťach dôležité učenie. Systém sa časom naučí, ktoré väzby posilovať a ktoré naopak zoslabiť. To je základný rozdiel medzi bežným používaním počítačov a používaním neurónových sietí. Pri tvorbe programov sa sústreďujeme na vytvorenie správneho algoritmu, ktorý vstupnú množinu dát transformuje na výstupnú. Toto pri neurónových sieťach odpadá. To, akým spôsobom sa budú vstupné dáta transformovať na výstupné určí fáza učenia. Tá je založená na pokusoch a vzorkách, ktoré riešia problematiku (trénovacia množina).

Učenie je základná a podstatná vlastnosť neurónových sietí.

Neurónové siete v spoločenských vedách

V politológii, ekonómii, psychológii a sociológii predstavujú neurónové siete predikčný a analytický nástroj. Široké využitie majú v makro a mikroekonómii, kde sú aplikované najmä pri finančných analýzach. V makroekonómii sa uplatňujú pri vytváraní predikčných modelov makroekonomických agregátov. Príkladom môže byť model spotreby. Taktiež sa využívajú pri výpočtoch predpovedného rozpätia v národnom účtovníctve (napríklad pre hrubý domáci produkt, konečnú spotrebu, export a import), pri výpočtoch makroekonomických indikátorov (nezamestnanosť, inflácia, atď.). V mikroekonómii sa využívajú pri modelovaní činností firiem, dopytových funkcií, produkčných funkcií, marketingových štúdiách, riadení procesu a iné. V sociológii pri spracovávaní dát z výskumov. Výborne im na to slúži softwarový program SPSS. Pomocou neurónových sietí v ňom vyhľadajú kvantitatívne vyjadrenie závislostí medzi premennými, využívajú faktorové a diskriminačné analýzy a analýzy rozptylu. Týka sa to napríklad predikcie chovania sociálnych vrstiev alebo úradníkov, ďalej sa to týka analýz ľudského rozhodovania alebo sociálnej mobility.

V psychológii sa siete využívajú v oblasti vnímania, chovania a rozhodovania. Psychológia sa na rozdiel od sociológie, ktorá skúma skupiny zameriava na ľudského jedinca.

Politológovia užívajú umelé neurónové siete pri analýzach medzinárodných udalostí alebo na chovanie voličov pri voľbách.

Typy sietí

Podľa smeru, ktorým sa šíria signály v NS ich rozdeľujeme do dvoch hlavných skupín. Dopredné (angl. feed-forward) NS sú také, v ktorých sa signál šíri iba od vstupných neurónov (neuróny, ktorých vstupmi sú signály z prostredia) cez skryté neuróny (neuróny, ktoré sú vstupmi aj výstupmi spojené s inými neurónmi; tieto sa v niektorých typoch NS nemusia vôbec nachádzať) k výstupným neurónom (neuróny, ktorých výstup vedie do prostredia).

Rekurentné NS sú také, v ktorých sa signál môže pohybovať aj smerom od výstupov ku skrytým častiam alebo dokonca až k vstupom. Je zrejmé, že rekurentné NS sú zložitejšie ako dopredné.

Najbežnejšie používaným typom doprednej NS s kontrolovaným učením je viacvrstvový perceptrón.

Perceptrón je algoritmus pre učenie z binárnych klasifikátorov (funkcií, ktoré môžu rozhodnúť, či je vstupné, reprezentovaný vektorom čísel, či patrí do určitej triedy alebo nie). Ide o typ lineárneho klasifikátora , tj klasifikačný algoritmus, ktorý umožňuje jeho prognózy založené na lineárnej funkcii kombinujúce vnútorný potenciál počítaný ako vážený súčet vstupov. Algoritmus umožňuje on-line vzdelávanie (v reálnom čase).

Názov perceptrón vymyslel v roku 1958 Frank Rosenblatt. Navrhol trénovací proces: najskôr zaznamenajme odpoveď každého formálneho neurónu na daný podnet. Ak je odpoveď správna, nemodifikujme váhy. Ak je odpoveď daného neurónu nesprávna, potom modifikujme váhy všetkých aktivovaných vstupných synáps: ak má byť neurón aktívny a nie je, zväčšime ich, a naopak, ak má byť na výstupe neurónu 0 a nie je, zmenšime ich. Pri tomto je však potrebná znalosť, ktoré objekty do ktorých tried patria. Táto metóda však nevie vyriešiť všetku triedu problémov. Klasickým najjednoduchším príkladom zlyhania je logická funkcia XOR. Problém však bol vyriešený v roku 1986, autormi Rumelhart, Hinton a Williams. Vytvorili pravidlo učenia metódou spätného šírenia sa chýb pre viacvrstvové perceptróny (angl. error back-propagation learning).

Kohonenova sieť vychádza z toho, že mozog používa na uchovanie informácie vnútornú priestorovú prezentáciu dát. Dáta, ktoré sú prijímané sú najprv transformované do vektorov, ktoré sa zakódujú do neurónovej siete. Štruktúra neurónu v tejto sieti je odlišná od perceptronovskej siete. Každý vstup je spojený s každým neurónom mriežky. Výstup v podstate neexistuje. Učiaci algoritmus usporiada neuróny v mriežke tak, aby boli schopné klasifikovať predložené dáta. Proces učenia je autonómny, nepotrebuje pomocné informácie. Celá mriežka je upravovaná pomocou vektorov tak, aby bola optimalizovaná a aby najlepšie odpovedala vstupnému priestoru.

Fuzzy logika

Ďalším algoritmom umelej inteligencie je fuzzy logika. V roku 1965 Lotfi Zadeh publikoval svoj článok “Fuzzy sets”, v ktorom predstavil základy teórie fuzzy množín. Zadeh chcel vhodne popísať komplikované systémy, na ktorých popis klasická matematika nestačila, a tento opis potom využiť v praxi. Fuzzy logika pracuje odlišne od klasickej (binárne) logiky. Klasická logika výroky ohodnocuje buď ako pravdivé, alebo nepravdivé (1 a 0), na rozdiel od fuzzy logiky, ktorá logické výroky ohodnocuje stupňom príslušnosti. Stupeň príslušnosti určuje, ako veľmi daný objekt patrí do určitej triedy alebo množiny. Funkcia príslušnosti môže obsahovať nielen 0 a 1, ale teoreticky všetky hodnoty, ktoré leží v intervale 0 a 1.32. Klasická logika je ideálny nástroj pre vyjadrovanie a dokazovanie výrokov o presných pojmoch; fuzzy logika dáva možnosť vyjadrovať a dokazovať výroky o pojmoch vágnych. Podľa Zelinka fuzzy logiku možno použiť všade tam, kde sú potrebné inteligentné činnosti všeobecne. V súčasnej dobe existuje mnoho aplikácií, kde bola použitá fuzzy logika. Fuzzy procesory sú používané v práčkach alebo riadia spaľovacie motory. NASA použila fuzzy regulátor pre riadenie automatického ramena raketoplánu na zachytenie Hubblovho ďalekohľadu. Výborné výsledky dosahujú automobily pri parkovaní alebo cúvaní pomocou fuzzy riadenia. Otázkou je, ako efektívne je zavedenie tejto technológie v priemyselných aplikáciách.

A čo všetko budú stroje vedieť? (..a čo už vlastne vedia)

Vidieť. Aby sa mohli stroje stať lepšími spoločníkmi a pomocníkmi, musia okolie vidieť. Zároveň je nutné, aby o tom, čo vidia aj premýšľali a reagovali na podnety. Rozoznávajú predmety (Facebook rozoznáva tváre na fotografiách), vnímajú prekážku v ich dráhe (automobily od Tesly dokážu promptne zareagovať na prekážku v ceste) a rozoznávajú pozície určitých predmetov. Musia sa orientovať nielen v statickom prostredí ale aj v dynamickom (križovatky, haly plné ľudí…). Na vizuálne informácie, ktoré stroj spracuje sa potom viažu ďalšie algoritmy (neurónové siete, fuzzy logika, evolučné algoritmy, expertné systémy atď.), ktoré potom prevádzajú rozhodovacie operácie, ktoré ovládajú chovanie stroja. Stroje nie sú obmedzené na videnie v normálnom svetle ako ľudia ale dokážu vidieť v celej šírke spektra. Trendom je digitalizácia — teda prevod obrazu. Vykonáva sa tak, že sa obraz zaostrí na plochu čidiel, ktoré majú mikroskopické rozmery a tie generujú elektrický signál úmerný intenzite žiarenia dopadajúceho na čidlá.

Počuť. K rozpoznávaniu reči vďaka strojom možno pristupovať z dvoch rôznych hľadísk. Za prvé to môže byť rozoznávanie dva hlasy od rôznych rečníkov, alebo sa zisťuje obsah a význam hovorených slov. Aplikácia sa využíva pri komunikácii s počítačmi alebo s telefónnymi systémami, systémami riadenia či systémami pre zber dát. Google pri vyhľadávaní dokáže používať príkazy, ktoré boli zadávané hlasom. To znamená, že dokáže rozoznať nielen rečníka ale aj obsah požiadavky. Iné systémy dokážu reagovať na príkazy zo slovníka. Slovníkom sa rozumie určitá databáza slov, pomocou ktorých systém rozozná a vykoná príkaz.

Rozprávať. Proces vytvárania reči je jednoduchší než proces rozoznávania reči. Generácia ľudskej reči môže vznikať dvomi spôsobmi. Prvý spôsob je taký, že sa vytvorí zvuková databáza vopred nahovorených slov. Tento spôsob je využívaný napríklad u prekladačov. V druhom spôsobe sa taktiež vytvorí databáza. Tá však neobsahuje vzory slov, ale ich matematické charakteristiky. Tento spôsob je menej náročný na objem dát. Je to spôsobené tým, že každá matematická charakteristika je popísaná malým objemom dát, na rozdiel od prvého spôsobu, kedy sa uschováva zvukový záznam.

V praxi samé vylepšenia

Google Translate je často využívaný nástroj od Googlu. Jedná sa o strojový preklad textu z jedného jazyka do druhého. Google najnovšie využíva tzv. hlboké učenie neurónových sietí k prekladu celých viet. Využíva to u viac než 20 jazykov. Tým odborníkov z Google Brain trénovali systém stovky hodín na španielskych textoch s korešpondujúcim anglickým textom. Vo všetkých prípadoch bolo použitých mnoho vrstiev neurálnych sietí. Tie sa učili rozpoznávať najlepší možný výsledok prekladu. Snažia sa hľadať vzory medzi jednotlivými priebehmi v zdroji jazyka a v písanom texte. Systém môže byť použitý aj v jazykoch, ktoré nie sú populárne a používa ich len malé množstvo ľudí, teda neexistuje v danom jazyku veľa písaných textov, na ktorých by sa dalo stavať. Bude to síce ťažšie, ale keď sa systém naučí spôsob, akým sa dopracovať k najlepšiemu prekladu, bude sa dať použiť tento vzor aj na iný málo používaný jazyk. Google Translate teraz neprekladá po jednotlivých slovách ale sústreďuje sa na celé vety. Učí sa. Pamätá si najlepší možný preklad a ten použije aj v inom prípade, ktorý uzná za podobný.

Systém neurónových sietí je ťažké pochopiť. Je však jasné, že nám vo veľkom uľahčujú život a ich aplikovaním v iných oblastiach môžme získať mnoho.

FANTA, Jiří. Neuronové sítě ve společenských vědách. Praha: Karolinum, 2000. ISBN 80–246–0175–3.

KŘIVAN, Miloš. Úvod do umělých neuronových sítí. Vyd. 3., přeprac. Praha: Oeconomica, 2014. ISBN 978–80–245–2024–7.

ONDRÁČEK, Tomáš. Adaptivní vícevrstvé neuronové sítě. [Brno: Vysoké učení technické], c2006. Vědecké spisy Vysokého učení technického v Brně. PhD Thesis. ISBN 80–214–3126–1.

ŠNOREK, Miroslav a Marcel JIŘINA. Neuronové sítě a neuropočítače. Dot. 1. vyd. Praha: České vysoké učení technické, 1998. ISBN 80–01–01455-X.

VONDRÁK, Ivo. Umělá inteligence a neuronové sítě. Dot. Ostrava: Vysoká škola báňská — Technická univerzita Ostrava, 1998. ISBN 80–7078–259–5.

ZELINKA, Ivan. Umělá inteligence: hrozba nebo naděje?. Praha: BEN — technická literatura, 2003. ISBN 80–7300–068–7. Dostupné také z: http://www.digitalniknihovna.cz/mzk/uuid/uuid:33c7d7c0-76c4-11e4-9e20-005056827e52

--

--