Strojové učenie
Strojové učenie (ML) je časť umelej inteligencie (UI), ktorá poskytuje strojom schopnosť automaticky sa učiť z údajov, predchádzajúcich skúseností a zároveň identifikovať vzory na vytváranie predpovedí s minimálnym zásahom človeka. Metódy strojového učenia umožňujú počítačom pracovať samostatne bez explicitného programovania. Aplikácie ML sú zásobované novými údajmi a môžu sa samostatne učiť, rásť, vyvíjať a prípadne aj prispôsobovať. Strojové učenie získava dômyselné informácie z veľkých objemov údajov využitím algoritmov na identifikáciu vzorov a učenie v iteračnom procese. Algoritmy ML používajú výpočtové metódy na učenie sa priamo z údajov namiesto toho, aby sa spoliehali na nejakú vopred stanovenú rovnicu, ktorá môže slúžiť ako model. Výkonnosť ML algoritmov sa adaptívne zlepšuje so zvyšovaním počtu dostupných vzoriek počas procesov učenia. Napríklad hlboké učenie je podoblasť strojového učenia, ktorá trénuje počítače na napodobňovanie prirodzených ľudských vlastností, ako je učenie sa z príkladov. Tri hlavné typy strojového učenia sú:
Učenie pod dohľadom (Supervised learning - SL) je typ strojového učenia, pri ktorom sa algoritmus učí mapovať vstupy na výstupy na základe označených príkladov. Tréningové údaje pozostávajú z dvojíc vstup-výstup a algoritmus na základe týchto údajov odvodí funkciu, ktorá umožňuje predpovede alebo rozhodnutia na základe nových údajov. Označené údaje sa rozdelia na súbor trénovaných údajov a súbor testovaných údajov a algoritmus sa učí z trénovaného súboru údajov predpovedať alebo klasifikovať výstupnú premennú v testovanom súbore údajov. Algoritmy SL potrebujú na učenie externú pomoc a z trénovaných údajov sa učia vzory, ktoré sa aplikujú na nové údaje na predpovedanie alebo klasifikáciu[O26]. Pri získavaní údajov možno SL rozdeliť na dva typy problémov - klasifikáciu a regresiu:
- Klasifikácia využíva algoritmus na presné zaradenie testovacích údajov do konkrétnych kategórií. Rozpoznáva konkrétne entity v súbore údajov a pokúša sa vyvodiť určité závery o tom, ako by tieto entity mali byť označené alebo definované. Bežné klasifikačné algoritmy sú lineárne klasifikátory, podporné vektorové stroje (SVM), rozhodovacie stromy, k najbližších susedov a náhodný strom.
- Regresia sa používa na pochopenie vzťahu medzi závislými a nezávislými premennými. Bežne sa používa na vytváranie prognóz, napríklad príjmov z predaja pre daný podnik. Lineárna regresia, logistická regresia a polynomická regresia sú populárne regresné algoritmy.
Učenie bez dohľadu (Unsupervised learning - UL) sa vzťahuje na úlohy strojového učenia, pri ktorých neexistujú označené údaje alebo učiteľ, ktorý by poskytoval správne odpovede. Inakšie povedané, máme vstupné údaje ale nemáme žiadne výstupné údaje.
Pri učení bez dohľadu majú algoritmy voľnosť, aby sami skúmali a odhaľovali zaujímavé štruktúry v údajoch. Nie je jasné, ako bude vyzerať výstup. Tieto algoritmy sa zvyčajne naučia len niekoľko kľúčových vlastností z údajov, ktoré sa potom použijú na klasifikáciu nových údajov. Hlavné aplikácie takéhoto učenia sú pri zhlukovaní údajov a redukcii príznakov [O26]. Učenie definuje rôzne algoritmy, ako je analýza hlavných komponentov (PCA), analýza nezávislých komponentov (ICA), K-Means a algoritmus maximalizácie očakávaní (EMA) [O27]. Modely UL môžu vykonávať zložitejšie úlohy ak ich porovnáme so SL ale sú tiež viac nepredvídateľné. Učenie môžeme rozdeliť do dvoch druhov:
- Zhlukovanie pri ktorom nachádzame skryté vzory v údajoch na základe ich podobností alebo rozdielov. Tieto vzory sa môžu týkať tvaru, veľkosti alebo farby a používajú sa na zoskupovanie dátových položiek alebo vytváranie zhlukov. Existuje niekoľko typov zhlukovacích algoritmov, napríklad exkluzívny, prekrývajúci sa, hierarchický a pravdepodobnostný.
- Asociácia je druh pri ktorom môžeme nájsť vzťah jednej dátovej položky k inej dátovej položke. Tieto závislosti potom môžeme využiť a zmapovať ich spôsobom, ktorý je pre nás prospešný. Asociačné pravidlo sa používa na zistenie pravdepodobnosti spoločného výskytu položiek v kolekcii. Tieto techniky sa často využívajú pri analýze správania zákazníkov na webových stránkach elektronického obchodu.
Jedným z najznámejších typov umelej inteligencie sú v súčasnosti veľké jazykové modely (LLM). Tieto modely využívajú strojové učenie bez dohľadu a sú trénované na obrovskom množstve textu s cieľom naučiť sa, ako funguje ľudský jazyk. Tieto texty zahŕňajú vedecké články, knihy, webové stránky a mnohé ďalšie.
Učenie posilňovaním (Reinforcement learning - RL) je princíp učenia, ktorý na posilnenie platných pravidiel a oslabenie neefektívnych alebo zlých pravidiel využíva spätnú väzbu z vyhodnotených výsledkov. V posilňovacom učení neexistujú žiadne označené údaje ako tréningové údaje, ale to neznamená, že neexistujú vôbec žiadne informácie o dohľade. Systém beží podľa programu posilneného učenia a po dosiahnutí požadovaného výsledku dáva signál nazývaný odmena. čo následne poskytuje spätnú väzbu na samotný tréning. RL je oblasť strojového učenia, ktorá kladie dôraz na to, ako sa správať na základe prostredia s cieľom maximalizovať očakávaný prínos. Myšlienka pochádza z behavioristickej teórie v psychológii, podľa ktorej si organizmus pri stimulácii odmenami alebo trestami poskytnutými z prostredia postupne vytvára očakávania podnetov, čo vedie k zvyčajnému správaniu a to má za následok maximalizáciu prínosu [O28].
Neurónové siete sú prostriedkom strojového učenia, pri ktorom sa počítač učí vykonávať určitú úlohu analýzou trénovaných príkladov. Zvyčajne sú príklady vopred manuálne označené. Napríklad systém na rozpoznávanie objektov môže dostať tisíce označených obrázkov áut, domov, šálok kávy atď. a nájde v nich vizuálne vzory, ktoré konzistentne korelujú s konkrétnymi označeniami.
Neurónová sieť, voľne modelovaná podľa ľudského mozgu, pozostáva z tisícov alebo dokonca miliónov jednoduchých spracovateľských uzlov, ktoré sú husto prepojené. Väčšina dnešných neurónových sietí je organizovaná do vrstiev uzlov a sú "feed-forward", čo znamená, že údaje sa v nich pohybujú len jedným smerom. Jednotlivý uzol môže byť prepojený s niekoľkými uzlami vo vrstve pod ním, z ktorých prijíma údaje, a s niekoľkými uzlami vo vrstve nad ním, do ktorých údaje posiela.
Každému zo svojich prichádzajúcich spojení uzol priradí číslo známe ako "váha". Keď je sieť aktívna, uzol prijíma cez každé svoje spojenie iný údaj - iné číslo - a vynásobí ho priradenou váhou. Potom výsledné súčiny sčíta a získa jedno číslo. Ak je toto číslo nižšie ako prahová hodnota, uzol nepostúpi žiadne údaje do ďalšej vrstvy. Ak číslo prekročí prahovú hodnotu, uzol "vystrelí", čo v dnešných neurónových sieťach vo všeobecnosti znamená, že pošle číslo - súčet vážených vstupov - pozdĺž všetkých svojich výstupných spojení.
Keď sa neurónová sieť trénuje, všetky jej váhy a prahové hodnoty sú na začiatku nastavené na náhodné hodnoty. Tréningové údaje sa privádzajú do spodnej vrstvy - vstupnej vrstvy - a prechádzajú nasledujúcimi vrstvami, pričom sa zložitým spôsobom násobia a sčítavajú, až nakoniec prídu radikálne transformované do výstupnej vrstvy. Počas trénovania sa váhy a prahové hodnoty neustále upravujú, až kým tréningové údaje s rovnakými značkami neprinesú podobné výstupy [O35].
Hlboké neurónové siete sa zvyčajne skladajú z viac ako jednej skrytej vrstvy, ktorá je usporiadaná do hlboko vnorených sieťových architektúr. Okrem toho zvyčajne obsahujú pokročilé neuróny na rozdiel od jednoduchých ANN. To znamená, že môžu používať pokročilé operácie (napr. konvolúcie) alebo viacnásobnú aktiváciu v jednom neuróne namiesto použitia jednoduchej aktivačnej funkcie. Tieto vlastnosti umožňujú, aby sa hlbokým neurónovým sieťam zadávali nespracované vstupné údaje a aby automaticky objavili reprezentáciu, ktorá je potrebná na príslušnú úlohu učenia. DL je obzvlášť užitočná v oblastiach s vysoko-dimenzionálnymi údajmi, a preto hlboké neurónové siete prekonávajú plytké ML algoritmy vo väčšine aplikácií, v ktorých je potrebné spracovať textové, obrazové, video, rečové a zvukové údaje [O38].