Perceptron
Z Wikipedii
Perceptron - sieć neuronowa najprostszego typu. Pojęcie to stosowane jest zamiennie do określenia sieci składającej się z:
- pojedynczego neuronu McCullocha-Pittsa
- pewnej liczby neuronów wejściowych, których wyjścia połączone są z wejściami pewnej liczby neuronów wyjściowych; mimo iż ten typ perceptronów bywa nazywany perceptronem dwuwarstwowym, zwykle określa się go mianem perceptronu jednowarstwowego, ponieważ właściwą warstwą dokonującą sumowania i obliczania wyjścia według wartości funkcji aktywacji jest tylko warstwa druga
- wielu warstw neuronów, gdzie wyjścia poprzedniej warstwy łączą się z wejściami kolejnej; są to tak zwane perceptrony wielowarstwowe.
Działanie perceptronu polega na klasyfikowaniu danych pojawiających się na wejściu i ustawianiu stosownie do tego wartości wyjścia. Przed używaniem perceptron należy wytrenować podając mu przykładowe dane na wejście i modyfikując w odpowiedni sposób wagi wejść i połączeń między warstwami neuronów, tak aby wartość na wyjściu przybierała pożądane wartości.
Perceptrony mogą klasyfikować dane na zbiory, które są liniowo separowalne. Własność ta uniemożliwia na przykład wytrenowanie złożonego z jednego neuronu perceptronu, który wykonywałby logiczną operację XOR na wartościach wejść.
Pojęcie perceptronu zostało wprowadzone przez Franka Rosenblatta w roku 1958. Perceptron zbudowany przez niego wraz z Charlesem Wightmanem był częściowo elektromechanicznym, częściowo elektronicznym urządzeniem, którego przeznaczeniem było rozpoznawanie znaków alfanumerycznych. Innowacją było tu zastosowanie procesu uczenia się jako metody programowania systemu. W roku 1969 Marvin Minsky i Seymour Papert wykazali ograniczenia perceptronów, co spowodowało długotrwały impas w pracach nad sztucznymi sieciami neuronowymi.
[edytuj] Ograniczenia perceptronu
Jeśli potraktujemy wejście X oraz wyjście Y jako wektory liczb rzeczywistych, to warstwa neuronów zachowuje się jako macierz N:
- Y = NX
Działanie każdej kolejnej wartstwy można przedstawić jako kolejne mnożenie przez pewną macierz:
- Y = N5N4N3N2N1X
Wszystkie te mnożenia można zastąpić mnożeniem przez jedną macierz:
- N * = N5N4N3N2N1
- Y = N * X
A zatem sieć perceptronowa o dowolnie wielu warstwach potrafi wykonywać tylko te operacje, które potrafi wykonać sieć złożona z jednej warstwy neuronów – a jest to bardzo mało. Nie znaczy to jednak że wielowarstwowe perceptrony są pozbawione sensu – chociaż już działający perceptron wielowarstwowy można zastąpić jednowarstwowym, to sposób w jaki taka sieć się uczy jest zupełnie inny.
Sytuacja zmienia się całkowicie jeśli po każdej warstwie wstawimy jakąś funkcję nieliniową, taką jak:
- f(x) = 1 jeśli x > 1, f(x) = 0 w przeciwnym wypadku
- f(x) = 1 jeśli x > 1, f(x) = x jeśli 1 > x > 0, f(x) = 0 w przeciwnym wypadku
- itd.
Takie sieci neuronowe potrafią obliczać znacznie bardziej skomplikowane funkcje. Na przykład poniższa sieć neuronowa wylicza funkcję XOR:
- Wejścia: x1 i x2
- Neuron 1: y1 = 2x1 − 2x2
- Funkcja nieliniowa po neuronie 1: z1 = 1 jeśli y1 > 1, 0 w przeciwnym wypadku
- Neuron 2: y2 = 2x2 − 2x1
- Funkcja nieliniowa po neuronie 2: z2 = 1 jeśli y2 > 1, 0 w przeciwnym wypadku
- Neuron 3: w = 2z1 + 2z2
- Funkcja nieliniowa po neuronie 3: v = 1 jeśli w > 1, 0 w przeciwnym wypadku
| Wejścia | Wyjścia warstwy 1 | Po funkcji nieliniowej | Wyjścia warstwy 2 | Po funkcji nieliniowej (ostateczny wynik) | |||
|---|---|---|---|---|---|---|---|
| x1 | x2 | y1 | y2 | z1 | z2 | w | v |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | -2 | 2 | 0 | 1 | 2 | 1 |
| 1 | 0 | 2 | -2 | 1 | 0 | 2 | 1 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Termin apelacji Karadżicia minął |
O północy z piątku na sobotę minął ostateczny termin odwoływania się od ekstradycji do Trybunału ONZ zatrzymanego w poniedziałek w Belgradzie przywódcy bośniackich Serbów Radovana Karadżicia.
|
| Włosi drżą przed imigrantami |
Stały napływ nielegalnych imigrantów nie na żarty przestraszył włoski rząd. W związku z tym, tamtejsze władze ogłosiły w piątek stan kryzysowy na terenie całego kraju.
|
| Uczył studentów jak godnie umierać |
Zmarł Randy Pausch, niezwykły wykładowca amerykańskiego uniwersytetu, który przekonywał swoich studentów, że umieranie nie jest tragedią. Chory na raka naukowiec zyskał popularność dzięki opublikowanemu w internecie wykładowi, podczas którego robił pompki i śmiał się ze zbliżającej śmierci.
|
| Z maczetami na uchodźców |
23 osoby zostały ranne po tym, jak kilkudziesięciu mężczyzn zaatakowało mieszkańców ośrodka dla uchodźców w Norwegii. Napastnicy mieli przy sobie metalowe pręty i maczety.
|
| Setki osób uciekają przed powodzią |
Ponad 300 osób zostało ewakuowanych po tym, jak ulewne deszcze spowodowały powodzie w północno-wschodniej Rumunii. Woda uszkodziła drogi, mosty i linie energetyczne.
|
O północy z piątku na sobotę minął ostateczny termin odwoływania się od ekstradycji do Trybunału ONZ zatrzymanego w poniedziałek w Belgradzie przywódcy bośniackich Serbów Radovana Karadżicia.
Stały napływ nielegalnych imigrantów nie na żarty przestraszył włoski rząd. W związku z tym, tamtejsze władze ogłosiły w piątek stan kryzysowy na terenie całego kraju.
Zmarł Randy Pausch, niezwykły wykładowca amerykańskiego uniwersytetu, który przekonywał swoich studentów, że umieranie nie jest tragedią. Chory na raka naukowiec zyskał popularność dzięki opublikowanemu w internecie wykładowi, podczas którego robił pompki i śmiał się ze zbliżającej śmierci.
23 osoby zostały ranne po tym, jak kilkudziesięciu mężczyzn zaatakowało mieszkańców ośrodka dla uchodźców w Norwegii. Napastnicy mieli przy sobie metalowe pręty i maczety.
Ponad 300 osób zostało ewakuowanych po tym, jak ulewne deszcze spowodowały powodzie w północno-wschodniej Rumunii. Woda uszkodziła drogi, mosty i linie energetyczne.