Chcę wykorzystać głębokie uczenie się w moim projekcie. Przejrzałem kilka artykułów i przyszło mi do głowy pytanie: czy jest jakaś różnica między siecią neuronową splotu a głębokim uczeniem się? Czy te rzeczy są takie same, czy różnią się między sobą, a co jest lepsze?
machine-learning
neural-networks
deep-learning
terminology
conv-neural-network
Aadnan Farooq A.
źródło
źródło
Odpowiedzi:
Głębokie uczenie się jest gałęzią uczenia maszynowego opartą na głębokich sieciach neuronowych (DNN), co oznacza sieci neuronowe z co najmniej 3 lub 4 warstwami (w tym warstwami wejściową i wyjściową). Ale dla niektórych osób (szczególnie nietechnicznych) każda sieć neuronowa kwalifikuje się jako Głębokie Uczenie się, niezależnie od jej głębokości. Inni uważają 10-warstwową sieć neuronową za płytką.
Konwolucyjne sieci neuronowe (CNN) są jedną z najpopularniejszych architektur sieci neuronowych. Są niezwykle skuteczne w przetwarzaniu obrazów, ale także w wielu innych zadaniach (takich jak rozpoznawanie mowy, przetwarzanie języka naturalnego i inne). Najnowocześniejsze sieci CNN są dość głębokie (przynajmniej kilkadziesiąt warstw), więc są częścią Deep Learning. Ale możesz zbudować płytkie CNN do prostego zadania, w którym to przypadku nie jest to (naprawdę) Głębokie Uczenie się.
Ale CNN nie są same, istnieje wiele innych architektur sieci neuronowych, w tym Recurrent Neural Networks (RNN), Autoencoders, Transformers, Deep Belief Nets (DBN = stos Restricted Boltzmann Machines, RBM) i wiele innych. Mogą być płytkie lub głębokie. Uwaga: nawet płytkie RNN można uznać za część głębokiego uczenia się, ponieważ ich szkolenie wymaga rozwinięcia ich w czasie, co skutkuje głęboką siecią.
źródło
W dziedzinie adaptacyjnego przetwarzania sygnałów / uczenia maszynowego głębokie uczenie się (DL) jest szczególną metodologią, w której możemy szkolić skomplikowane reprezentacje maszyn.
Zasadniczo będą miały sformułowanie, które może zmapować dane wejściowe , aż do celu docelowego, , za pomocą szeregu hierarchicznie ułożonych (stąd „głębokich”) operacji . Operacje te są zwykle operacjami / rzutami liniowymi ( W i ), po których następują nieliniowości ( f i ), takie jak:yx y W.ja faja
Obecnie w DL istnieje wiele różnych architektur : jedna taka architektura jest znana jako splotowa sieć neuronowa (CNN). Inna architektura jest znana jako perceptron wielowarstwowy (MLP) itp. Różne architektury nadają się do rozwiązywania różnych rodzajów problemów.
MLP jest prawdopodobnie jednym z najbardziej tradycyjnych typów architektury DL, jaki można znaleźć, i wtedy każdy element poprzedniej warstwy jest połączony z każdym elementem następnej warstwy. To wygląda tak:
W MLP matricies koduje transformację z jednej warstwy na drugą. (Przez mnożenie macierzy). Na przykład, jeśli masz 10 neuronów w jednej warstwie połączonych z 20 neuronami następnej, będziesz mieć macierz , która zamapuje dane wejściowe do wyjścia , przez: . Każda kolumna w koduje wszystkie krawędzie przechodzące od wszystkich elementów warstwy do jednego z elementów następnej warstwy.W ∈ R 10 x 20 v ∈ R 10 x 1 u ∈ R 1 x 20 u = v T W WW.ja W ∈ R10 x 20 v ∈ R10 x 1 U ∈ R1 x 20 u = vT.W. W.
MLP wypadły wtedy z łaski, częściowo dlatego, że ciężko je trenować. Chociaż istnieje wiele przyczyn tego trudu, jednym z nich było również to, że ich gęste połączenia nie pozwalały na łatwe skalowanie pod kątem różnych problemów z widzeniem komputerowym. Innymi słowy, nie mieli wypalonej ekwiwalencji translacji. Oznaczało to, że jeśli w jednej części obrazu byłby sygnał, na który powinni być wrażliwi, musieliby ponownie nauczyć się, jak być na to wrażliwym, jeśli ten sygnał się poruszał. To zmarnowało pojemność sieci i trening stał się trudny.
Właśnie tam weszły CNN! Oto jak wygląda:
Często zdarza się, że „CNN” odnoszą się do sieci, w których mamy warstwy splotowe w całej sieci, i MLP na samym końcu, więc jest to jedno zastrzeżenie, o którym należy pamiętać.
źródło
Głębokie uczenie się = głębokie sztuczne sieci neuronowe + inny rodzaj głębokich modeli .
Głębokie sztuczne sieci neuronowe = sztuczne sieci neuronowe z więcej niż 1 warstwą. (więcej informacji na temat minimalnej liczby warstw w głębokiej sieci neuronowej lub Wikipedii …)
Convolution Neural Network = Rodzaj sztucznych sieci neuronowych
źródło
Ten slajd autorstwa Yanna LeCuna pokazuje, że tylko modele z hierarchią obiektów (funkcje niższego poziomu są uczone na jednej warstwie modelu, a następnie te funkcje są łączone na następnym poziomie) są głębokie .
CNN może być głęboki lub płytki; tak jest w zależności od tego, czy jest zgodne z tą „hierarchią cech”, ponieważ niektóre sieci neuronowe, w tym modele dwuwarstwowe , nie są głębokie.
źródło
Deep learning
to ogólny termin określania skomplikowanej sieci neuronowej z wieloma warstwami. Nie ma standardowej definicji tego, co dokładnie jestdeep
. Zazwyczaj możesz myśleć, że głęboka sieć to coś, co jest zbyt duże, aby Twój laptop i komputer mógł ją trenować. Zestaw danych byłby tak ogromny, że nie można go zmieścić w pamięci. Może być potrzebny procesor graficzny, aby przyspieszyć trening.Deep
jest bardziej terminem marketingowym, aby coś brzmiało bardziej profesjonalnie niż inaczej.CNN
jest rodzajem głębokiej sieci neuronowej i istnieje wiele innych typów. Sieci CNN są popularne, ponieważ mają bardzo przydatne aplikacje do rozpoznawania obrazów.źródło