Perceptron wielowarstwowy

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. Warstwa wyjściowa może składać się z neuronów liniowych (w przypadku regresji) lub neuronów nieliniowych (w przypadku klasyfikacji). Trenowanie sieci typu MLP możliwe jest dzięki zastosowaniu metody wstecznej propagacji błędów. [1]

Perceptron wielowarstwowy w przeciwieństwie do perceptronu jednowarstwowego może być wykorzystywany do klasyfikowania zbiorów, które nie są liniowo separowalne [2]. Sieć MLP w swojej podstawowej wersji jest siecią, w której nie ma sprzężenia zwrotnego, w przeciwieństwie do sieci zwanych sieciami rekurencyjnymi[3]. Na bazie sieci MLP zbudowane są splotowe sieci neuronowe, służące do rozpoznawania obrazów[3].

Podstawy matematyczne

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

y = f ( x , θ ) {\displaystyle y=f(x,\theta )}

gdzie:
y {\displaystyle y} - wyjście sieci,
x {\displaystyle x} - wejście sieci,
θ {\displaystyle \theta } - parametry (wagi) określone podczas uczenia się sieci

Sieć neuronowa zwana jest siecią ponieważ składa się z wielu warstw. Funkcja f {\displaystyle f} z powyższego wzoru jest tak naprawdę złożeniem wielu funkcji:
f ( x ) = f ( n ) ( f ( 3 ) ( f ( 2 ) ( f ( 1 ) ( x ) ) ) ) {\displaystyle f(x)=f^{(n)}(\ldots f^{(3)}(f^{(2)}(f^{(1)}(x))))}

gdzie:
n {\displaystyle n} - 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

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