складність 3/5
Depthwise separable convolution
Розділити згортку на фільтрування кожного каналу й тоді змішування каналів. Для ядра 3×3 це приблизно вдев’ятеро дешевше, а те, що лишається, — здебільшого множення матриць.
Інтуїція
Звичайна згортка робить дві роботи одразу, і ви платите за їхній добуток. Вона дивиться на околицю — це фільтрування — і змішує вхідні канали в нові вихідні канали — це комбінування. Howard та ін. кажуть це саме так: «Стандартна згортка і фільтрує, і комбінує входи в новий набір виходів за один крок. Поканально роздільна згортка розділяє це на два шари: окремий шар для фільтрування й окремий шар для комбінування» [1, §3.1].
Розділіть їх — і вартість перестає бути добутком і стає сумою. Для ядра 3×3 це приблизно вдев’ятеро менше арифметики [1, §3.1], а це різниця між моделлю, яка працює на телефоні, і тією, яка не працює.
Заради чого варто лишитися — це те, що розділення лишає по собі. Щойно просторову роботу виокремлено, виявляється, що вона майже безкоштовна, а майже вся решта арифметики сидить у згортках 1×1, які є множеннями матриць під назвою згортки.
Формальне визначення
Як це працює
Де застосовується
Чому і коли
Практичний приклад
Типові помилки
Перевірте себе
3 запитання
Запитання до цієї сторінки входять у доступ. Їх перевіряє сервер, тож відповіді лишаються там, доки ви не дасте свою.
Джерела
- MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (2017)paperhttps://ar5iv.labs.arxiv.org/html/1704.04861
- Dive into Deep Learning — Multiple Input and Multiple Output Channelsbook · звірено 2026-09-17https://d2l.ai/chapter_convolutional-neural-networks/channels.html