Identity Mapping
Descubre el mapeo de identidad en el aprendizaje profundo. Aprende cómo las conexiones de salto evitan la desaparición de gradientes y hacen posibles redes neuronales como Ultralytics YOLO26.
En matemáticas y álgebra lineal, una aplicación identidad o matriz identidad es una función que devuelve exactamente el mismo valor que recibe como entrada. En el contexto de la inteligencia artificial (AI) y el aprendizaje profundo, el mapeo de identidad es una técnica arquitectónica específica que permite pasar los datos de entrada directamente a las capas posteriores de una red neuronal convolucional (CNN) sin aplicar ninguna transformación no lineal. Este concepto se popularizó enormemente con la introducción de las redes residuales (ResNet) en 2015, que revolucionaron la estructura y el entrenamiento de los modelos de visión artificial (CV) profundos.
Cómo funciona el mapeo de identidad#
Las redes neuronales profundas suelen sufrir el problema del desvanecimiento del gradiente. Durante la retropropagación, las señales de error que se utilizan para actualizar los pesos de la red se vuelven exponencialmente más pequeñas a medida que retroceden por las capas, lo que impide que las primeras capas aprendan de forma eficaz. El mapeo de identidad resuelve este problema mediante la creación de «conexiones de salto» o «conexiones directas».
En lugar de obligar a las capas secuenciales a aprender un mapeo completamente nuevo y sin referencia, se diseñan para aprender una función residual. Matemáticamente, si la entrada de un bloque es x, la capa aprende una transformación F(x). El mapeo de identidad suma la entrada original x directamente al resultado de esa transformación, dando lugar a la salida final F(x) + x. Así, incluso en redes extremadamente profundas, los gradientes pueden fluir sin obstáculos directamente por la estructura troncal del modelo. Organizaciones de investigación en IA de prestigio, como Google DeepMind y OpenAI, aprovechan con frecuencia estos atajos arquitectónicos para estabilizar el entrenamiento de modelos fundacionales de gran tamaño.
Mapeo de identidad frente a preservación de identidad#
Es fundamental distinguir el mapeo de identidad de la preservación de identidad, de nombre similar.
Mientras que el mapeo de identidad es una característica estructural del código de una red neuronal diseñada para optimizar el flujo de entrenamiento del aprendizaje automático (ML), la preservación de identidad es una tarea de visión artificial distinta. La preservación de identidad se centra en mantener la coherencia visual de una persona u objeto concreto entre distintos fotogramas de vídeo en el seguimiento de objetos, o entre imágenes generadas en flujos de trabajo de IA generativa.
Aplicaciones en el mundo real#
El mapeo de identidad es un componente fundamental de muchos modelos de gran precisión que se utilizan actualmente en producción:
- Detección avanzada de objetos: Las arquitecturas modernas en tiempo real, incluida la última versión de Ultralytics YOLO26, utilizan bloques residuales avanzados con mapas de identidad en sus capas de extracción de características. Esto les permite realizar detecciones rápidas y precisas en entornos complejos, como la conducción autónoma, sin que el rendimiento disminuya a medida que aumenta la profundidad de la red.
- Modelos de clasificación de imágenes: Las arquitecturas de visión más avanzadas, ampliamente documentadas en repositorios académicos como arXiv y la Biblioteca Digital IEEE Xplore, se basan en mapeos de identidad para entrenar correctamente modelos con cientos de capas. Los frameworks de alto nivel, como TensorFlow, utilizan estos atajos para extraer características jerárquicas muy complejas de conjuntos de datos masivos.
Implementación del mapeo de identidad en PyTorch#
Al crear redes neuronales personalizadas, los frameworks de aprendizaje profundo, como PyTorch, ofrecen herramientas nativas para implementar estos atajos con facilidad. Puedes usar explícitamente el módulo PyTorch nn.Identity o, simplemente, aplicar una suma matemática durante la pasada hacia delante de tu nn.Module.
El siguiente fragmento muestra un bloque residual básico que utiliza un mapa de identidad. Ten en cuenta que quienes usan la plataforma Ultralytics basada en la nube para gestionar conjuntos de datos y entrenar modelos se benefician automáticamente de estas estructuras arquitectónicas altamente optimizadas.
import torch.nn as nn
class ResidualBlock(nn.Module):
def __init__(self, channels):
super().__init__()
# Una capa convolucional sencilla para la extracción de características
self.conv = nn.Conv2d(channels, channels, kernel_size=3, padding=1)
# Módulo de mapeo de identidad explícito
self.identity = nn.Identity()
def forward(self, x):
# La salida del bloque es la suma de las características aprendidas y el mapa de identidad
return self.conv(x) + self.identity(x)








