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])