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 .