Что такое 1x1 свёртка и для чего её используют?

x1 свёртка — это операция свёртки с ядром размером 1 на 1 пиксель.

Короткий ответ

Что ответить на собеседовании

x1 свёртка — это операция свёртки с ядром размером 1 на 1 пиксель. Она применяется в сверточных нейронных сетях для изменения числа каналов (глубины) входного тензора без изменения пространственных размеров (ширины и высоты).

Подробный разбор

Ответ с пояснениями

1x1 свёртка — это операция свёртки с ядром размером 1 на 1 пиксель. Она применяется в сверточных нейронных сетях для изменения числа каналов (глубины) входного тензора без изменения пространственных размеров (ширины и высоты).

Основные применения 1x1 свёртки:

  • Снижение или увеличение размерности каналов, что помогает уменьшить количество параметров и вычислительную нагрузку.
  • Введение нелинейности между слоями при помощи активационных функций после 1x1 свёртки.
  • Смешивание информации между каналами, улучшая представление признаков.

Пример в PyTorch:

import torch
import torch.nn as nn

conv1x1 = nn.Conv2d(in_channels=64, out_channels=128, kernel_size=1)
input_tensor = torch.randn(1, 64, 32, 32)  # batch_size=1, 64 каналов, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее