Neuronové sítě, jak vlastně fungují?

Leccos je dnes ovlivněno neuronovými sítěmi, naše aplikace pro komunikaci, různé algoritmy personalizace, které nám dokážou kdykoliv doporučit to co zrovna hledáme, ale i v lékařství, kde neuronové sítě úspěšně detekují nádory a další rakovinotvorné onemocnění. Ale jak tyto algoritmy fungují? A jak to že tak silně ovlivnily směřování moderního světa?

Proč je vůbec máme?

S postupem vývoje počítačů (na které jsem tady také měl článek), se i začaly ztěžovat úlohy které měly samotné počítače řešit. Např. jak chceme takový počítač naučit předpovídat cenu zlata tím že analyzuje předchozí roky? Toto s naším „hloupým“ počítačem nesvedeme, pokud teda nepoužijeme statistiku. Pojďme si ale nejdříve ukázat nějaké rozdělení těchto algoritmů

Machine learning, Deep learning a Reinforcement learning

zdroj: https://www.edureka.co/blog/ai-vs-machine-learning-vs-deep-learning/

Samotný proces tohoto „učení“, se dělí do několik částí, a to: extrakce příznaků, následné vytvoření testovací a trénovacího a testovacího datasetu, natrénování algoritmu a otestování jak moc efektivní je. Dataset je množina dat ze kterých se algoritmus učí, data obsahují input a output (který by měl na trénovacích datech vyhodit)

Deep learning
Machine learning
* tyto problémy vysvětlím v dalším článku
Reinforcement learning

Reinforcement learning (v češtině zpětnovazební učení) je speciální druh trénování umělé inteligence. Tomuto tématu se budu věnovat v jiném článku, protože věřím že zrovna tento speciální případ učení si to zaslouží, takže zde pouze napíšu stručný úvod.

Tento styl trénování je inspirován psychologií, právě díky tomu, že člověk za svůj život dostane hodně kritiky (ať už objektivní nebo ne), která dokáže ovlivnit jeho chování. Na podobném principu funguje zpětnovazební učení, dáme do jakéhosi virtuálního prostředí náš algoritmus, a následně ho necháme aby začal dělat několik náhodných rozhodnutí, která mu buď dají pozitivní body, nebo negativní body. Díky tomuto dokážeme modelovat vývoj dostatečně inteligentního organismu

Supervised vs Unsupervised learning

Supervised

Supervised learning (v češtině učení s učitelem) je v případě problému klasifikace nebo regrese. Každý prvek v datasetu má předem daný vstup a výstup aby se dokázal algoritmus natrénovat na těchto prvcích a následně dělat vlastní klasifikace/predikce. Většinou jsou efektivnější než Unsupervised metody, ale zase potřebují korekturu od člověka.

Unsupervised

Unsupervised learning (v češtině učení bez učitele) je v případě problému clusteringu, redukcí dimenze. Zde dáme algoritmu data bez žádných dalších specifikacích, přičemž algoritmus musí sám zjistit vztahy mezi danými hodnotami. Tyto algoritmy nevyžadují korekturu od člověka, ale zase nejsou tolik efektivní.

A teď k Neuronové síti samotné...

Zdroj: https://towardsdatascience.com/perceptron-the-artificial-neuron-4d8c70d5cc8d

Základní stavební prvek neuronové sítě je neuron (v obrázku je Perceptron, avšak princip je stejný), neurony jsou provázané dohromady do neuronové sítě. Ve vstupu má neuron předchozí výstupy neuronů

Zdroj: https://becominghuman.ai/multi-layer-perceptron-mlp-models-on-real-world-banking-data-f6dd3d7e998f