Junior — Senior
Co je to 1x1 konvoluce a k čemu se používá?
sobes.tech AI
Odpověď od AI
Konvoluce 1x1 je operace konvoluce s jádrem velikosti 1 na 1 pixel. Používá se v konvolučních neuronových sítích k změně počtu kanálů (hloubky) vstupního tenzoru bez změny prostorových rozměrů (šířky a výšky).
Hlavní použití konvoluce 1x1:
- Snížení nebo zvýšení dimenze kanálů, což pomáhá snížit počet parametrů a výpočetní zátěž.
- Zavedení nelinearit mezi vrstvami pomocí aktivačních funkcí po konvoluci 1x1.
- Míchání informací mezi kanály, zlepšení reprezentace rysů.
Příklad v 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) # dávka=1, 64 kanálů, 32x32
output = conv1x1(input_tensor)
print(output.shape) # torch.Size([1, 128, 32, 32])