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ć?
machine-learning
neural-networks
boltzmann-machine
Lyndon White
źródło
źródło
Odpowiedzi:
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ą.
źródło
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).
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.
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).
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):
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):
I wreszcie, dla bardziej rygorystycznej osi czasu Sztucznej Inteligencji, patrz tutaj .
źródło
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).
źródło
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.
źródło