Rozumiem, jak działa splot, ale nie rozumiem, w jaki sposób splot 1D jest stosowany do danych 2D.
W tym przykładzie widać splot 2D w danych 2D. Ale jak by to było, gdyby był splot 1D? Tylko jądro 1D przesuwa się w ten sam sposób? A jeśli krok miał 2?
Dziękuję Ci!
conv-neural-network
Gustavo
źródło
źródło
Odpowiedzi:
Pozwolićx1, ... ,xn być sekwencją wektorów (np. wektorów słów). Zastosowanie warstwy splotowej jest równoważne z zastosowaniem tej samej macierzy masy do wszystkich n-gramów, gdzien to wysokość twojego filtra. Np. Jeślin=3 , możesz to wizualizować w następujący sposób:
Aby uzyskać nieco bardziej matematyczne wyjaśnienie, sprawdź Ji Young Lee, Franck Dernoncourt. „ Sekwencyjna klasyfikacja krótkich tekstów z rekurencyjnymi i splotowymi sieciami neuronowymi ”. NAACL 2016 . sekcja 2.1.2:
źródło
Splot 1D stosuje się w sieciach splotowych do próbkowania w dół i próbkowania w górę w wymiarze filtra. Sieci konwergentne tworzą te mapy filtrów, gdy przechodzisz przez sieć, możesz naprawdę myśleć o nich jako o trzecim wymiarze. Zwykle podstawowy przypadek wymiaru mapy filtra ma rozmiar 3, ponieważ często będziemy mieć obrazy RGB przechodzące przez naszą sieć.
Te sploty 1D mogą być przydatne do próbkowania w dół, wykonywania niektórych operacji, a następnie próbkowania w górę z powrotem do tego samego wymiaru. Jest to bardzo przydatne ze względu na wydajność.
Aby naprawdę intuicyjnie zrozumieć, sugerowałbym przeczytanie:
Sieć w sieci - http://arxiv.org/abs/1312.4400
Sięgnij głębiej ze zwojami - https://www.google.com/url?sa=t&source=web&rct=j&url=http://www.cs.unc.edu/~wliu/papers/GoogLeNet.pdf&ved=0ahUKEwi89oeuxqnLAhXhuIMKHZrTCe0QFggAEQQGGCMEQQGGCMEQQGGCMEQQGGCMEQQGGMEQQGGMEQQGGEQQGGEQQGGEQQGGEQQGGQMEQQGGEQQGGQMEQQGGEQQGGQMEQQGGEQQGGQMEQQGGEQQGGQMEQQGGEQQGGQM0Q rrECNQ72wI3PH1Qw & sig2 = VhjfaMvuskNIDVKhFfNiqQ
źródło