Sobes.tech
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])