Sobes.tech
Junior — Senior

Šta je 1x1 konvolucija i zašto se koristi?

sobes.tech АИ

Одговор од АИ

Конволуција 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)  # батч=1, 64 канала, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])