Czym * jest * sztuczna sieć neuronowa?

15

Zagłębiając się w literaturę o sieciach neuronowych , identyfikujemy inne metody z topologiami neuromorficznymi (architektury podobne do „sieci neuronowej”). I nie mówię o uniwersalnym twierdzeniu o aproksymacji . Przykłady podano poniżej.

Zastanawiam się: jaka jest definicja sztucznej sieci neuronowej? Wygląda na to, że jego topologia obejmuje wszystko.


Przykłady:

Jedną z pierwszych dokonanych przez nas identyfikacji jest między PCA a liniowym autoencoderem z wiązanymi wagami w enkoderze i dekoderze oraz progowymi aktywacjami w warstwie wąskiego gardła.

Również wspólna identyfikacja odbywa się między modelami liniowymi (w szczególności regresją logistyczną) a siecią neuronową bez ukrytej warstwy i pojedynczą warstwą wyjściową. Ta identyfikacja otwiera kilka drzwi.

Seria Fouriera i Taylora? ANNs . SVM ? ANN. Proces Gaussa? ANN (z pojedynczą ukrytą warstwą z nieskończonymi ukrytymi jednostkami).

Tak więc równie łatwo możemy włączyć dowolne regularne wersje ze specjalnymi funkcjami utraty tych algorytmów do struktury sieci neuronowej.

Ale im więcej kopiemy, tym więcej pojawia się podobieństw. Właśnie natknąłem się na drzewa decyzyjne Deep Neural , które umożliwiają identyfikację konkretnej architektury ANN z drzewami decyzyjnymi, pozwalając na naukę ich za pomocą metod ANN (takich jak backpropagacja gradientu zejścia). Na tej podstawie możemy konstruować losowe lasy i drzewka decyzyjne wzmocnione gradientem wyłącznie z topologii sieci neuronowych.

Jeśli wszystko można wyrazić jako sztuczną sieć neuronową, co definiuje sztuczną sieć neuronową?

Firebug
źródło
Ten artykuł na temat drzew decyzyjnych o głębokich neuronach jest dość daleko. Zwykle funkcje aktywacyjne to funkcje o wartościach rzeczywistych, a nie produkty zewnętrzne. Więc tak naprawdę nie dyskutują o ANN, jak zwykle o nich myślimy, ale matematyczne uogólnienie, które nie jest powszechnie używane ani akceptowane. Aby pokazać SSN jest inna niż drzewa decyzyjnego, chciałbym po prostu podkreślić, że wszystkie SSN są parametryczne (mają skończoną przestrzeń parametrów), podczas gdy drzewa są nieparametryczny (mają potencjalnie nieskończonej przestrzeni parametrów.)
olooney
@olooney produkt Kronecker nie jest funkcją aktywacyjną, jest to po prostu operacja na wyjściach poprzedniej warstwy (jak splot lub dowolna inna operacja, którą definiujemy nad aktywacjami). DNDT może reprezentować dowolne drzewo decyzyjne, A każdy DNDT może być reprezentowany przez drzewo decyzyjne.
Firebug,
1
@olooney, zgodnie z definicją funkcji aktywacji, Softmax nie jest funkcją aktywacji.
Firebug,
2
Nie jestem do końca pewien, czy rozumiem motywację tego pytania. Możliwą, luźną definicją ANN jest to, że jest to ukierunkowany model graficzny, który wykorzystuje neurony (tj. Funkcje aktywacyjne) do przetwarzania danych wejściowych / wyjściowych i przez większość czasu używasz spadku gradientu do jego trenowania. Kiedy mówisz, że „wszystko można wyrazić jako ANN”, czy pytasz konkretnie, czy istnieje dokładne odwzorowanie między wspomnianymi innymi modelami a ANN? Problem polega na tym, że musisz wymyślić wysoce zmodyfikowane procedury treningowe, aby dopasować je do optymalizacji.
Alex R.
1
@Sycorax Ja też tak robię, zarówno on, jak i Hinton zasugerowali to. Chcę dać możliwość odpowiadającym w innym obozie, aby zapewnić wiarygodne źródła :)
Firebug

Odpowiedzi:

6

Jürgen Schmidhuber, „ Głębokie uczenie się w sieciach neuronowych: przegląd ” śledzi historię kluczowych pojęć w sieciach neuronowych i głębokim uczeniu się. Jego zdaniem wydaje się, że sieci neuronowe obejmują zasadniczo każdy model, który można scharakteryzować jako graf kierunkowy, w którym każdy węzeł reprezentuje pewną jednostkę obliczeniową. Schmidhuber jest wybitnym badaczem sieci neuronowych i napisał oryginalny artykuł na temat sieci LSTM z Seppem Hochreiterem.

Jakie modyfikowalne elementy systemu uczenia się są odpowiedzialne za jego sukces lub porażkę? Jakie zmiany w nich poprawiają wydajność? Nazywa się to podstawowym problemem przydziału kredytów (Minsky, 1963). Istnieją ogólne metody przypisywania punktów dla uniwersalnych rozwiązywania problemów, które są optymalne czasowo w różnych sensach teoretycznych (rozdz. 6.8). Obecne badanie skupi się jednak na węższym, ale obecnie ważnym handlowo, podpolu Deep Learning (DL) w sztucznych sieciach neuronowych (NN).

Standardowa sieć neuronowa (NN) składa się z wielu prostych połączonych procesorów zwanych neuronami, z których każdy wytwarza sekwencję aktywacji o wartościach rzeczywistych. Neurony wejściowe są aktywowane przez czujniki postrzegające środowisko, inne neurony są aktywowane przez ważone połączenia z wcześniej aktywnych neuronów (szczegóły w Rozdziale 2). Niektóre neurony mogą wpływać na środowisko, wywołując działania. Nauka lub zaliczenie polega na znalezieniu ciężarów, które sprawiają, że NN wykazuje pożądane zachowanie, takie jak prowadzenie samochodu. W zależności od problemu i sposobu połączenia neuronów takie zachowanie może wymagać długich łańcuchów przyczynowych etapów obliczeniowych (rozdział 3), w których każdy etap przekształca (często w sposób nieliniowy) agregację aktywacji sieci. Głębokie uczenie się polega na dokładnym przypisywaniu punktów na wielu takich etapach.

Modele płytkie NN z kilkoma takimi etapami istnieją od wielu dziesięcioleci, jeśli nie stuleci (rozdział 5.1). Modele z kilkoma kolejnymi nieliniowymi warstwami neuronów pochodzą co najmniej z lat 60. (Sec. 5.3) i 1970. (Sec. 5.5). W latach 60. i 70. XX wieku opracowano wydajną metodę zejścia gradientowego do opartego na nauczycielach nadzorowanego uczenia się (SL) w dyskretnych, zróżnicowanych sieciach o dowolnej głębokości, zwanych propagacją wsteczną (BP), i zastosowano je w NN w 1981 r. (Sec. 5.5). Jednak szkolenie oparte na BP głębokich NN o wielu warstwach okazało się trudne w praktyce pod koniec lat 80. (rozdział 5.6), a stało się wyraźnym przedmiotem badań na początku lat 90. (rozdział 5.9). DL stało się praktycznie wykonalne w pewnym stopniu dzięki pomocy Unsupervised Learning (UL), np. Sec. 5.10 (1991), Sec. 5.15 (2006). Lata 90. i 2000. przyniosły również wiele ulepszeń w zakresie czysto nadzorowanego DL (rozdział 5). W nowym tysiącleciu głębokie sieci NN w końcu przyciągnęły szeroką uwagę, głównie poprzez lepsze wyniki w alternatywnych metodach uczenia maszynowego, takich jak maszyny jądra (Vapnik, 1995; Scholkopf i in., 1998) w wielu ważnych zastosowaniach. W rzeczywistości od 2009 r. Nadzorowane głębokie NN wygrały wiele oficjalnych międzynarodowych konkursów rozpoznawania wzorców (np. Sek. 5.17, 5.19, 5.21, 5.22), osiągając pierwsze nadludzkie wizualne rozpoznawanie wzorców w ograniczonych domenach (Sec. 5.19, 2011). Głębokie NN stały się również istotne dla bardziej ogólnej dziedziny uczenia się przez wzmacnianie (RL), gdzie nie ma nauczyciela nadzorującego (sekcja 6). głównie przez lepsze wyniki niż alternatywne metody uczenia maszynowego, takie jak maszyny jądra (Vapnik, 1995; Scholkopf i in., 1998) w wielu ważnych zastosowaniach. W rzeczywistości od 2009 r. Nadzorowane głębokie NN wygrały wiele oficjalnych międzynarodowych konkursów rozpoznawania wzorców (np. Sek. 5.17, 5.19, 5.21, 5.22), osiągając pierwsze nadludzkie wizualne rozpoznawanie wzorców w ograniczonych domenach (Sec. 5.19, 2011). Głębokie NN stały się również istotne dla bardziej ogólnej dziedziny uczenia się przez wzmacnianie (RL), gdzie nie ma nauczyciela nadzorującego (sekcja 6). głównie przez lepsze wyniki niż alternatywne metody uczenia maszynowego, takie jak maszyny jądra (Vapnik, 1995; Scholkopf i in., 1998) w wielu ważnych zastosowaniach. W rzeczywistości od 2009 r. Nadzorowane głębokie NN wygrały wiele oficjalnych międzynarodowych konkursów rozpoznawania wzorców (np. Sek. 5.17, 5.19, 5.21, 5.22), osiągając pierwsze nadludzkie wizualne rozpoznawanie wzorców w ograniczonych domenach (Sec. 5.19, 2011). Głębokie NN stały się również istotne dla bardziej ogólnej dziedziny uczenia się przez wzmacnianie (RL), gdzie nie ma nauczyciela nadzorującego (sekcja 6). osiągnięcie pierwszego nadludzkiego wizualnego rozpoznawania wzorów skutkuje ograniczonymi domenami (Sec. 5.19, 2011). Głębokie NN stały się również istotne dla bardziej ogólnej dziedziny uczenia się przez wzmacnianie (RL), gdzie nie ma nauczyciela nadzorującego (sekcja 6). osiągnięcie pierwszego nadludzkiego wizualnego rozpoznawania wzorów skutkuje ograniczonymi domenami (Sec. 5.19, 2011). Głębokie NN stały się również istotne dla bardziej ogólnej dziedziny uczenia się przez wzmacnianie (RL), gdzie nie ma nauczyciela nadzorującego (sekcja 6).

Z drugiej strony nie jestem pewien, czy koniecznie opłaca się zbudować systematykę wykluczających się wzajemnie segmentów strategii uczenia maszynowego. Myślę, że możemy powiedzieć, że istnieją perspektywy, z których modele można postrzegać jako sieci neuronowe. Nie sądzę, aby ta perspektywa była najlepsza lub przydatna we wszystkich kontekstach. Na przykład nadal planuję odnosić się do przypadkowych lasów i drzew o podwyższonym gradiencie jako „zestawach drzew” zamiast abstrahować od ich różnic i nazywać je „drzewami sieci neuronowej”. Co więcej, Schmidhuber odróżnia NN od maszyn jądra - mimo że maszyny jądra mają pewne powiązania z NN - kiedy pisze: „W nowym tysiącleciu głębokie sieci NN w końcu przyciągnęły szeroką uwagę, głównie przez lepsze wyniki niż alternatywne metody uczenia maszynowego, takie jak maszyny jądra ... w wielu ważnych zastosowaniach. „

Sycorax mówi Przywróć Monikę
źródło
Więc w zasadzie każdy model i heurystyka znana w dzisiejszym uczeniu maszynowym i statystyce zostałaby uznana przez Schmidhubera za ANN, a charakterystyczna nomenklatura jest po prostu podana w strategii optymalizacji (w tym modele bez optymalizacji)?
Firebug,
1
Rozumiem to z praktycznego punktu widzenia, ale to nie zmienia faktu, że prawie każdy model jest, ściśle mówiąc, ANN (nie mogę myśleć o żadnym pojedynczym modelu, który nie jest).
Firebug
2
@Firebug W jaki sposób sformatowałbyś regresję lub (zwykłe k-średnie i inne) problemy związane z grupowaniem, które są szkolone lub umieszczane w „środowisku uczenia się”, tak aby były one zgodne z definicją ANN?
Sextus Empiricus
1
@ Firebug Nie rozumiem, w jaki sposób fakt, że PCA może być równoważny z określonym autoencoderem, czyni PCA „siecią neuronową”. W standardowym PCA nie korzystamy nawet z opadania gradientu.
ameba mówi Przywróć Monikę
1
@ Firebug Jeśli zdefiniujesz „NN” jako „połączone węzły obliczeniowe”, to chyba jakiekolwiek obliczenie jest NN. Nie jestem pewien, czy to się przyda, ale dobrze.
ameba mówi Przywróć Monikę
7

Jeśli chcesz podstawową definicję ANN, możesz powiedzieć, że jest to ukierunkowany model graficzny, w którym dane wejściowe i wyjściowe są przetwarzane w każdym węźle za pomocą funkcji aktywacyjnej, a większość gradientu czasu jest wykorzystywana do trenowania go. Tak naprawdę powstaje pytanie: jakie modele można wyrazić jako modele graficzne?

Nie jestem ekspertem, ale uważam, że teoretycznie niektóre ANN mogą być wykazane jako kompletne Turinga, co oznacza, że ​​powinni być w stanie wykonać każdy możliwy zestaw obliczeń (z możliwą nieskończoną liczbą zasobów, pamiętajcie).

Zinterpretuję również twoje pytanie w następujący sposób:

Czy w przypadku dowolnego modelu mogę spasować razem model ANN, aby naśladować ten model, jak najbliżej i w rozsądnym czasie?

Waniliowa sieć neuronowa może naśladować drzewo decyzyjne, stosując intensywne aktywacje krokowe. Problem polega na tym, że takie aktywacje jednostek mają zerowy gradient, więc normalne opadanie gradientu nie będzie działać. Możesz powiedzieć: „nie ma problemu, po prostu użyj zmodyfikowanej formy opadania gradientu”. To jednak wciąż za mało. Dla lepszego przykładu weźmy coś takiego jak XGBOOST, który nie jest tylko lasem o podwyższonym gradiencie. Jest mnóstwo dodatkowej pracy, która polega na wybieraniu punktów podziału, przycinaniu, optymalizacji prędkości itp. Może po wystarczających modyfikacjach możesz zrobić podobnie wyglądający ANN, ale wcale nie jest jasne, że taki ANN zadziałałby przynajmniej tak jak cóż, ani jeśli jest zoptymalizowany do wykonania pracy.

fa(x)=mix

Alex R.
źródło
2
Dziękuję za odpowiedź! Jeśli chodzi o pytanie - "For any given model, can I slap together an ANN model to emulate that model, as close as possible, and in a reasonable amount of time?"- boję się powiedzieć, że nie o to chodzi. Chodzi o to, że topologia ANN jest tak ogólna, że ​​wydaje się obejmować wszystko, a strategia optymalizacji nie wydaje się być w stanie określić, co jest, a co nie jest ANN. Dlatego pytanie, co definiuje ANN? Ponieważ inaczej wszystko jest w pewnym sensie ANN wyrażone innymi słowami.
Firebug
1
"A vanilla neural network can emulate a decision tree, by using heaviside step-activations. The problem is that such unit activations have zero gradient, so normal gradient descent won't work. You might say, "no problem, just use a modified form of gradient descent." However, that's still not enough. [...]"- Jak moglibyśmy stwierdzić, optymalizacja nie jest czynnikiem determinującym definicję tego, co stanowi ANN. Jeśli potrafisz napisać każde drzewo decyzyjne jako sieć neuronową (i możemy to zrobić), możemy śmiało powiedzieć, że DT są (rodzajem) NN, podczas gdy odwrotność nie jest prawdziwa.
Firebug,
"If you want a basic definition of an ANN, you might say that it's a directed-graphical-model, where inputs and outputs are processed at each node via an activation function, and most of the time gradient descent is used to train it. So the question really becomes: what models out there can be expressed as graphical models?"- Zgadzam się z tym. Następnie „sieć neuronowa” może być interpretowana jako najbardziej ogólna klasa modeli, być może tylko mniej ogólna niż „modele wykresów”, które stanowią nadzbiór zarówno modeli bezkierunkowych, jak i kierunkowych. Być może mógłbyś rozwinąć więcej na ten temat;)
Firebug
2

Być może dokładniejszą nazwą dla ANN są „sieci różniczkowalne”, tj. Złożone sparametryzowane funkcje, które można zoptymalizować za pomocą spadku gradientu lub jego wariantu. Jest to bardzo ogólna definicja, która kładzie nacisk na zróżnicowanie, ale nie mówi nic o głównych ideach, zadaniach, do których jest ona odpowiednia, podstawowych ramach matematycznych itp.

Zauważ, że zróżnicowanie jest cechą, a niekoniecznie główną. Na przykład, SVM można trenować przy użyciu opadania gradientu, a zatem wykazuje właściwości sieci neuronowej / różnicowalnej, ale główną ideą jest separacja danych za pomocą hiperpłaszczyzn. Autoencoder wariacyjny używa MLP dla kodera i dekodera, ale funkcja, którą optymalizujesz, pochodzi ze statystyk bayesowskich i tak dalej.

Istnieje również kilka modeli, które są często nazywane sieciami neuronowymi, ale nie używają GD do nauki. Dobrym przykładem jest RBM. Domyślam się, że etykieta „sieć neuronowa” została do niej dołączona głównie ze względów historycznych - ostatecznie twórcą RBM jest Geoffrey Hinton, a Hinton jest facetem z sieci neuronowej, prawda? Jeśli jednak przeanalizujesz model, zobaczysz, że struktura RBM jest siecią Markowa, oparta na energii funkcja kosztów pochodzi z fizyki statystycznej z początku XX wieku, a próbkowanie MCMC / Gibbs rozwijało się równolegle i całkowicie niezależnie od sieci neuronowych .

przyjaciel
źródło
2
Nauka gradientowa z pewnością odegrała istotną rolę w sukcesie ANN. Jednak nie uważam, aby zróżnicowanie było niezbędne dla definicji, ponieważ niektóre ANN nie są zróżnicowane. Na przykład w pierwszym ANN (model McCulloch-Pitts) zastosowano binarne jednostki progowe. Obecny temat badawczy dotyczy sposobu uczenia się w nieróżniących się ANN, takich jak sieci szczytowe. Albo załóżmy, że zaczynamy od typowego, różniczkowalnego ANN, ale następnie deklarujemy, że chcemy zminimalizować funkcję nieodróżnialnej straty. Czy to już nie jest ANN?
user20160,
Właśnie dlatego zaproponowałem alternatywną definicję obejmującą sieci typu feed-up, rekurencyjne, rekurencyjne, splotowe, autokodery, VAE, GAN, uwagę i wiele innych modeli, które zwykle nazywamy „sieciami neuronowymi”, ale wyklucza np. Podejścia oparte na symulacji ludzkiego mózgu lub obszerne pobieranie próbek z PGM. Od 2018 r. Te podejścia są naprawdę różne, wykorzystują różne metody optymalizacji, różne biblioteki itp. (Chociaż nie mogę wymyślić lepszej nazwy niż „sieć neuronowa” dla sieci wzbogacających, ponieważ w przeciwieństwie do CNN lub RNN, w rzeczywistości symulują człowieka mózg).
zaprzyjaźnij się
1

Mogę spróbować postulować pewne rzeczy, które pomagają zdefiniować sieć neuronową.

  • Wykres obliczeniowy z regulowanymi parametrami.
  • Wymienione parametry można dostosować do danych (rzeczywistych lub symulowanych).
  • Funkcja celu, która ma zostać zoptymalizowana, jest zaangażowana pośrednio lub jawnie. Może być globalny lub lokalny dla parametrów.

Jestem prawie pewien, że obejmuje to wszystkie powszechnie używane dziś sieci neuronowe, a także niektóre ezoteryczne.

Jest to niezależne od optymalizacji (gdybyśmy narzucili optymalizację opartą na gradiencie, wówczas sieci rozwinięte nie byłyby sieciami neuronowymi).

Nie wspominają o neuronach / węzłach ani warstwach (niektóre sieci neuronowe są dziś ledwo opisane przez te terminy), ale myślę, że moglibyśmy uwzględnić to i być nieco bardziej restrykcyjni.

Firebug
źródło