Sobes.tech
Junior — Senior
44

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

Companies where asked
РобоСиб

Answer from AI

sobes.tech AI

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])