Istnieje wiele subtelności między znaczeniem splotu i korelacji. Oba należą do szerszej idei produktów wewnętrznych i rzutów w algebrze liniowej, tj. Rzutują jeden wektor na drugi, aby określić, jak „silny” jest w kierunku tego drugiego.
Pomysł ten rozciąga się na dziedzinę sieci neuronowych, gdzie rzutujemy próbkę danych na każdy wiersz matrycy, aby określić, jak dobrze „pasuje” do tego rzędu. Każdy wiersz reprezentuje określoną klasę obiektów. Na przykład każdy wiersz może klasyfikować literę w alfabecie do rozpoznawania pisma ręcznego. Powszechnie określa się każdy wiersz jako neuron, ale można go również nazwać dopasowanym filtrem.
Zasadniczo mierzymy, jak podobne są dwie rzeczy, lub próbujemy znaleźć określoną cechę w czymś, np. Sygnał lub obraz. Na przykład, gdy zwołujesz sygnał z filtrem pasmowoprzepustowym, próbujesz dowiedzieć się, jakie treści ma w tym paśmie. Kiedy korelujesz sygnał z sinusoidą, np. DFT, szukasz siły częstotliwości sinusoidy w sygnale. Zauważ, że w tym drugim przypadku korelacja nie przesuwa się, ale nadal „korelujesz” dwie rzeczy. Używasz produktu wewnętrznego do projekcji sygnału na sinusoidę.
Więc jaka jest różnica? Cóż, weź pod uwagę, że w przypadku splotu sygnał jest odwrócony względem filtra. W przypadku sygnału zmieniającego się w czasie powoduje to, że dane są skorelowane w kolejności, w jakiej wchodzą do filtra. Przez chwilę zdefiniujmy korelację jako iloczyn kropkowy, tj. Rzutując jedną rzecz na drugą. Tak więc na początku korelujemy pierwszą część sygnału z pierwszą częścią filtra. Gdy sygnał przepływa przez filtr, korelacja staje się bardziej kompletna. Zauważ, że każdy element w sygnale jest mnożony tylko przez element filtra, który „dotyka” w tym momencie.
Tak więc, dzięki splotowi, korelujemy w pewnym sensie, ale staramy się również zachować porządek w czasie, w którym zachodzą zmiany, gdy sygnał wchodzi w interakcje z systemem. Jeśli jednak filtr jest symetryczny, jak to często bywa, to tak naprawdę nie ma to znaczenia. Konwolucja i korelacja przyniosą takie same wyniki.
Dzięki korelacji porównujemy tylko dwa sygnały, a nie staramy się zachować porządek zdarzeń. Aby je porównać, chcemy, aby były skierowane w tym samym kierunku, tj. Ustawiły się w jednej linii. Przesuwamy jeden sygnał nad drugim, abyśmy mogli przetestować ich podobieństwo w każdym oknie czasowym, na wypadek, gdyby nie byli ze sobą w fazie lub szukamy mniejszego sygnału w większym.
W przetwarzaniu obrazu sprawy wyglądają nieco inaczej. Nie dbamy o czas. Konwolucja wciąż ma jednak pewne przydatne właściwości matematyczne . Jeśli jednak próbujesz dopasować części większego obrazu do mniejszego (tj. Dopasowane filtrowanie), nie będziesz chciał go odwracać, ponieważ wtedy funkcje nie będą się zgadzać. O ile oczywiście filtr nie jest symetryczny. W przetwarzaniu obrazu korelacja i splot są czasami stosowane zamiennie, szczególnie w sieciach neuronowych . Oczywiście czas ma nadal znaczenie, jeśli obraz jest abstrakcyjną reprezentacją danych dwuwymiarowych, gdzie jednym wymiarem jest czas - np. Spektrogram.
Podsumowując, zarówno korelacja, jak i splot są przesuwanymi produktami wewnętrznymi, używanymi do rzutowania jednej rzeczy na drugą, ponieważ różnią się one w czasie lub przestrzeni. Konwolucja jest używana, gdy ważna jest kolejność, i zwykle jest używana do transformacji danych. Korelacja jest zwykle stosowana do znajdowania mniejszej rzeczy wewnątrz większej rzeczy, tj. Do dopasowania. Jeśli co najmniej jedna z dwóch „rzeczy” jest symetryczna, nie ma znaczenia, której używasz.