Niedawno przeczytałem komentarz Yan LeCuns na temat zwojów 1x1 :
W sieciach konwekcyjnych nie ma czegoś takiego jak „w pełni połączone warstwy”. Istnieją tylko warstwy splotu z jądrem splotu 1x1 i pełną tabelą połączeń.
Jest to zbyt rzadko rozumiany fakt, że ConvNets nie muszą mieć danych wejściowych o stałym rozmiarze. Możesz trenować je na wejściach, które produkują jeden wektor wyjściowy (bez zasięgu przestrzennego), a następnie zastosować je do większych obrazów. Zamiast jednego wektora wyjściowego otrzymujesz przestrzenną mapę wektorów wyjściowych. Każdy wektor widzi okna wejściowe w różnych miejscach na wejściu. W tym scenariuszu „w pełni połączone warstwy” naprawdę działają jak zwoje 1x1.
Chciałbym zobaczyć prosty przykład tego.
Przykład
Załóżmy, że masz w pełni połączoną sieć. Ma tylko warstwę wejściową i wyjściową. Warstwa wejściowa ma 3 węzły, warstwa wyjściowa ma 2 węzły. Ta sieć ma parametrów. Aby uczynić go jeszcze bardziej konkretnym, załóżmy, że masz funkcję aktywacji ReLU w warstwie wyjściowej i macierzy wagi
Więc sieć to z .
Jak wyglądałaby ta sama warstwa splotowa? Co oznacza LeCun z „pełną tabelą połączeń”?
Myślę, że aby uzyskać równoważny CNN, musiałby mieć dokładnie taką samą liczbę parametrów. MLP z góry ma parametrów.