Sieci neuronowe od podstaw do nowoczesnej AI · Sieci konwolucyjne (CNN)
Splot 2D: filtr jako detektor cech, padding, stride, equiwariancja
Sieci konwolucyjne (CNN)
Wprowadzenie
Splot 2D to fundamentalna operacja sieci konwolucyjnych: filtr (kernel) o niewielkich wymiarach (typowo 3×3 lub 5×5) jest przesuwany po obrazie i w każdym położeniu produkuje skalarny wynik — iloczyn skalarny okna wejściowego i wag filtru, plus bias. Ta sama wyuczona macierz wag jest używana w każdym położeniu (weight sharing), co daje sieci dwie kluczowe własności: ogromną redukcję liczby parametrów względem warstwy w pełni połączonej oraz **equiwariancję translacyjną** — przesunięcie obiektu w obrazie przesuwa odpowiadającą aktywację w mapie cech o ten sam wektor. Equiwariancja to NIE niezmienniczość: niezmienniczość mówi „wynik się nie zmienia", equiwariancja mówi „wynik zmienia się w przewidywalny, taki sam sposób". Pełna niezmienniczość pojawia się dopiero po pooling/global pooling lub uczeniu się jej end-to-end. Lekcja przechodzi przez matematykę splotu (konwencja convolution vs cross-correlation w bibliotekach DL), liczbę parametrów filtru, wzór na rozmiar wyjścia (out = floor((in + 2p − k)/s) + 1), warianty paddingu (valid, same, full), rolę stride jako downsamplingu, oraz dlaczego splot uczy się hierarchii cech (krawędzie → tekstury → części obiektów → obiekty) udokumentowanej m.in. przez Zeiler & Fergus 2014.