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