Co robią w pełni połączone warstwy w sieciach CNN?

19

Rozumiem warstwy splotowe i łączące, ale nie widzę powodu w pełni połączonej warstwy w sieciach CNN. Dlaczego poprzednia warstwa nie jest bezpośrednio połączona z warstwą wyjściową?

Jeff
źródło

Odpowiedzi:

31

Dane wyjściowe z warstw splotowych reprezentują cechy wysokiego poziomu w danych. Chociaż dane wyjściowe można spłaszczyć i połączyć z warstwą wyjściową, dodanie warstwy w pełni połączonej jest (zwykle) tanim sposobem uczenia się nieliniowych kombinacji tych cech.

Zasadniczo warstwy splotowe zapewniają znaczącą, niskowymiarową i nieco niezmienną przestrzeń cech, a w pełni połączona warstwa uczy się (być może nieliniowej) funkcji w tej przestrzeni.

UWAGA: Konwersja z warstw FC na warstwy konwekcyjne jest banalna. Konwersja tych górnych warstw FC na warstwy Konwek może być pomocna, jak opisano na tej stronie.

jamesmf
źródło
Dzięki za odpowiedź James. Uczymy się więc wag między połączonymi warstwami z propagacją wsteczną, czy to prawda?
Jeff
Tak, błąd propaguje się wstecz przez w pełni połączoną warstwę do warstw splotowych i warstwowych.
jamesmf
Dobrze. Cel warstwy fc można więc traktować jak nieliniowy PCA, koryguje on „dobre” cechy i zmniejsza inne poprzez uczenie się pełnego zestawu wag.
Jeff
1
W większości pozwala to na nieliniową kombinację funkcji. Wszystkie funkcje mogą być dobre (zakładając, że nie masz funkcji „martwych”), ale kombinacje tych funkcji mogą być jeszcze lepsze.
jamesmf
@jamesmf: Co to jest martwa funkcja? i o jakich kombinacjach funkcji mówisz? co masz na myśli przez kombinację nieliniową? Czy używanie w pełni połączonej warstwy jest obowiązkowe w CNN? lub czy można go zastąpić bez negatywnego wpływu na dokładność? Z góry dziękuję. Będę wdzięczny za intuicję w zadanych przeze mnie pytaniach.
Rika
4

Uznałem tę odpowiedź Anil-Sharma na Quora za pomocną.

Możemy podzielić całą sieć (do klasyfikacji) na dwie części:

  • Wyodrębnianie cech : w konwencjonalnych algorytmach klasyfikacji, takich jak maszyny SVM, używaliśmy do wydobywania cech z danych, aby klasyfikacja działała. Warstwy splotowe służą temu samemu celowi, co ekstrakcja cech. Sieci CNN przechwytują lepszą reprezentację danych, dlatego nie musimy wykonywać inżynierii funkcji.

  • Klasyfikacja : Po wyodrębnieniu funkcji musimy sklasyfikować dane do różnych klas, można to zrobić za pomocą w pełni połączonej sieci neuronowej (FC). Zamiast w pełni połączonych warstw możemy również użyć konwencjonalnego klasyfikatora, takiego jak SVM. Na ogół jednak dodajemy warstwy FC, aby model był w stanie trenować od początku do końca.

rocksyne
źródło