Sobes.tech
Junior — Senior

Czym jest konwolucja 1x1 i do czego służy?

sobes.tech AI

Odpowiedź od AI

Konwolucja 1x1 to operacja konwolucji z jądrem o rozmiarze 1 na 1 piksel. Jest stosowana w sieciach neuronowych konwolucyjnych do zmiany liczby kanałów (głębokości) tensoru wejściowego bez zmiany wymiarów przestrzennych (szerokości i wysokości).

Główne zastosowania konwolucji 1x1:

  • Zmniejszenie lub zwiększenie wymiarowości kanałów, co pomaga zmniejszyć liczbę parametrów i obciążenie obliczeniowe.
  • Wprowadzenie nieliniowości między warstwami za pomocą funkcji aktywacji po konwolucji 1x1.
  • Mieszanie informacji między kanałami, poprawiając reprezentację cech.

Przykład w 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)  # rozmiar partii=1, 64 kanały, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])