Sobes.tech
Junior — Senior

Ce este o convoluție 1x1 și pentru ce se folosește?

sobes.tech AI

Răspuns de la AI

Convoluția 1x1 este o operație de convoluție cu un nucleu de dimensiune 1 pe 1 pixel. Se aplică în rețelele neuronale convoluționale pentru a modifica numărul de canale (adâncimea) tensorului de intrare fără a modifica dimensiunile spațiale (lățimea și înălțimea).

Principalele aplicații ale convoluției 1x1:

  • Reducerea sau creșterea dimensionalității canalelor, ceea ce ajută la reducerea numărului de parametri și a sarcinii de calcul.
  • Introducerea de non-liniarități între straturi prin funcții de activare după convoluția 1x1.
  • Amestecarea informațiilor între canale, îmbunătățind reprezentarea caracteristicilor.

Exemplu în 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)  # lot=1, 64 canale, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])