perceptron a RBF, typické aktivační funkce neuronů a topologie neuronových sítí
Tento okruh vychází ze znalostí toho, co je to neuron a známe základní pojmy, jež se k neuronu vztahují. Tyto základní pojmy, společně s popisem neuronu lze najít v okruhu Neuronové sítě, základní pojmy.
Neuronová síť je tvořena z neuronů a vazeb mezi těmito neurony. Klasická neuronová síť se skládá ze tří typů vrstev:
vstupní vrstva:
tato vrstva zpracovává zadané vstupy
N skrytých vrstev:
každá z těchto vrstev přijímá jako vstupy výstupní hodnoty aktivačních funkcí předchozí vrstvy
ne vždy jsou potřeba skryté vrstvy, záleží na konkrétním typu neuronové sítě a toho, čeho chceme její aplikací dosáhnout
obecně platí, že pokud nemůžeme výstupy klasifikovat na základě lineární regrese, je potřeba použít skryté vrstvy
příklad rozhodnutí, zdali skrytou vrstvu použít, či nikoliv, je uveden zde
výstupní vrstva:
vstupy jsou výstupní hodnoty aktivačních funkcí předchozí vrstvy a výstupem je/jsou výsledky (počet výsledků odpovídá počtu neuronů ve výstupní vrstvě)
obr. 1: Příklad podoby neuronové sítě, kde se počet skrytých vrstev = 2
neobsahuje skrytou vrstvu, vstup je přímo napojený na výstup
vícevrstvá dopředná síť:
obsahuje jednu či více skrytých vrstev
síť se zpětnou vazbou/rekurentní neuronová síť
signál může proudi nejen dopředu, ale i do předchozích vrstev (tento okruh se zaobírá dopřednými neuronovými sítěmi, více o rekurentních sítích lze nalézt v okruhu Rekurentní neuronové sítě)
plně rekurentní síť:
každý neuron je propojený s každým a propojení fungují obousměrně jako vstup i výstup
Jordan síť:
výstupní vrstva je napojena na vstupní vrstvu sloužící jako zpětná vazba
obr. 2: Plně rekurentní topologie, kde se počet skrytých vrstev = 2
Účelem aktivační funkce je rozhodnout, jaká bude výstupní hodnota neuronu na základě hodnoty jeho vnitřního stavu. Každá aktivační funkce má své využití, některé aktivační funkce se hodí používat pouze v určitých vrstvách.
Rozebereme si následující druhy používaných aktivačních funkcí:
pokud máme na všech vrstvách lineární aktivační funkci, tak platí, že nezávisle na počtu vrstev je aktivační funkce výstupní vrstvy pouze lineární funkce vstupní vrstvy
použití:
pouze na jednom místě, například ve výstupní vrstvě
hodí se na řešení lineárně regresních problémů (dělení do kategorií)
nelineární funkce, na základě tvaru křivky a toho, že v intervalu \(<-2, 2>\) hodnoty \(y\) rostou velmi rychle lze vidět, že i malá změna \(x\) má velký vliv na výstupní hodnotu \(y\)
rozsah výstupních hodnot \(je <0, 1>\)
použití:
klasicky ve výstupní vrstvě binárních klasifikátorů, kde výsledek může být buď 0, nebo 1
výstupní hodnota této funkce se pohybuje mezi 0 a 1, funkce tedy může říct, že výstup je 1, pokud je spočtená hodnota větší než například 0,5.
jedná se o posunutou sigmoid funkci (často se využívá namísto této funkce)
rozsah výstupních hodnot je \(<-1, 1>\)
použití:
obvykle se využívá ve skrytých vrstvách
protože rozsah výstupu funkce je mezi -1 a 1, používá se ke stáhnutí středních hodnot k 0 a vycentrování dat, umožňuje tedy jednotlivým vrstvám jednodušší proces učení.
pokud je náš výstup v podobě binárního klasifikátoru, použijeme Sigmoid aktivační funkci pro výstupní vrstvu
pokud potřebujeme určit s jakou pravděpodobností data spadají do určité třídy a je techto tříd více (multi-class classification), použijeme Softmax aktivační funkci
pokud nevím, jakou funkci použít pro skrytou vrstvu, použiji RELU aktivační funkci, protože se momentálně jedná o nejvíce používanou aktivační funkci ve skrytých vrstvách
Modely neuronových sítí se mohou lišit buď topologií nebo postupem výpočtu vnitřního potenciálu neuronu. V tomto okruhu budou probírány dva z těchto modelů:
Jedná se o nejjednodušší model dopředné neuronové sítě. Zároveň se jedná i o matematický model biologického neuronu. Můžeme říct, že libovolný model je složený z perceptronů, ale pokud se koukáme na perceptron jako na samostatný model, jedná se o binární klasifikátor, který na základě vstupů spočte svůj vnitřní stav a svůj vnitřní stav předává jako argument aktivační funkci. Perceptron řeší lineárně separovatelné problémy. Pokud je třeba dělit do více tříd než dvou, používá se tzv. Multi-layer Perceptron, který mezi vstupní a výstupní vrstvou obsahuje další, skryté vrstvy.
Na rozdíl od neuronových sítích založených čistě na Perceptronech využívají RBF sítě RBF neurony.
RBF nepočítá svůj vnitřní stav jako součin vektorů vstupů a vah (w a x), ale má v sobě uložený jeden vektor z trénovací množiny, označený jako střed. Tyto středy se dají ideálně získat pomocí K-means algoritmu. Tento vektor (střed) se používá k měření Euklidovské vzdálenosti od vstupních vektorů. Výsledek poté pošle do aktivační funkce, která spočte, jak moc je aktuální vektor vstupů podobný středu.
aktivační funkce RBF neuronu je Gaussova funkce
obr. 12:Aktivační funkce RBF neuronu, kde x je jeho vnitřní stav
výstupem RBF aktivační funkce je hodnota, která určuje, jak moc je vstupní set podobny středu
tyto hodnoty se sečtou ve výstupní vrstvě
RBF neurony jsou náchylnější ke skončení v lokálním minimu, ale naopak umí dobře pracovat s odlehlými hodnotami - velké změny v parametrech neuronu způsobí malý posun u hodnot, jež jsou daleko od středu
RBF sítě mají obvykle jednu skrytou vrstvu, která obsahuje RBF neurony a lineární výstupní vrstvu
výstupem z celé této sítě je tedy skalární součin vektoru výstupu z RBF vrstvy a vah synapsí vedoucí ze skryté vrstvy do výstupní vrstvy
RBF se tedy liší od Multi-layer Perceptron sítě jinou aktivační funkcí a způsobem použití
obr. 13: RBF síť s jednou skrytou vrstvou (zelená), ve které se nacházejí RBF aktivační funkce (výstup těchto funkcí vede do výstupní vrstvy, která již nemusí být RBF)
Baeldung. Hidden Layers in a Neural Network. [online]. @2023 [cit. 2023-04-24]. Dostupné z: https://www.baeldung.com/cs/hidden-layers-neural-network
Great Lakes E-Learning Services Pvt. Ltd. Types of Neural Networks and Definition of Neural Network. [online]. @2023 [cit. 2023-04-24]. Dostupné z: https://www.mygreatlearning.com/blog/types-of-neural-networks/
Towards Data Science. Types of Neural Networks and Definition of Neural Network. [online]. @2023 [cit. 2023-04-24]. Dostupné z:
https://towardsdatascience.com/the-mostly-complete-chart-of-neural-networks-explained-3fb6f2367464
Wikipedia - Open encyclopedia. Radial basis function network. [online]. @2023 [cit. 2023-04-24]. Dostupné z: https://en.wikipedia.org/wiki/Radial_basis_function_network