Perceptron wielowarstwowy - Multilayer perceptron

Perceptron wielowarstwowy ( MLP ) jest klasą wyprzedzającego sieci neuronowej sztucznego (ANN). Termin MLP jest używany niejednoznacznie, czasami luźno, aby oznaczać dowolną sprzężeniową sieć ANN, czasami wyłącznie w odniesieniu do sieci złożonych z wielu warstw perceptronów (z aktywacją progową); patrz § Terminologia . Perceptrony wielowarstwowe są czasami potocznie określane jako „waniliowe” sieci neuronowe, zwłaszcza gdy mają pojedynczą ukrytą warstwę.

MLP składa się z co najmniej trzech warstw węzłów: wejście warstwy , ukryty warstwy oraz wyjście warstwy . Z wyjątkiem węzłów wejściowych, każdy węzeł jest neuronem, który wykorzystuje nieliniową funkcję aktywacji . MLP wykorzystuje do treningu technikę nadzorowanego uczenia się zwaną propagacją wsteczną . Wielowarstwowość i nieliniowa aktywacja odróżniają MLP od perceptronu liniowego . Potrafi rozróżniać dane, których nie można oddzielić liniowo .

Teoria

Funkcja aktywacji

Jeśli perceptron wielowarstwowy ma liniową funkcję aktywacji we wszystkich neuronach, to znaczy funkcję liniową, która odwzorowuje ważone wejścia na wyjście każdego neuronu, to algebra liniowa pokazuje, że dowolną liczbę warstw można zredukować do dwuwarstwowego wejścia. model wyjściowy. W MLP niektóre neurony wykorzystują nieliniową funkcję aktywacji, która została opracowana w celu modelowania częstotliwości potencjałów czynnościowych lub odpalania neuronów biologicznych.

Dwie historycznie powszechne funkcje aktywacji są sigmoidami i są opisane przez

.

W ostatnich rozwojem głęboko uczenia się prostownik jednostce liniowej (Relu) jest coraz częściej wykorzystywany jako jeden z możliwych sposobów przezwyciężenia numerycznych problemów związanych z sigmoids.

Pierwszy to tangens hiperboliczny w zakresie od -1 do 1, a drugi to funkcja logistyczna o podobnym kształcie, ale w zakresie od 0 do 1. Oto wynik węzła (neuron) i jest to suma ważona połączeń wejściowych. Zaproponowano alternatywne funkcje aktywacji, w tym funkcje prostownika i softplus . Bardziej wyspecjalizowane funkcje aktywacji obejmują radialne funkcje bazowe (stosowane w radialnych sieciach bazowych , innej klasie nadzorowanych modeli sieci neuronowych).

Warstwy

MLP składa się z co najmniej trzech warstw (warstwa wejściowa i wyjściowa z co najmniej jedną warstwą ukrytą ) nieliniowo aktywujących się węzłów. Ponieważ MLP są w pełni połączone, każdy węzeł w jednej warstwie łączy się z określoną wagą z każdym węzłem w następnej warstwie.

Uczenie się

Uczenie odbywa się w perceptronie poprzez zmianę wag połączeń po przetworzeniu każdej części danych, w oparciu o wielkość błędu na wyjściu w porównaniu z oczekiwanym wynikiem. Jest to przykład uczenia nadzorowanego , który jest realizowany poprzez wsteczną propagację , uogólnienie algorytmu najmniejszych średnich kwadratów w perceptronie liniowym.

Możemy przedstawić stopień błędu w węźle wyjściowym w punkcie danych (przykład uczący) przez , gdzie jest wartością docelową i jest wartością wytworzoną przez perceptron. Wagi węzłów można następnie dostosować na podstawie poprawek, które minimalizują błąd w całym wyniku, podany przez

.

Korzystając z gradientu , zmiana każdej wagi wynosi

gdzie jest wyjściem poprzedniego neuronu i jest współczynnikiem uczenia , który jest wybrany w celu zapewnienia, że ​​wagi szybko zbiegają się do odpowiedzi, bez oscylacji.

Obliczona pochodna zależy od indukowanego pola lokalnego , które samo się zmienia. Łatwo wykazać, że dla węzła wyjściowego pochodną tę można uprościć do

gdzie jest pochodną funkcji aktywacji opisanej powyżej, która sama w sobie się nie zmienia. Analiza jest trudniejsza w przypadku zmiany wag na ukryty węzeł, ale można wykazać, że odpowiednią pochodną jest

.

Zależy to od zmiany wag węzłów, które reprezentują warstwę wyjściową. Tak więc, aby zmienić wagi ukrytej warstwy, wagi warstwy wyjściowej zmieniają się zgodnie z pochodną funkcji aktywacji, a więc ten algorytm reprezentuje propagację wsteczną funkcji aktywacji.


Terminologia

Termin „perceptron wielowarstwowy” nie odnosi się do pojedynczego perceptronu, który ma wiele warstw. Zawiera raczej wiele perceptronów zorganizowanych w warstwy. Alternatywą jest „wielowarstwowa sieć perceptronowa”. Ponadto „perceptrony” MLP nie są perceptronami w najściślejszym możliwym sensie. Prawdziwe perceptrony są formalnie szczególnym przypadkiem sztucznych neuronów, które wykorzystują funkcję progową aktywacji, taką jak funkcja kroku Heaviside'a . Perceptrony MLP mogą wykorzystywać dowolne funkcje aktywacji. Prawdziwy perceptron dokonuje klasyfikacji binarnej , neuron MLP może przeprowadzić klasyfikację lub regresję, w zależności od jego funkcji aktywacji.

Termin „perceptron wielowarstwowy” został później zastosowany bez względu na charakter węzłów/warstw, które mogą składać się z dowolnie zdefiniowanych sztucznych neuronów, a nie konkretnie z perceptronów. Ta interpretacja pozwala uniknąć rozluźnienia definicji „perceptronu” w znaczeniu ogólnego sztucznego neuronu.

Aplikacje

MLP są przydatne w badaniach ze względu na ich zdolność do stochastycznego rozwiązywania problemów, co często pozwala na przybliżone rozwiązania niezwykle złożonych problemów, takich jak aproksymacja sprawności .

MLP są uniwersalnymi aproksymatorami funkcji, jak pokazuje twierdzenie Cybenko , więc mogą być używane do tworzenia modeli matematycznych poprzez analizę regresji. Ponieważ klasyfikacja jest szczególnym przypadkiem regresji, gdy zmienna odpowiedzi jest kategoryczna , MLP tworzą dobre algorytmy klasyfikujące.

MLPS były popularnym rozwiązaniem uczenie maszynowe w 1980 roku, znajdując zastosowanie w różnych dziedzinach, takich jak rozpoznawanie mowy , rozpoznawanie obrazów i tłumaczenia maszynowego oprogramowania, ale potem w obliczu silnej konkurencji ze znacznie prostsze (i pokrewnych) maszyn wektorów nośnych . Zainteresowanie sieciami backpropagation powróciło dzięki sukcesom głębokiego uczenia .

Bibliografia

Zewnętrzne linki