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) (?).
źródło
Odpowiedzi:
Nie ma różnic w tym, co sieci neuronowe mogą zrobić, gdy używają splotu lub korelacji. Wynika to z tego, że filtry są wyuczone i jeśli CNN może nauczyć się wykonywać określone zadanie za pomocą operacji splotu, może także nauczyć się wykonywać to samo zadanie za pomocą operacji korelacji (poznałby obróconą wersję każdego filtra).
Aby znaleźć więcej szczegółów na temat powodów, dla których ludzie czasem uważają, że splot jest bardziej intuicyjny niż korelacja, ten post może być przydatny.
Pozostaje pytanie, że jeśli nie ma różnicy między splotem a korelacją krzyżową, jaki jest sens przerzucania wag do macierzy jądra? Chciałbym załączyć kilka zdań z książki „ Deep learning ” Iana Goodfellow i in. aby odpowiedzieć na to pytanie:
„Jedynym powodem przerzucenia jądra jest uzyskanie właściwości przemienności. Chociaż właściwość przemienności jest przydatna do pisania dowodów, zwykle nie jest to ważna właściwość implementacji sieci neuronowej ... Wiele bibliotek uczenia maszynowego implementuje korelację krzyżową, ale wywołuje to splot. ”
Zaletą jest to, że chociaż splot jest ulubioną operacją w klasycznych aplikacjach wizyjnych, zastępuje go korelacja w wielu implementacjach splotowych sieci neuronowych.
źródło
Istnieje praktyczny powód dla powiązania między FFT a splotem.
źródło