Przejdź do zawartości

Perceptron wielowarstwowy

Z Wikipedii, wolnej encyklopedii

Perceptron wielowarstwowy (ang. Multilayer Perceptron, 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[1]. Na bazie sieci MLP zbudowane są splotowe sieci neuronowe, służące do rozpoznawania obrazów[1].

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.[2]

Perceptron wielowarstwowy w przeciwieństwie do perceptronu jednowarstwowego może być wykorzystywany do klasyfikowania zbiorów, które nie są liniowo separowalne[3].

Podstawy matematyczne

[edytuj | edytuj kod]

Perceptron wielowarstwowy można zapisać jako funkcję[1]:

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

[edytuj | edytuj kod]

Perceptron wielowarstwowy może być łatwo zdefiniowany oraz wytrenowany przy użyciu wysokopoziomowych bibliotek języka Python takich jak:

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. a b c Ian Goodfellow, Yoshua Bengio, Aaron Courville: Deep learning.
  2. Ryszard Tadeusiewicz, Maciej Szaleniec: Leksykon sieci neuronowych.
  3. Stephen Marsland: Machine Learning : an algorithmic perspective. ISBN 978-1-4665-8328-3.