Perceptron wielowarstwowy (, MLP) – najpopularniejszy typ sztucznych sieci neuronowych. Sieć tego typu składa się zwykle z jednej warstwy wejściowej, kilku warstw ukrytych oraz jednej warstwy wyjściowej. Warstwy ukryte składają się najczęściej z neuronów McCullocha-Pittsa. Ustalenie właściwej liczby warstw ukrytych oraz liczby neuronów znajdujących się w poszczególnych warstwach jest trudnym zagadnieniem, które musi rozwiązać twórca sieci neuronowej (dla nowych zagadnień dokonuje się tego metodą prób, patrząc jakie odpowiedzi daje sieć na wyjściach i porównując z wynikami oczekiwanymi, przy czym istotne jest, by unikać efektu nadmiernego dopasowania; zagadnienia te porusza też artykuł zbiór uczący, walidacyjny i testowy).
Sieć MLP w swojej podstawowej wersji jest siecią, w której nie ma sprzężenia zwrotnego, w przeciwieństwie do sieci zwanych sieciami rekurencyjnymi. Na bazie sieci MLP zbudowane są splotowe sieci neuronowe, służące do rozpoznawania obrazów.
Gdy sieć służy do liczenia zagadnień regresji, to jej neurony maja liniowe funkcje aktywacji. Gdy zaś sieć służy do klasyfikacji danych wejściowych, to jej neurony mają nieliniowe funkcje aktywacji; wtedy trenowanie sieci odbywa się z zastosowaniem metody wstecznej propagacji błędów.
Perceptron wielowarstwowy w przeciwieństwie do perceptronu jednowarstwowego może być wykorzystywany do klasyfikowania zbiorów, które nie są liniowo separowalne.
Podstawy matematyczne Perceptron wielowarstwowy można zapisać jako funkcję:
gdzie: - wyjście sieci, - wejście sieci, - parametry (wagi) określone podczas uczenia się sieci
Sieć neuronowa zwana jest siecią ponieważ składa się z wielu warstw. Funkcja z powyższego wzoru jest tak naprawdę złożeniem wielu funkcji:
gdzie: - numer warstwy sieci
Oprogramowanie Perceptron wielowarstwowy może być łatwo zdefiniowany oraz wytrenowany przy użyciu wysokopoziomowych bibliotek języka Python takich jak: Keras Lasagne
Zobacz też Perceptron
Przypisy
Kategoria:Sieci neuronowe