Perceptron wielowarstwowy

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Perceptron wielowarstwowy (Szablon:Ang., 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ówSzablon:R.

Podstawy matematyczne

Perceptron wielowarstwowy można zapisać jako funkcjęSzablon:R:

y=f(x,θ)

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

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

gdzie:
n - numer warstwy sieci

Oprogramowanie

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

Zobacz też

Przypisy

Szablon:Przypisy