Припустимо, у мене є шар conv, який видає тензор у формі де:( N, F, Н, Ш)
- N - розмір партії
- F - кількість згорткових фільтрів
- H,W - просторові розміри
Припустимо, цей вихід подається в шар conv з фільтрами 1x1, нульовими накладками та кроком 1. Тоді вихід цього шару 1x1 conv матиме форму .F1(N,F1,H,W)
Таким чином, фільтри 1x1 conv можна використовувати для зміни розмірності у просторі фільтра. Якщо то ми збільшуємо розмірність, якщо - зменшуємо розмірність, у розмірі фільтра.F 1 < FF1>FF1<F
Дійсно, у статті Google Inception « Поглиблюючись із згортками» вони зазначають (жирний шрифт - це не мої оригінали)
Одна з великих проблем з вищезазначеними модулями, принаймні в цій наївній формі, полягає в тому, що навіть скромна кількість згортків 5x5 може бути надмірно дорогим поверх згорткового шару з великою кількістю фільтрів.
Це призводить до другої ідеї запропонованої архітектури: обґрунтовано застосовувати зменшення розмірів та проекції там, де обчислювальні вимоги занадто сильно збільшаться в іншому випадку. Це ґрунтується на успішності вбудовування: навіть низькомірні вбудовування можуть містити багато інформації про порівняно великий патч зображення ... 1x1 згортки використовуються для обчислення скорочень перед дорогими 3x3 та 5x5 згортками. Крім того, що вони використовуються як скорочення, вони також включають використання випрямленої лінійної активації, яка робить їх двоцільовим.
Отже, в архітектурі Inception ми використовуємо згорткові фільтри 1x1 для зменшення розмірності в розмірі фільтра. Як я пояснював вище, ці шари конвеєра 1x1 можна використовувати в цілому для зміни розмірності фільтрувального простору (або збільшувати, або зменшувати), і в архітектурі Inception ми бачимо, наскільки ефективними ці фільтри 1x1 можуть бути зменшення розмірності, явно в просторі розмірів фільтра , а не просторовий розмірний простір.
Можливо, є й інші інтерпретації фільтрів 1x1 conv, але я віддаю перевагу цьому поясненню, особливо в контексті архітектури Google Inception.