W splotowych sieciach neuronowych (CNN) matryca wag na każdym kroku zostaje odwrócona w celu uzyskania macierzy jądra przed przystąpieniem do splotu. Wyjaśnia to seria filmów Hugo Larochelle tutaj :
Obliczenie ukrytych map odpowiadałoby wykonaniu dyskretnego splotu z kanałem z poprzedniej warstwy, przy użyciu macierzy jądra [...], a jądro to jest obliczane z macierzy ukrytych wag , gdzie odwracamy rzędy i kolumny.
Gdybyśmy porównali zredukowane kroki splotu do regularnego mnożenia macierzy, jak w innych typach NN, celowość byłaby jasnym wyjaśnieniem . Może to jednak nie być najbardziej trafne porównanie ...
W przetwarzaniu obrazowania cyfrowego zastosowanie splotu filtra do obrazu ( jest to świetny film na youtube dla praktycznej intuicji ) wydaje się związane z:
- Fakt, że splot jest asocjatywny, podczas gdy korelacja (krzyżowa) nie.
- Możliwość zastosowania filtrów w dziedzinie częstotliwości obrazu jako multiplikacji, ponieważ splot w dziedzinie czasu jest równoważny z multiplikacją w dziedzinie częstotliwości ( twierdzenie o splotie ).
W tym szczególnym środowisku technicznym korelacji DSP definiuje się jako:
która jest zasadniczo sumą wszystkich komórek w produkcie Hadamard:
gdzie jest funkcją filtru (wyrażoną jako macierz), a jest wartością piksela obrazu w miejscu :I ( x , y ) ( x , y )
Celem wzajemnej korelacji jest ocenić, jak podobny jest obraz sonda do obrazu testowego. Obliczenie mapy korelacji krzyżowej opiera się na twierdzeniu splotowym.
Z drugiej strony splot definiuje się jako:
który tak długo, jak filtr jest symetryczny, działa tak samo jak operacja korelacji z odwróconymi wierszami i kolumnami filtra:
Konwolucja w DSP ma na celu zastosowanie filtrów do obrazu (np. Wygładzanie, wyostrzanie). Jako przykład, po splataniu twarzy Josepha Fouriera z filtrem splotu gaussowskiego : krawędzie na twarzy:
Obliczeniowo, obie operacje są produktem wewnętrznym Frobeniusa, co sprowadza się do obliczenia śladu mnożenia macierzy .
Pytania (przeformułowanie po komentarzach i pierwszej odpowiedzi):
- Czy stosowanie zwojów w CNN jest powiązane z FFT?
Z tego, co do tej pory zbieram, odpowiedź brzmi: nie. FFT zostały wykorzystane do przyspieszenia implementacji zwojów przez GPU . Jednak FFT zwykle nie są częścią struktury lub funkcji aktywacyjnych w CNN, pomimo zastosowania zwojów w etapach przed aktywacją.
- Czy splot i korelacja krzyżowa w CNN są równoważne?
Tak, są równoważne.
- Jeśli jest to proste: „nie ma różnicy”, jaki jest sens przerzucania wag do macierzy jądra?
Ani skojarzenie splotu (przydatne w dowodach matematycznych), ani rozważania dotyczące FT i twierdzenia splotowego nie mają zastosowania. W rzeczywistości wydaje się, że przerzucanie nawet nie ma miejsca (korelacja krzyżowa jest po prostu błędnie oznaczona jako splot) (?).