Comments 9
А почему используется термин "кросс-корреляция" вместо более привычного "свёртка"?
Если ядро свертки/кросс-корреляции симметрично относительно поворота на 180 градусов, то разницы и нет...
..
Ok, но просто в литературе (например, по обработке изображений) привычно видеть именно свёртку с ядром. Был смысл переходить к кросс-корреляции? А с учётом того, что из-за этого где-то знак меняется (спасибо @badsyntи вам за напоминание о знаке, я забыл) – это может быть не просто непривычно, но и спровоцировать ошибки у тех, кто привык к старому подходу или при их общении с новичками.
Тем более нам надо не сравнить сигнал с ядром, а именно обработать.
При обработке изображений почти всегда используется кросс-корреляция, но при этом часто называют операцию сверткой. Для симметричных ядер это не критично, но я использовал термин "кросс-корреляция" вместо "свертки" просто для математической строгости.
Та же история и со свёрточными нейронными сетями: там так же в прямом проходе используется кросс-корреляция, а не свертка. Ядра там как правило не симметричные. Свертка используется уже при обратном распространении ошибки.
Видимо потому что кто-то с понятием корреляции познакомился чуть раньше - в теории вероятностей, например. А кто-то другой узнал о (быстрой) свёртке через теорему о свёртке, потому и считает корреляцию её частным случаем. Холивар, как я понимаю.
Кросс- корреляция и свёртка взаимосвязаны: Стрела времени у них направлена в противоположные стороны (шутка).
КроссКорр(t)*g(t)=Свертка(-t)*g(t)
Дискретные дифференциальные операторы