Предположим, что у меня есть извилистый слой, который выводит тензор в форме где:( N, F, Ч, Вт)
- - размер партииN
- - число сверточных фильтровF
- - пространственные размерыЧАС, Вт
Предположим, что этот выходной сигнал подается в сверточный слой с фильтрами 1x1, заполнением нулями и шагом 1. Затем выходной сигнал этого слоя сверток 1x1 будет иметь форму ( N , F 1 , H , W ) .F1( N, F1, Ч, Вт)
Таким образом, фильтры 1x1 могут использоваться для изменения размерности в пространстве фильтров. Если то мы увеличиваем размерность, если F 1 < F, мы уменьшаем размерность в измерении фильтра.F1> FF1< F
В самом деле, в статье Google Inception Going Deeper with Convolutions говорится (жирным шрифтом является мой, а не авторы оригинала):
Одна большая проблема с вышеупомянутыми модулями, по крайней мере, в этой наивной форме, состоит в том, что даже скромное число извилин 5х5 может быть чрезмерно дорогим на вершине сверточного слоя с большим количеством фильтров.
Это приводит ко второй идее предложенной архитектуры: разумно применять сокращения размеров и проекции везде, где вычислительные требования слишком сильно возрастут, в противном случае. Это основано на успехе вложений: даже низкоразмерные вложения могут содержать много информации об относительно большом патче изображения ... Свертки 1x1 используются для вычисления сокращений до дорогих сверток 3x3 и 5x5. Помимо использования в качестве сокращений, они также включают использование выпрямленной линейной активации, что делает их двойным назначением.
Таким образом, в начальной архитектуре мы используем сверточные фильтры 1x1, чтобы уменьшить размерность в измерении фильтра. Как я объяснил выше, эти слои 1x1 conv могут использоваться в общем случае для изменения размерности пространства фильтра (увеличения или уменьшения), и в архитектуре Inception мы видим, насколько эффективными могут быть эти фильтры 1x1 для уменьшения размерности, явно в пространстве измерений фильтра. , а не пространство пространственного измерения.
Возможно, существуют другие интерпретации конв-фильтров 1x1, но я предпочитаю это объяснение, особенно в контексте архитектуры Google Inception.