Junior — Senior
Kas ir 1x1 konvolūcija un kam tā tiek izmantota?
sobes.tech AI
Atbilde no AI
1x1 konvolūcija ir konvolūcijas operācija ar kodolu izmēra 1 uz 1 pikseli. To izmanto konvolūcijas neironu tīklos, lai mainītu ievades tenzora kanālu skaitu (dziļumu) bez izmaiņām telpiskajos izmēros (platumā un augstumā).
Galvenās 1x1 konvolūcijas pielietojumi:
- Kanālu dimensijas samazināšana vai palielināšana, kas palīdz samazināt parametru skaitu un aprēķinu slodzi.
- Nelinearitāšu ieviešana starp slāņiem, izmantojot aktivācijas funkcijas pēc 1x1 konvolūcijas.
- Informācijas sajaukšana starp kanāliem, uzlabojot raksturlielumu attēlojumu.
PyTorch piemērs:
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) # partijas lielums=1, 64 kanāli, 32x32
output = conv1x1(input_tensor)
print(output.shape) # torch.Size([1, 128, 32, 32])