Perceptron to Definicja terminu, cechy, zastosowanie

Spisu treści:

Perceptron to Definicja terminu, cechy, zastosowanie
Perceptron to Definicja terminu, cechy, zastosowanie
Anonim

W uczeniu maszynowym perceptron to nadzorowany algorytm uczenia dla klasyfikatorów binarnych. Jest również często nazywany perceptronem. Klasyfikator binarny to funkcja, która może decydować, czy dane wejściowe reprezentowane przez wektor liczb należy do określonej klasy. Jest to rodzaj klasyfikatora liniowego, czyli algorytmu klasyfikacji, który dokonuje predykcji w oparciu o funkcję predykcyjną liniową, która łączy zestaw wag z wektorem cech.

Wzory perceptronu
Wzory perceptronu

W ostatnich latach sztuczne sieci neuronowe zyskały na popularności dzięki postępom w uczeniu głębokim. Ale czym jest sztuczna sieć neuronowa i z czego się składa?

Poznaj Perceptron

W tym artykule przyjrzymy się ogólnie sztucznym sieciom neuronowym, następnie przyjrzymy się pojedynczemu neuronowi i na koniec (to jest część kodująca) przyjrzymy się najbardziej podstawowej wersji sztucznej neuron, perceptron i klasyfikuje jego punkty nasamolot.

Czy kiedykolwiek zastanawiałeś się, dlaczego istnieją zadania, które są tak łatwe dla każdej osoby, a niezwykle trudne dla komputerów? Sztuczne sieci neuronowe (w skrócie ANN) zostały zainspirowane ludzkim ośrodkowym układem nerwowym. Podobnie jak ich biologiczny odpowiednik, SNN są zbudowane na prostych elementach przetwarzania sygnału, które są połączone w dużą siatkę.

Sieci neuronowe muszą się uczyć

W przeciwieństwie do tradycyjnych algorytmów, sieci neuronowych nie można „zaprogramować” ani „dostroić” do działania zgodnie z przeznaczeniem. Podobnie jak ludzki mózg, muszą nauczyć się wykonywać zadanie. Ogólnie rzecz biorąc, istnieją trzy strategie uczenia się.

Najłatwiejszy sposób można zastosować, jeśli istnieje przypadek testowy (wystarczająco duży) ze znanymi wynikami. Następnie szkolenie przebiega tak: przetwórz jeden zestaw danych. Porównaj wynik ze znanym wynikiem. Skonfiguruj sieć i spróbuj ponownie. To jest strategia uczenia się, której będziemy tutaj używać.

Nauka nienadzorowana

Przydatne, jeśli nie ma dostępnych danych testowych i jeśli możliwe jest wyprowadzenie jakiejś funkcji kosztu z pożądanego zachowania. Funkcja kosztu informuje sieć neuronową, jak daleko jest od celu. Sieć może wtedy dostosowywać swoje parametry w locie, pracując z rzeczywistymi danymi.

Wzmocniona nauka

Metoda „kija i marchewki”. Może być używany, jeśli sieć neuronowa generuje ciągłe działanie. Z biegiem czasu sieć uczy się preferować właściwe działania i unikać niewłaściwych.

Dobra, teraz wiemy trochę osztuczne sieci neuronowe, ale z czego są zrobione? Co zobaczymy, jeśli otworzymy pokrywę i zajrzymy do środka?

Neurony to elementy składowe sieci neuronowych. Głównym elementem każdej sztucznej sieci neuronowej jest sztuczny neuron. Nie tylko noszą nazwy swoich biologicznych odpowiedników, ale są również modelowane na podstawie zachowania neuronów w naszych mózgach.

Biologia kontra technologia

Tak jak neuron biologiczny ma dendryty do odbierania sygnałów, ciało komórki do ich przetwarzania i akson do wysyłania sygnałów do innych neuronów, tak sztuczny neuron ma wiele kanałów wejściowych, etap przetwarzania i jedno wyjście, które może rozgałęziają się na wiele innych. sztuczne neurony.

Czy możemy zrobić coś pożytecznego z jednym perceptronem? Istnieje klasa problemów, które może rozwiązać pojedynczy perceptron. Rozważ wektor wejściowy jako współrzędne punktu. Dla wektora z n-elementami ten punkt będzie żył w przestrzeni n-wymiarowej. Aby uprościć życie (i poniższy kod), załóżmy, że jest to 2D. Jak kartka papieru.

Następnie wyobraź sobie, że rysujemy losowe punkty na tej płaszczyźnie i dzielimy je na dwa zestawy, rysując prostą linię w poprzek papieru. Linia ta dzieli punkty na dwa zestawy, jeden powyżej i jeden poniżej linii. Te dwa zestawy są następnie nazywane liniowo separowanymi.

Jeden perceptron, bez względu na to, jak prosty może się wydawać, jest w stanie wiedzieć, gdzie jest ta linia, a po zakończeniu treningu może określić, czy dany punkt znajduje się powyżej lub poniżej tej linii.

Historiawynalazki

Algorytm tej metody został wynaleziony w 1957 roku w Cornell Aviation Laboratory przez Franka Rosenblatta (często nazwanego jego imieniem), finansowanym przez Biuro Badań Marynarki Wojennej Stanów Zjednoczonych. Perceptron miał być maszyną, a nie programem, i chociaż jego pierwsza implementacja była w oprogramowaniu dla IBM 704, została następnie zaimplementowana na niestandardowym sprzęcie jako „Mark 1 Perceptron”. Ta maszyna została zaprojektowana do rozpoznawania obrazów: miała układ 400 fotokomórek losowo połączonych z neuronami. Wagi były zakodowane w potencjometrach, a aktualizację wagi podczas treningu wykonywały silniki elektryczne.

Na konferencji prasowej zorganizowanej przez marynarkę wojenną Stanów Zjednoczonych w 1958 roku Rosenblatt wypowiedział się na temat perceptronu, który wywołał gorącą debatę wśród młodej społeczności AI; w oparciu o twierdzenia Rosenblatta, New York Times doniósł, że perceptron jest „zarodkowym komputerem elektronicznym, który zgodnie z oczekiwaniami Marynarki Wojennej będzie w stanie chodzić, rozmawiać, widzieć, pisać, rozmnażać się i być świadomym swojego istnienia”.

Segmenty perceptronu
Segmenty perceptronu

Dalsze zmiany

Chociaż perceptron początkowo wydawał się obiecujący, szybko udowodniono, że perceptronów nie można wytrenować w rozpoznawaniu wielu klas wzorców. Doprowadziło to do stagnacji w dziedzinie badań z sieciami neuronowymi perceptronu na wiele lat, zanim uznano, że sieć neuronowa ze sprzężeniem do przodu z dwiema lub więcej warstwami (zwana równieżperceptron wielowarstwowy) miał znacznie większą moc przetwarzania niż perceptrony jednowarstwowe (zwane również perceptronami jednowarstwowymi). Perceptron jednowarstwowy jest w stanie badać jedynie struktury dające się oddzielić liniowo. W 1969 roku słynna książka „Perceptrons” autorstwa Marvina Minsky'ego i Seymour Paperta wykazała, że te klasy sieci nie mogą nauczyć się funkcji XOR. Nie dotyczy to jednak nieliniowych funkcji klasyfikacji, które mogą być używane w perceptronie jednowarstwowym.

Perceptron Rosenblatt
Perceptron Rosenblatt

Użycie takich funkcji rozszerza możliwości perceptronu, w tym implementację funkcji XOR. Często zakłada się (błędnie), że założyli również, że podobny wynik będzie miał zastosowanie dla wielowarstwowej sieci perceptronowej. Jednak tak nie jest, ponieważ zarówno Minsky, jak i Papert wiedzieli już, że wielowarstwowe perceptrony są w stanie wytworzyć funkcję XOR. Trzy lata później Steven Grossberg opublikował serię artykułów prezentujących sieci zdolne do modelowania funkcji różniczkowych, funkcji wzmocnienia kontrastu i funkcji XOR.

Prace zostały opublikowane w 1972 i 1973 roku. Jednak często pomijany tekst Minsky/Papert spowodował znaczny spadek zainteresowania i finansowania badań nad perceptronem sieci neuronowej. Minęło kolejne dziesięć lat, zanim badania sieci neuronowych zostały wznowione w latach 80.

Funkcje

Algorytm jądra Perceptronu został wprowadzony w 1964 roku przez Yzermana i in. Mori i Rostamizadeh (2013), którzy rozszerzają poprzednie wyniki i podają nowe granice L1.

Perceptron to uproszczony model neuronu biologicznego. Podczas gdy złożoność biologicznych modeli neuronowych jest często wymagana do pełnego zrozumienia zachowań neuronowych, badania pokazują, że liniowy model podobny do perceptronu może indukować niektóre zachowania obserwowane w prawdziwych neuronach.

Perceptron jest klasyfikatorem liniowym, więc nigdy nie przejdzie w stan, w którym wszystkie wektory wejściowe są poprawnie sklasyfikowane, jeśli zbiór uczący D nie jest liniowo separowany, tj. jeśli pozytywne przykłady nie mogą być oddzielone od negatywnych przykładów hiperpłaszczyzną. W takim przypadku żadne „przybliżone” rozwiązanie nie przejdzie krok po kroku przez standardowy algorytm uczenia, zamiast tego nauka całkowicie się nie powiedzie. Dlatego też, jeśli liniowa rozdzielność zbioru uczącego nie jest znana a priori, należy użyć jednej z poniższych opcji uczących.

Relacje z perceptronem
Relacje z perceptronem

Algorytm kieszonkowy

Algorytm kieszeni zapadkowej rozwiązuje problem odporności perceptronu na uczenie się, utrzymując najlepsze dotychczas znalezione rozwiązanie „w kieszeni”. Następnie algorytm kieszeni zwraca rozwiązanie w kieszeni, a nie ostatnie rozwiązanie. Może być również używany do nierozłącznych zbiorów danych, w których celem jest znalezienie perceptronu z kilkoma błędnymi klasyfikacjami. Jednak rozwiązania te wyglądają stochastycznie i stąd algorytm kieszonkowy do nich nie pasuje.stopniowo w trakcie szkolenia i nie ma gwarancji, że zostaną wykryte po określonej liczbie etapów szkolenia.

Algorytm Maxover

Algorytm Maxovera jest „solidny” w tym sensie, że będzie zbieżny niezależnie od wiedzy o liniowej rozdzielności zbioru danych. W przypadku podziału liniowego rozwiąże to problem uczenia się, opcjonalnie nawet przy optymalnej stabilności (maksymalny margines między zajęciami). W przypadku nierozłącznych zestawów danych zostanie zwrócone rozwiązanie z niewielką liczbą błędnych klasyfikacji. We wszystkich przypadkach algorytm stopniowo zbliża się do rozwiązania podczas procesu uczenia, bez zapamiętywania poprzednich stanów i bez przypadkowych skoków. Konwergencja polega na globalnej optymalności wspólnych zbiorów danych i lokalnej optymalności nierozdzielnych zbiorów danych.

równanie perceptronu
równanie perceptronu

Głosowany perceptron

Algorytm głosowanego perceptronu to wariant wykorzystujący wiele ważonych perceptronów. Algorytm uruchamia nowy perceptron za każdym razem, gdy przykład jest błędnie sklasyfikowany, inicjując wektor wag końcowymi wagami ostatniego perceptronu. Każdemu perceptronowi zostanie również przypisana inna waga, odpowiadająca liczbie przykładów, które poprawnie zaklasyfikowały przed błędną klasyfikacją jednego, a na końcu wynikiem będzie głos ważony w całym perceptronie.

Aplikacja

W przypadku problemów, które można rozdzielić, trening perceptronów może mieć również na celu znalezienie największej granicy separacji między klasami. Tak zwaneOptymalny perceptron stabilności można określić za pomocą iteracyjnych schematów treningu i optymalizacji, takich jak algorytm Min-Over lub AdaTron. AdaTron wykorzystuje fakt, że odpowiedni problem optymalizacji kwadratowej jest wypukły. Perceptron optymalnej stabilności, wraz ze sztuczką jądra, stanowi koncepcyjną podstawę maszyny wektorów nośnych.

Perceptron wielowarstwowy
Perceptron wielowarstwowy

Alternatywna

Innym sposobem rozwiązywania nieliniowych problemów bez używania wielu warstw jest użycie sieci wyższego rzędu (blok sigma-pi). W tego typu sieci każdy element wektora wejściowego jest rozszerzany przez każdą kombinację par zwielokrotnionych wejść (drugiego rzędu). Można to rozszerzyć na sieć n-order. Perceptron to bardzo elastyczna rzecz.

Pamiętaj jednak, że najlepszy klasyfikator to niekoniecznie ten, który dokładnie klasyfikuje wszystkie dane treningowe. Rzeczywiście, gdybyśmy mieli wcześniejsze ograniczenie, że dane pochodzą z równowariantowych rozkładów Gaussa, liniowy podział w przestrzeni wejściowej jest optymalny, a rozwiązanie nieliniowe jest pomijane.

Inne algorytmy klasyfikacji liniowej obejmują Winnow, wektor wsparcia i regresję logistyczną. Perceptron to uniwersalny zestaw algorytmów.

Rosyjskie tłumaczenie schematu
Rosyjskie tłumaczenie schematu

Główny zakres nadzorowanego uczenia się

Nadzorowane uczenie się to zadanie uczenia maszynowego, które uczy się funkcji mapującej dane wejściowe na dane wyjściowena podstawie przykładów par I/O. Wnioskują cechę z oznaczonych danych treningowych składających się z zestawu przykładów. W uczeniu nadzorowanym każdy przykład to para składająca się z obiektu wejściowego (zwykle wektora) i żądanej wartości wyjściowej (nazywanej również sygnałem sterującym).

Algorytm nadzorowanego uczenia analizuje dane treningowe i tworzy szacunkową funkcję, której można użyć do wyświetlenia nowych przykładów. Optymalny scenariusz umożliwiłby algorytmowi poprawne określenie etykiet klas dla niewidocznych instancji. Wymaga to od algorytmu uczenia się uogólniania danych uczenia się na niewidzialne sytuacje w „rozsądny” sposób.

Równoległe zadanie w psychologii ludzi i zwierząt jest często nazywane uczeniem konceptualnym.

Zalecana: