====== MLP (Multi-Layer Perceptron) ====== **MLP** je typ dopředné (feedforward) umělé [[it_encyklopedie:neuronova_sit|neuronové sítě]]. "Dopředná" znamená, že data proudí pouze jedním směrem – od vstupu k výstupu – bez smyček (na rozdíl od [[it_encyklopedie:rekurentni_neuronova_sit|RNN]]). MLP je považován za "univerzálního aproximátora", což znamená, že s dostatečným počtem neuronů dokáže napodobit téměř jakoukoli matematickou funkci. ===== 1. Struktura MLP ===== MLP se skládá minimálně ze tří vrstev uzlů (neuronů): * **Vstupní vrstva (Input Layer):** Přijímá surové příznaky z datasetu. * **Skrytá vrstva (Hidden Layer):** Jedna nebo více vrstev mezi vstupem a výstupem. Zde probíhá extrakce složitých vzorců. * **Výstupní vrstva (Output Layer):** Produkuje finální predikci (např. třídu nebo číselnou hodnotu). ===== 2. Klíčové inovace oproti perceptronu ===== Proč je MLP mnohem silnější než základní perceptron? * **Skryté vrstvy:** Umožňují síti vytvářet vnitřní reprezentace dat. Čím více vrstev, tím komplexnější vztahy dokáže síť zachytit. * **Nelineární aktivační funkce:** Zatímco původní perceptron používal jen "skokovou" funkci, MLP používá funkce jako **ReLU**, **Sigmoid** nebo **Tanh**. To mu umožňuje řešit problémy, které nejsou lineárně oddělitelné (např. slavný problém **XOR**). * **Algoritmus Backpropagation:** Mechanismus, který umožňuje efektivně trénovat více vrstev najednou tím, že chybu z výstupu "distribuuje" zpět ke všem váhám v síti. ===== 3. Jak probíhá výpočet? ===== Každé spojení mezi neurony má svou **váhu**. Proces probíhá následovně: 1. Neuron ve skryté vrstvě sečte všechny vážené vstupy a přičte **bias**. 2. Výsledek projde aktivační funkcí (např. $f(x) = \max(0, x)$ pro ReLU). 3. Tento výstup se stává vstupem pro neurony v další vrstvě. ===== 4. Použití v praxi ===== Ačkoliv jsou dnes pro obraz populární [[it_encyklopedie:cnn|CNN]] a pro text [[it_encyklopedie:transformer|Transformery]], MLP zůstává základem pro: * **Tabulková data:** Předpovídání cen nemovitostí, bankovní skóring, klasifikace zákazníků. * **Závěrečné vrstvy:** Většina moderních architektur (včetně CNN) končí jednou nebo více vrstvami MLP pro finální rozhodnutí. * **Komprese dat:** V rámci [[it_encyklopedie:autoencoder|autoencoderů]]. ===== Srovnání: Perceptron vs. MLP ===== ^ Vlastnost ^ Perceptron ^ MLP ^ | **Vrstvy** | Pouze vstupní a výstupní | Vstupní, skryté a výstupní | | **Rozhodovací hranice** | Vždy jen přímka (lineární) | Libovolně složitá křivka | | **Problém XOR** | Nedokáže vyřešit | Hravě vyřeší | | **Aktivační funkce** | Step function (0 nebo 1) | Spojité nelineární funkce | > **Zajímavost:** Teoreticky stačí MLP pouze **jedna** skrytá vrstva s dostatečným počtem neuronů k tomu, aby se naučil jakoukoli spojitou funkci. V praxi je však efektivnější mít více vrstev s méně neurony (tzv. "hluboké" sítě). [[it_encyklopedie:ai_rozcestnik|Zpět na AI rozcestník]]