Sobes.tech
Junior — Senior

¿Qué es una convolución 1x1 y para qué se utiliza?

sobes.tech AI

Respuesta de la IA

La convolución 1x1 es una operación de convolución con un núcleo de tamaño 1 por 1 píxel. Se aplica en redes neuronales convolucionales para cambiar el número de canales (profundidad) del tensor de entrada sin modificar las dimensiones espaciales (anchura y altura).

Aplicaciones principales de la convolución 1x1:

  • Reducción o aumento de la dimensionalidad de los canales, lo que ayuda a disminuir la cantidad de parámetros y la carga computacional.
  • Introducción de no linealidad entre capas mediante funciones de activación después de la convolución 1x1.
  • Mezcla de información entre canales, mejorando la representación de características.

Ejemplo en 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)  # tamaño del lote=1, 64 canales, 32x32
output = conv1x1(input_tensor)
print(output.shape)  # torch.Size([1, 128, 32, 32])