Junior — Senior
Kas yra 1x1 konvoliucija ir kam ji naudojama?
sobes.tech AI
Atsakymas iš AI
1x1 konvoliucija yra konvoliucijos operacija su 1x1 pikselio dydžio branduoliu. Ji taikoma konvoliucinėse neuroninėse tinkluose, siekiant pakeisti įvesties tensorio kanalų skaičių (gylį) be erdvinių matmenų (plotis ir aukštis) keitimo.
Pagrindinės 1x1 konvoliucijos taikymo sritys:
- Kanalų matmenų mažinimas arba didinimas, kas padeda sumažinti parametrų skaičių ir skaičiavimo apkrovą.
- Nelinearumo įvedimas tarp sluoksnių naudojant aktyvacijos funkcijas po 1x1 konvoliucijos.
- Informacijos maišymas tarp kanalų, gerinant bruožų reprezentaciją.
PyTorch pavyzdys:
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) # partijos dydis=1, 64 kanalai, 32x32
output = conv1x1(input_tensor)
print(output.shape) # torch.Size([1, 128, 32, 32])