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