Sobes.tech
Junior — Senior

O que é uma convolução 1x1 e para que é usada?

sobes.tech IA

Resposta da IA

A convolução 1x1 é uma operação de convolução com um núcleo de tamanho 1 por 1 pixel. Ela é aplicada em redes neurais convolucionais para alterar o número de canais (profundidade) do tensor de entrada sem alterar as dimensões espaciais (largura e altura).

Principais aplicações da convolução 1x1:

  • Redução ou aumento da dimensionalidade dos canais, ajudando a diminuir o número de parâmetros e a carga computacional.
  • Introdução de não linearidades entre camadas através de funções de ativação após a convolução 1x1.
  • Mistura de informações entre canais, melhorando a representação de características.

Exemplo em 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)  # batch_size=1, 64 canais, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])