Jaka jest różnica między siecią neuronową, systemem głębokiego uczenia się i siecią głębokich przekonań?


23

Jaka jest różnica między siecią neuronową, systemem głębokiego uczenia się i siecią głębokich przekonań?

O ile pamiętam, twoja podstawowa sieć neuronowa jest czymś w rodzaju 3 warstw, a Deep Belief Systems opisałem jako sieci neuronowe ułożone jedna na drugiej.

Do niedawna nie słyszałem o Deep Learning Systems, ale mocno podejrzewam, że jest to synonim Deep Belief System. Czy ktoś może to potwierdzić?



Deep Belief System, to termin, na który wpadłem, mogą być lub nie być synonimami (wyszukiwarka Google wyrzuci artykuły dotyczące Deep Belief System)
Lyndon White

Deep Belief Network to nazwa kanoniczna, ponieważ wywodzą się z Deep Boltzmann Network (i może to być mylące z systemem propagacji przekonań, który jest zupełnie inny, ponieważ dotyczy sieci bayesowskich i teorii decyzji probabilistycznych).
wredny

@Gaborous Deep Belief Network to poprawna nazwa (dokument, który przed laty przedstawiałam im, musiał mieć literówkę). ale jeśli chodzi o pochodzenie z głębokich sieci boltzmańskich, sama nazwa jest niekanoniczna (AFAIK, cieszę się z cytatu). DBN wywodzą się z Sigmoid Belief Networks i skumulowanych RBM. Nie sądzę, żeby kiedykolwiek używano terminu Deep Boltzmann Network. Z drugiej strony Deep Boltzmann Machine to termin używany, ale Deep Boltzmann Machines zostały stworzone po Deep Belief Networks
Lyndon White,

@Oxinabox Masz rację, zrobiłem literówkę, to Deep Boltzmann Machines, chociaż naprawdę powinno to się nazywać Deep Boltzmann Network (ale wtedy akronim byłby taki sam, więc może dlatego). Nie wiem, która głęboka architektura została wymyślona jako pierwsza, ale maszyny Boltzmanna są wcześniej niż częściowo ograniczone BM. DBN i DBM są w rzeczywistości tą samą konstrukcją, z tym wyjątkiem, że sieć bazowa używana jako warstwa powtarzalna to SRBM vs BM.
wredny

Odpowiedzi:


10

modele sztucznych sieci neuronowych były generalnie ograniczone do kilku warstw, powiedzmy 3, przez dziesięciolecia, z różnych powodów, w tym dowodu matematycznego o nazwie Kolmogorovs thm, który wskazywał, że mogą teoretycznie aproksymować dowolne funkcje z niskim błędem (ale tylko z wieloma neuronami).

sieci wielowarstwowe poza tym nie były wykonalne / skuteczne za pomocą technik wcześniejszego uczenia się. podobny przełom nastąpił w 2006 r. przez 3 różnych badaczy Hintona, Le Cuna i Bengio, którzy byli w stanie trenować znacznie więcej warstw. głównym problemem w tym obszarze było rozpoznawanie pisma ręcznego.

termin „sieć głębokich przekonań” wydaje się pochodzić z artykułu Hintona z 2006 r., odnoszącego się do sieci bayesowskich , które mają bliskie koncepcyjne / teoretyczne powiązania / analogie z sieciami neuronowymi. „Algorytm szybkiego uczenia się dla sieci głębokiego przekonania”

patrz slajd 17 w szczególności tej prezentacji głębokie sieci neuronowe

tak więc dziedzina głębokiego uczenia się ma zaledwie około dec dekady i jest przedmiotem szybkich badań i rozwoju. Google, Facebook, Yahoo ogłosiły inicjatywy oparte na głębokim uczeniu się, a prace badawczo-rozwojowe trwają.


strona poświęcona głębokiemu uczeniu się przez badaczy w tej dziedzinie
vzn

14

Sztuczne sieci neuronowe to klasa algorytmów, które zawierają wiele różnych rodzajów algorytmów opartych na grafach, więc nie będę tutaj szczegółowo omawiał tego, o co prosiłeś, ponieważ jest zbyt wiele do powiedzenia, ponieważ istnieje wiele rodzajów ANN.

Pierwszy rodzaj sztucznych sieci neuronowych, słynne neurony McCulloch-Pitts, były liniowe , co oznacza, że ​​mogły one rozwiązywać jedynie liniowe problemy decyzyjne (tj. Zestawy danych, które można było liniowo oddzielić poprzez narysowanie linii). Z czasem ten liniowy model sieci neuronowej stał się znany jako Perceptron lub Adaline (w zależności od sposobu obliczania aktualizacji wag).

Liniowe sieci neuronowe składają się właśnie z dwustronnego grafu, w którym lewe węzły boczne są wejściami, a prawa strona węzłami wyjściowymi. Uczone są tylko wagi krawędzi między tymi węzłami (próg aktywacji węzłów można również regulować, ale jest to rzadko wykonywane).

Podstawowa sieć neuronowa, taka jak Adaline lub Perceptron (bez ukrytej warstwy) Liniowa granica decyzji

Duży krok został zrobiony, gdy wynaleziono płytkie sieci neuronowe: zamiast mieć tylko wykres dwustronny, używamy grafu 3-stronnego: wejściowej „warstwy”, wyjściowej „warstwy” i jednej „ukrytej warstwy” między nimi. Dzięki ukrytej warstwie sieć może teraz podejmować nieliniowe decyzje i rozwiązywać problemy, takie jak kanoniczny XOR.

Sieć neuronowa Xor Ścieżki aktywacji przykładowej sieci neuronowej Granica decyzji sieci Xor

Należy zauważyć, że termin „płytki” wymyślono retrospektywnie, gdy wynaleziono głęboką sieć neuronową (zwaną także sieciami neuronowymi n-warstwowymi ). Ma to przeciwstawić się sieciom neuronowym z tylko jedną ukrytą warstwą, z głębokimi sieciami neuronowymi z n ukrytymi warstwami . Jak można się domyślić, użycie bardziej ukrytych warstw pozwala decydować o bardziej złożonych zestawach danych, ponieważ istnieje więcej warstw do modulowania decyzji (innymi słowy, zwiększasz wymiar granicy decyzji, co może prowadzić do przeregulowania).

N-warstwowa sieć neuronowa Złożona nieliniowa granica decyzyjna z wykorzystaniem głębokiej sieci neuronowej n-warstwowej

Możesz zapytać: dlaczego nikt wcześniej nie próbował używać wielowarstwowych (głębokich) sieci neuronowych? W rzeczywistości zrobili to już w 1975 r. Przez Fukushimę z Cognitronem i Neocognitronem (który w rzeczywistości jest splotową siecią neuronową, ale to już inna historia). Problem polegał jednak na tym, że nikt nie wiedział, jak skutecznie uczyć się takich sieci, a dużym problemem była regularyzacja . AutoEncoders Hintona otworzył drogę, a później naprawione jednostki liniowe LeCun naprawiły ten problem na dobre.

Co z Deep Beliefs Networks (DBN)? Są to po prostu wielowarstwowe, częściowo ograniczone maszyny Boltzmanna. Są więc rodzajem głębokiej sieci neuronowej, ale z innym podstawowym wzorem sieci (tj. Warstwą, jest to wzór, który się powtarza): maszyny Boltzmanna różnią się od innych sieci tym, że są generatywne , co oznacza, że ​​zwykle są wykorzystywane do uczenia się na podstawie danych w celu ich odtworzenia („generowania”), podczas gdy zwykłe głębokie sieci neuronowe są używane do oddzielania danych (poprzez wyznaczenie „granicy decyzji”).

Innymi słowy, DNN świetnie nadaje się do klasyfikowania / przewidywania wartości z zestawu danych, podczas gdy DBN świetnie „naprawia” uszkodzone dane (kiedy mówię naprawę, to nie tylko z uszkodzonych danych, może być również na idealnie dokładnych danych że chcesz to trochę poprawić, aby być bardziej stereotypowym i łatwiejszym do rozpoznania za pomocą innej sieci neuronowej, takiej jak ręcznie napisane cyfry).

Podsumowując, można powiedzieć, że AutoEncoders to prostsza forma Deep Belief Network. Oto przykład DBN przeszkolonego w rozpoznawaniu twarzy, ale NIE liczb, liczby są automatycznie zanikane (jest to efekt „ustalający” DBN):

Przykład sieci głębokiej wiary w rozpoznawanie twarzy

Tak więc ostatecznie DBN i DNN nie są przeciwne: są komplementarne. Na przykład można sobie wyobrazić system rozpoznający odręczne znaki, które najpierw zasilą obraz postaci do DBN, aby uczynić go bardziej stereotypowym, a następnie dostarczy stereotypowy obraz do DNN, który wyświetli następnie znak, który reprezentuje obraz.

Ostatnia uwaga: sieci głębokiego przekonania są bardzo zbliżone do maszyn głębokiego Boltzmanna: głębokie maszyny Boltzmanna używają warstw maszyn Boltzmanna (które są dwukierunkowymi sieciami neuronowymi, zwanymi także nawracającymi sieciami neuronowymi), podczas gdy sieci głębokiej wiary używają częściowo ograniczonych maszyn Boltzmanna (pół- „ograniczony” oznacza, że ​​są one zmieniane na jednokierunkowe, co pozwala na wykorzystanie propagacji wstecznej do nauki sieci, która jest o wiele bardziej wydajna niż uczenie się sieci reccurent). Obie sieci są wykorzystywane do tego samego celu (regeneracja zestawu danych), ale koszt obliczeń jest inny (maszyny Deep Boltzmann są znacznie droższe w uczeniu się ze względu na ich powtarzający się charakter: trudniej jest „ustabilizować” wagi).

Premia: o sieciach neuronowych konwergencji (CNN) znajdziesz wiele sprzecznych i mylących twierdzeń, i zwykle okazuje się, że są to po prostu głębokie sieci neuronowe. Wydaje się jednak, że konsensus polega na zastosowaniu oryginalnej definicji neokognitronu Fukushimy: CNN to DNN, który jest zmuszony wydobywać różne cechy na różnych poziomach hierarchicznych poprzez narzucenie splotu przed aktywacją (co DNN może naturalnie zrobić, ale zmuszając go przez ustawienie innej funkcji splotu / aktywacji na różnych warstwach sieci może dać lepszy wynik, przynajmniej taki jest zakład CNN):

Funkcje głębokiej sieci neuronowej Konwolucyjna sieć neuronowa

I wreszcie, dla bardziej rygorystycznej osi czasu Sztucznej Inteligencji, patrz tutaj .


1
Świetna odpowiedź! Kluczowym aspektem (być może aspektem definiującym) splotowych sieci głębokich jest to, że każda warstwa odpowiada zastosowaniu splotu, a następnie zastosowaniu funkcji aktywacji: jest jądro, a wszystkie węzły w warstwie stosują to samo jądro. Wyobraź sobie, że wejście jest obrazem. Zazwyczaj masz węzeł dla każdego piksela i ma połączenia przychodzące z pobliskich pikseli. Zwykła sieć pozwoliłaby, aby każdy piksel miał swój własny wzór ciężarów na przychodzących krawędziach. Sieć splotowa nakłada dodatkowy wymóg, aby była to ta sama sekwencja wag na każdym pikselu obrazu.
DW

Tak, rzeczywiście masz rację i stąd pochodzi nazwa. Ale osobiście uważam, że jest to często wykorzystywane jako hack w celu specjalizacji głębokiej sieci neuronowej niż cokolwiek innego (gdy cechą charakterystyczną głębokiej sieci neuronowej ma być ogólny cel i niezależność od zbioru danych). Na przykład HMAX, rodzaj CNN, wykorzystuje splot do obliczania map istotności, co jest wyraźnie włamaniem, gdy mapa istotności w biologicznej sieci neuronowej nie jest oczywiście obliczana przy użyciu programowania dynamicznego ...
wredny

3

Głębokie sieci neuronowe to sieci neuronowe o stosunkowo dużej głębokości. Są podklasą sieci neuronowych. Pomysł faktycznie sięga dziesięcioleci i nie jest nowy. Nowością jest to, że opracowaliśmy sposób ich szkolenia w praktyce. Powodem, dla którego ostatnio stał się bardzo popularny, jest ich szkolenie, a ludzie wykorzystali je do pokonania najnowszych algorytmów. DNN potrzebuje dużej ilości danych i dużej mocy obliczeniowej, które nie były dostępne dekady temu. Geoff Hinton oraz jego uczniowie i koledzy wymyślili, jak szkolić ich w praktyce w ciągu ostatniej dekady i wykorzystali ich do pokonania najnowszych algorytmów uczenia maszynowego w kilku dziedzinach, w których większość badaczy unikała idei ich całkowitego wykorzystania w tym czasie.

Sieci przekonań są klasą probabilistycznych modeli graficznych, modelują kilka losowych zmiennych i ich zależności za pomocą grafu (istnieją różne sposoby na to). Te zmienne same mogą pochodzić z rozkładów sparametryzowanych i mogą być modelowane przez sieci neuronowe (lub inny model do reprezentowania rozkładów sparametryzowanych). Sieci głębokich przekonań to sieci przekonań, które mają stosunkowo dużą głębokość.

Sieci przekonań mają zazwyczaj charakter generatywny, tzn. Możemy użyć wyszkolonego modelu do generowania próbek z reprezentowanego przez nie rozkładu.

Sieci neuronowe są zwykle dyskryminujące, możemy je wykorzystać do obliczenia prawdopodobieństwa danego wejścia (czy to jest obraz kota? Jakie jest prawdopodobieństwo, że jest to obraz kota?), Ale zwykle nie do próbkowania (generowania zdjęcie kota).


Nie jestem ekspertem od ML, więc weź to, co napisałem z odrobiną soli.
Kaveh

-1

Sieci neuronowe są zwykle wdrażane tam, gdzie wymagane są ukryte warstwy i równania kwadratowe. Tam, gdzie wykorzystuje się sieci głębokiego uczenia i głębokiej wiary, w których do manipulowania danymi potrzeba wielu ukrytych warstw, tak jak głębokie sieci Boltzmanna.


Więc oba wymagają ukrytych warstw? Czy możesz zrobić wiele ukrytych warstw w normalnym NN? Czy te sieci Boltzmanna miały na myśli maszyny Boltzmanna? Jaka jest różnica? Nie odpowiada na pytanie (a może tak, ale jest zbyt niejasne).
Zły
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.