〰️ Згортка — як фільтри змінюють сигнали
Згортка ковзає однією функцією по іншій, перемножуючи й сумуючи на кожному зсуві. Так кожен лінійний фільтр — розмиття, відлуння, згладжування — перетворює свій вхід.
Про цю симуляцію
Ця симуляція візуалізує згортку — математичну операцію в основі кожного лінійного фільтра. Синій вхідний сигнал лишається нерухомим, тоді як помаранчеве ядро перевертається в часі й ковзає по ньому; в кожній позиції значення, що перекриваються, перемножуються та підсумовуються, утворюючи одну точку зеленої вихідної кривої — так у реальному часі будується (f*g)(t). Змінюючи тип і ширину ядра, можна безпосередньо спостерігати, як згладжування, розмиття чи ефект відлуння виникають з однієї й тієї самої фундаментальної арифметики.
🔬 Що показано
Синій вхідний сигнал лишається нерухомим, тоді як помаранчеве ядро перевертається в часі та ковзає по ньому; у кожній позиції сигнал перекриття перемножується й підсумовується, утворюючи одну точку зеленої вихідної кривої — так у реальному часі будується (f*g)(t).
🎮 Як користуватись
Оберіть вхідний сигнал (прямокутний імпульс, послідовність спайків, зашумлений сигнал чи ступінчастий перепад) і тип ядра (прямокутне, гаусове чи експоненційне) у спадних меню панелі керування. Повзунок ширини ядра розширює чи звужує фільтр, а повзунок швидкості уповільнює рух для детальнішого розгляду. Пауза будь-якої миті зупиняє анімацію, щоб роздивитись точне перекриття в заданій позиції зсуву.
💡 Чи знали ви?
Інтегральна форма згортки з'явилась в аналізі 18 століття завдяки Ейлеру, Лапласу та Коші, а зв'язок з частотною областю встановив Фур'є на початку 19 століття. Сьогодні той самий математичний оператор, що розмиває фотографію чи створює відлуння, лежить в основі згорткових шарів нейронних мереж.
Часті питання
Що таке згортка?
Згортка — це математична операція, яка поєднує дві функції — сигнал f та ядро g — шляхом ковзання однієї по іншій, перемноження значень, що перекриваються, і підсумовування добутків на кожному зсуві. Результат (f*g)(t) описує, наскільки дві функції перекриваються, коли одна зміщена на t. Це визначальна операція лінійних стаціонарних систем (LTI).
Як користуватися цією симуляцією?
Оберіть вхідний сигнал (прямокутний імпульс, послідовність спайків, зашумлений сигнал або ступінчастий перепад) і тип ядра (прямокутне, гаусове або експоненційне) у спадних меню панелі керування. Повзунок ширини ядра розширює чи звужує фільтр, а повзунок швидкості уповільнює рух для детальнішого розгляду. Натисніть Пауза в будь-який момент, щоб зупинити анімацію й роздивитися точне перекриття на заданій позиції зсуву.
Чому ядро виглядає перевернутим і ковзає?
Формула (f*g)(t) = ∫ f(τ)·g(t−τ) dτ містить доданок g(t−τ), який перевертає ядро в часі перед його зсувом на t. Це перевертання — не візуальний трюк: саме воно робить згортку комутативною (f*g = g*f) і є причиною того, чому вихід LTI-системи повністю описується згорткою входу з імпульсною характеристикою системи.
Що таке імпульсна характеристика і чому вона важлива?
Імпульсна характеристика h(t) — це вихід системи, коли на вхід подається одиничний імпульс (дельта-функція Дірака, або одиничний спайк у дискретних системах). Оскільки будь-який довільний сигнал можна розкласти на суму масштабованих, зсунутих у часі імпульсів, вихід для будь-якого входу — це просто згортка цього входу з імпульсною характеристикою. Це означає, що знання h повністю характеризує будь-яку LTI-систему — мікрофони, підсилювачі, приміщення й цифрові фільтри однаково.
Які реальні системи використовують згортку?
Згортка всюдисуща: програми для редагування фото застосовують її для гаусового розмиття, підвищення різкості й виявлення країв; аудіостанції використовують її для реверберації (згортка сухого звуку з імпульсною характеристикою приміщення); інженери бездротового зв'язку моделюють нею спотворення каналу; радіологи використовують її в реконструкції КТ та МРТ; а фреймворки глибокого навчання будують шари згорткових нейронних мереж безпосередньо на дискретній 2D-згортці. Навіть фільтр згладжування в акселерометрі вашого смарт-годинника — це згортка.
Чи правда, що згортка стає множенням у частотній області?
Так — це теорема про згортку. Якщо F і G — перетворення Фур'є f і g, то перетворення Фур'є f*g дорівнює просто F, помноженому на G (поточкове множення). Саме тому швидке перетворення Фур'є (FFT) робить великі згортки значно швидшими: замість O(N²) операцій множення-додавання в часовій області, згортка на основі FFT потребує лише O(N log N) кроків. Гаусове розмиття у вашому фотододатку та FIR-фільтри в аудіоапаратурі використовують цей факт.
Чи ширше ядро завжди дає кращий результат?
Не обов'язково. Ширше ядро усереднює чи інтегрує більшу частину сигналу, що зменшує шум і згладжує краї — але водночас розмиває дрібні деталі й збільшує затримку в каузальних фільтрах (як-от експоненційне ядро відлуння) на більшу кількість відліків. Вибір ширини ядра — це компроміс між придушенням шуму та роздільною здатністю. В обробці зображень надмірне розмиття руйнує текстуру; в аудіо надмірні хвости реверберації знижують розбірливість. Правильна ширина повністю залежить від застосування.
Хто розробив математичну теорію згортки?
Інтегральна форма згортки з'явилась в аналізі 18 століття завдяки внеску Ейлера, Лапласа та Коші в контексті диференціальних рівнянь та інтегральних перетворень. Зв'язок з перетворенням Фур'є встановив Жозеф Фур'є на початку 19 століття. Інженерне застосування до лінійних фільтрів систематизував Олівер Хевісайд наприкінці 1800-х, а пізніше Клод Шеннон і Норберт Вінер — у середині 20 століття в межах теорії інформації та кібернетики.
Як згортка пов'язана з взаємною кореляцією?
Взаємна кореляція (f⋆g)(t) = ∫ f(τ)·g(t+τ) dτ майже ідентична згортці, але без перевертання ядра. Коли f = g (автокореляція), вона вимірює самоподібність на різних затримках. У пошуку шаблонів і розпізнаванні образів взаємна кореляція визначає, де шаблон найкраще збігається із сигналом. Згортка й взаємна кореляція відрізняються лише знаком зсуву; для симетричних ядер (як гаусове) вони дають однакові результати. Пов'язані симуляції: перетворення Фур'є, фільтрація низьких/високих частот та імпульсна характеристика.
Як дискретна згортка використовується у згорткових нейронних мережах (CNN)?
У CNN кожен згортковий шар застосовує невелике 2D-ядро (наприклад, 3×3 чи 5×5 пікселів) до вхідної карти ознак за допомогою суми дискретної згортки. Вагові коефіцієнти ядра не проєктуються вручну — вони навчаються з даних через зворотне поширення похибки. Накопичення багатьох таких шарів дозволяє мережі навчати ієрархічні ознаки: краї в першому шарі, текстури в другому, частини об'єктів у третьому й так далі. Та сама математична операція, що розмиває фото чи створює відлуння звуку, є, отже, і двигуном класифікаторів зображень, детекторів об'єктів і систем розпізнавання мовлення.
Які сучасні напрями досліджень у сфері згортки?
Активні напрями досліджень включають: поглиблено-роздільні згортки (depthwise separable, використовуються в MobileNet) для зменшення обчислень CNN на мобільних пристроях; графові згорткові мережі, що поширюють згортку на нерегулярні, неевклідові дані, як соціальні графи й молекулярні структури; навчальні або адаптивні банки фільтрів, що змінюють форму ядра під час інференсу; та квантові алгоритми згортки, які можуть давати надполіноміальне прискорення порівняно з класичним FFT для певних розмірів задач. В обробці сигналів методи розрідженої апроксимації (стиснене зондування) використовують структуру згортки для відновлення сигналів із значно меншої кількості вимірювань, ніж традиційно вимагає частота Найквіста.