Sieć neuronowa ze sprzężeniem do przodu — Feedforward neural network

W sieci typu feedforward informacje zawsze poruszają się w jednym kierunku; nigdy się nie cofa.

Wyprzedzającego sieć neuronowa jest sztucznej sieci neuronowej , w którym połączenia pomiędzy węzłami są nie tworzą cykl. Jako taki różni się od swojego potomka: rekurencyjnych sieci neuronowych .

Sieć neuronowa ze sprzężeniem do przodu była pierwszym i najprostszym rodzajem sztucznej sieci neuronowej. W tej sieci informacje poruszają się tylko w jednym kierunku — do przodu — od węzłów wejściowych, przez węzły ukryte (jeśli występują) i do węzłów wyjściowych. W sieci nie ma cykli ani pętli.

Perceptron jednowarstwowy

Najprostszym rodzajem sieci neuronowej jest jednowarstwowa sieć perceptronowa , która składa się z pojedynczej warstwy węzłów wyjściowych; wejścia są podawane bezpośrednio na wyjścia poprzez szereg odważników. Suma iloczynów wag i wejść jest obliczana w każdym węźle, a jeśli wartość jest powyżej pewnego progu (zazwyczaj 0), neuron odpala i przyjmuje aktywowaną wartość (zazwyczaj 1); w przeciwnym razie przyjmuje dezaktywowaną wartość (zwykle -1). Neurony z tego rodzaju funkcją aktywacji nazywane są również neuronami sztucznymi lub jednostkami progu liniowego . W literaturze termin perceptron często odnosi się do sieci składających się tylko z jednej z tych jednostek. Podobny neuron został opisany przez Warrena McCullocha i Waltera Pittsa w latach 40. XX wieku.

Perceptron można utworzyć przy użyciu dowolnych wartości dla stanów aktywowanych i dezaktywowanych, o ile wartość progowa znajduje się między nimi.

Perceptrony można wytrenować za pomocą prostego algorytmu uczenia, który zwykle nazywa się regułą delta . Oblicza błędy między obliczonymi danymi wyjściowymi a danymi wyjściowymi próbki i wykorzystuje je do stworzenia korekty wag, realizując w ten sposób formę opadania gradientu .

Perceptrony jednowarstwowe są zdolne do uczenia się tylko liniowo rozdzielonych wzorów; w 1969 roku w znanej monografii uprawnione perceptrony , Marvin Minsky i Seymour Papert wykazała, że było to niemożliwe dla pojedynczej warstwy perceptron sieci do uczenia się funkcji XOR (niemniej, wiadomo było, że perceptrony wielowarstwowe są w stanie wyprodukować każdą możliwą funkcję logiczną ).

Chociaż pojedyncza jednostka progowa ma dość ograniczoną moc obliczeniową, wykazano, że sieci równoległych jednostek progowych mogą aproksymować dowolną funkcję ciągłą od zwartego przedziału liczb rzeczywistych do przedziału [-1,1]. Ten wynik można znaleźć u Petera Auera, Haralda Burgsteinera i Wolfganga Maassa „Zasada uczenia się dla bardzo prostych uniwersalnych aproksymatorów składających się z pojedynczej warstwy perceptronów”.

Jednowarstwowa sieć neuronowa może obliczyć wynik ciągły zamiast funkcji krokowej . Częstym wyborem jest tzw. funkcja logistyczna :

Dzięki temu wyborowi sieć jednowarstwowa jest identyczna z modelem regresji logistycznej , szeroko stosowanym w modelowaniu statystycznym . Funkcja logistyczna należy do rodziny funkcji zwanych funkcjami sigmoidalnymi, ponieważ ich wykresy w kształcie litery S przypominają małą literę grecką literę Sigma . Ma pochodną ciągłą, co pozwala na zastosowanie go w propagacji wstecznej . Ta funkcja jest również preferowana, ponieważ jej pochodną można łatwo obliczyć:

.

(Fakt, że spełnia powyższe równanie różniczkowe, można łatwo wykazać, stosując regułę łańcucha .)

Jeśli funkcja aktywacji jednowarstwowej sieci neuronowej to modulo 1, to sieć ta może rozwiązać problem XOR z pojedynczym neuronem.

Perceptron wielowarstwowy

Dwuwarstwowa sieć neuronowa zdolna do obliczania XOR. Liczby w neuronach reprezentują wyraźny próg każdego neuronu (który można wyliczyć, aby wszystkie neurony miały ten sam próg, zwykle 1). Liczby opisujące strzałki reprezentują wagę danych wejściowych. Ta sieć zakłada, że ​​jeśli próg nie zostanie osiągnięty, wyprowadzane jest zero (nie -1). Zauważ, że dolna warstwa wejść nie zawsze jest uważana za prawdziwą warstwę sieci neuronowej

Ta klasa sieci składa się z wielu warstw jednostek obliczeniowych, zwykle połączonych w sposób wyprzedzający. Każdy neuron w jednej warstwie ma skierowane połączenia do neuronów kolejnej warstwy. W wielu aplikacjach jednostki tych sieci stosują funkcję sigmoidalną jako funkcję aktywacji.

Uniwersalny przybliżenie twierdzenie dla sieci neuronowe państw, że każda funkcja ciągła, która odwzorowuje przedziały liczb rzeczywistych do pewnego przedziału liczb rzeczywistych wyjścia mogą być dowolnie ściśle przybliżona przez wielowarstwową perceptron z tylko jedną warstwą ukrytą. Wynik ten dotyczy szerokiego zakresu funkcji aktywacji, np. funkcji sigmoidalnych.

Sieci wielowarstwowe wykorzystują różne techniki uczenia się, z których najpopularniejszą jest propagacja wsteczna . Tutaj wartości wyjściowe są porównywane z poprawną odpowiedzią, aby obliczyć wartość jakiejś predefiniowanej funkcji błędu. Za pomocą różnych technik błąd jest następnie przesyłany z powrotem przez sieć. Wykorzystując te informacje, algorytm dostosowuje wagi każdego połączenia w celu zmniejszenia wartości funkcji błędu o pewną niewielką wartość. Po powtórzeniu tego procesu przez wystarczająco dużą liczbę cykli uczących, sieć zwykle zbiega się do pewnego stanu, w którym błąd obliczeń jest niewielki. W tym przypadku można by powiedzieć, że sieć nauczyła się pewnej funkcji docelowej. Aby właściwie dopasować wagi, stosuje się ogólną metodę optymalizacji nieliniowej, którą nazywa się gradientem . W tym celu sieć oblicza pochodną funkcji błędu względem wag sieci i zmienia wagi w taki sposób, aby błąd się zmniejszał (a tym samym schodząc w dół na powierzchni funkcji błędu). Z tego powodu propagację wsteczną można stosować tylko w sieciach o zróżnicowanych funkcjach aktywacji.

Ogólnie rzecz biorąc, problem uczenia sieci, aby działała dobrze, nawet na próbkach, które nie były używane jako próbki szkoleniowe, jest dość subtelną kwestią, wymagającą dodatkowych technik. Jest to szczególnie ważne w przypadkach, w których dostępna jest tylko bardzo ograniczona liczba próbek szkoleniowych. Niebezpieczeństwo polega na tym, że sieć przepełnia dane treningowe i nie potrafi uchwycić prawdziwego procesu statystycznego generującego dane. Teoria uczenia komputerowego dotyczy uczenia klasyfikatorów na ograniczonej ilości danych. W kontekście sieci neuronowych prosta heurystyka , zwana wczesnym zatrzymaniem , często zapewnia, że ​​sieć będzie dobrze uogólniać na przykłady nie znajdujące się w zbiorze uczącym.

Inne typowe problemy algorytmu wstecznej propagacji błędów to szybkość zbieżności i możliwość znalezienia się w lokalnym minimum funkcji błędu. Obecnie istnieją praktyczne metody, dzięki którym propagacja wsteczna w wielowarstwowych perceptronach jest narzędziem z wyboru dla wielu zadań uczenia maszynowego .

Można również użyć serii niezależnych sieci neuronowych moderowanych przez jakiegoś pośrednika, podobnie jak w mózgu. Neurony te mogą wykonywać rozłącznie i obsłużyć duże zadanie, a wyniki można ostatecznie połączyć.

Inne sieci typu feedforward

Mówiąc bardziej ogólnie, dowolny skierowany graf acykliczny może być użyty dla sieci ze sprzężeniem do przodu, z niektórymi węzłami (bez rodziców) oznaczonymi jako wejścia i niektórymi węzłami (bez dzieci) oznaczonymi jako wyjścia. Można je postrzegać jako sieci wielowarstwowe, w których niektóre krawędzie pomijają warstwy, odliczając warstwy wstecz od wyjść lub w przód od wejść. Można stosować różne funkcje aktywacji i mogą istnieć relacje między wagami, jak w splotowych sieciach neuronowych .

Przykłady innych sieci ze sprzężeniem do przodu obejmują promieniowe sieci z funkcją bazową , które wykorzystują inną funkcję aktywacji.

Czasami perceptron wielowarstwowy jest używany luźno w odniesieniu do dowolnej sieci neuronowej ze sprzężeniem do przodu, podczas gdy w innych przypadkach jest on ograniczony do określonych (np. z określonymi funkcjami aktywacji lub z całkowicie połączonymi warstwami lub wytrenowany przez algorytm perceptronu).

Zobacz też

Bibliografia

Linki zewnętrzne