Identity Mapping
Explora o mapeamento de identidade em deep learning. Aprende como as skip connections evitam gradientes desvanecentes para potenciar redes neuronais como o Ultralytics YOLO26.
Na mathematics e na álgebra linear, um mapa de identidade ou identity matrix é uma função que retorna exatamente o mesmo valor que foi usado como entrada. No contexto de artificial intelligence (AI) e deep learning, o mapeamento de identidade refere-se a uma técnica arquitetônica específica usada para passar dados de entrada diretamente para camadas subsequentes de uma convolutional neural network (CNN) sem quaisquer transformações não lineares. Este conceito foi amplamente popularizado pela introdução das Residual Networks (ResNet) em 2015, que revolucionaram a forma como os modelos profundos de computer vision (CV) são estruturados e treinados.
Como o Identity Mapping funciona#
As redes neurais profundas sofrem frequentemente com o problema do vanishing gradient. Durante a retropropagação, os sinais de erro usados para atualizar os pesos da rede tornam-se exponencialmente menores à medida que viajam para trás através das camadas, impedindo que as camadas iniciais aprendam eficazmente. O mapeamento de identidade resolve isto criando "conexões de salto" ou "conexões de atalho".
Em vez de forçar camadas sequenciais a aprenderem um mapeamento totalmente novo e não referenciado, elas são projetadas para aprender uma função residual. Matematicamente, se a entrada para um bloco for x, a camada aprende uma transformação F(x). O mapeamento de identidade adiciona a entrada original x diretamente à saída dessa transformação, resultando na saída final F(x) + x. Isto garante que, mesmo em redes extremamente profundas, os gradientes possam fluir sem impedimentos diretamente através do model backbone. Organizações respeitáveis de pesquisa em IA como o Google DeepMind e a OpenAI aproveitam frequentemente estes atalhos arquitetônicos para estabilizar o treinamento em modelos fundamentais massivos.
Identity Mapping vs. Identity Preservation#
É crucial distinguir o mapeamento de identidade da identity preservation, que tem um nome semelhante.
Embora o mapeamento de identidade seja um recurso de código estrutural de uma rede neural projetado para otimizar o fluxo de treinamento de machine learning (ML), a preservação de identidade é uma computer vision task distinta. A preservação de identidade concentra-se em manter a consistência visual de uma pessoa ou objeto específico em diferentes quadros de vídeo no rastreamento de objetos ou em imagens geradas em fluxos de trabalho de IA generativa.
Aplicações no Mundo Real#
O identity mapping serve como o bloco de construção fundamental para muitos modelos de alta precisão usados em produção hoje:
- Advanced Object Detection: Arquiteturas modernas em tempo real, incluindo o mais recente Ultralytics YOLO26, utilizam blocos residuais avançados contendo mapas de identidade em suas camadas de extração de características. Isso permite que realizem detecção de alta velocidade e precisão em ambientes complexos como autonomous driving sem degradar o desempenho à medida que a profundidade da rede aumenta.
- Image Classification Models: Arquiteturas de visão de última geração, extensivamente documentadas em repositórios acadêmicos como o arXiv e a IEEE Xplore Digital Library, dependem de mapeamentos de identidade para treinar com sucesso modelos com centenas de camadas. Frameworks de alto nível como o TensorFlow usam esses atalhos para extrair características hierárquicas altamente complexas de conjuntos de dados massivos.
Implementando Identity Mapping no PyTorch#
Ao construir redes neurais personalizadas, frameworks de deep learning como o PyTorch fornecem ferramentas nativas para implementar esses atalhos sem esforço. Podes usar explicitamente o módulo PyTorch nn.Identity ou simplesmente aplicar a adição matemática dentro da tua passagem de avanço (forward pass) do nn.Module.
O trecho a seguir demonstra um bloco residual básico utilizando um mapa de identidade. Nota que os desenvolvedores que utilizam a Ultralytics Platform baseada em nuvem para gerenciamento de datasets e treinamento de modelos beneficiam-se automaticamente dessas estruturas arquitetônicas altamente otimizadas por trás dos panos.
import torch.nn as nn
class ResidualBlock(nn.Module):
def __init__(self, channels):
super().__init__()
# A simple convolutional layer for feature extraction
self.conv = nn.Conv2d(channels, channels, kernel_size=3, padding=1)
# Explicit identity mapping module
self.identity = nn.Identity()
def forward(self, x):
# The block output is the sum of the learned features and the identity map
return self.conv(x) + self.identity(x)





