Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Redes Residuais (ResNet)

Explore o poder das redes residuais (ResNet). Saiba como as ligações de salto resolvem o problema do gradiente desaparecido para permitir o aprendizado profundo para a visão computacional.

As redes residuais, amplamente conhecidas como ResNets, são um tipo específico de arquitetura de rede neural artificial (ANN) projetada para permitir o treinamento de redes extremamente profundas. Introduzida por pesquisadores da Microsoft 2015, a ResNet resolveu um gargalo crítico no aprendizado profundo conhecido como problema do gradiente desaparecido. Nas redes tradicionais, o empilhamento de mais camadas muitas vezes levava à saturação ou degradação do desempenho, porque o sinal necessário para atualizar os pesos do modelo desaparecia à medida que se propagava para trás através das camadas. A ResNet introduziu as "conexões de salto" (ou conexões residuais), que permitem que os dados contornem uma ou mais camadas e fluam diretamente para os estágios de processamento subsequentes. Essa inovação provou que redes mais profundas poderiam ser treinadas de forma eficaz, levando a avanços significativos na visão computacional (CV) e tornando-se um conceito fundamental para arquiteturas modernas.

O conceito central: aprendizagem residual

A característica definidora de uma ResNet é o «bloco residual». Numa rede neural convolucional (CNN) padrão, cada camada tenta aprender um mapeamento direto da entrada para a saída. À medida que as redes se tornam mais profundas, aprender esse mapeamento direto torna-se cada vez mais difícil.

O ResNet altera essa abordagem ao formular o objetivo de aprendizagem de maneira diferente. Em vez de esperar que cada pilha de camadas aprenda todo o mapeamento subjacente, o bloco residual força as camadas a aprender o «resíduo» — ou a diferença — entre a entrada e a saída desejada. A entrada original é então adicionada de volta ao residual aprendido através de uma conexão de salto. Essa mudança estrutural implica que, se um mapeamento de identidade (passando a entrada inalterada) for ótimo, a rede pode facilmente aprender a empurrar os resíduos para zero. Isso torna os modelos de aprendizagem profunda (DL) muito mais fáceis de otimizar, permitindo que eles sejam dimensionados de dezenas para centenas ou até milhares de camadas.

Principais variantes arquitetónicas

Desde a sua criação, várias variações do ResNet tornaram-se referências padrão na comunidade de IA.

  • ResNet-50: Uma versão de 50 camadas que utiliza um design de «gargalo». Este design utiliza convoluções 1x1 para reduzir e depois restaurar dimensões, tornando a rede computacionalmente eficiente, mantendo uma elevada precisão.
  • ResNet-101 e ResNet-152: variantes mais profundas com 101 e 152 camadas, respetivamente. Estas são frequentemente utilizadas quando os recursos computacionais permitem uma maior complexidade para capturar mapas de características mais complexos .
  • ResNeXt: Uma evolução do ResNet que introduz uma dimensão de «cardinalidade», dividindo o bloco residual em vários caminhos paralelos, o que melhora a eficiência e o desempenho.

Aplicações no Mundo Real

A robustez das arquiteturas ResNet tornou-as a escolha preferida para uma ampla gama de tarefas visuais.

  • Análise de imagens médicas: Na área da saúde, identificar anomalias subtis em exames de alta resolução é fundamental. Modelos baseados em ResNet são frequentemente empregados para detect como tumores em imagens médicas, onde a profundidade da rede ajuda a discernir padrões detalhados em dados de ressonância magnética ou tomografia computadorizada.
  • Veículos autónomos: Os carros autônomos requerem extração confiável de recursos a partir de imagens de câmaras para identificar pedestres, sinais e obstáculos. As ResNets costumam servir como base para sistemas de deteção de objetos em aplicações de IA no setor automotivo, fornecendo os recursos visuais necessários para uma navegação segura.

ResNet vs. Outras Arquiteturas

É útil distinguir a ResNet de outras arquiteturas populares para compreender a sua utilidade específica.

  • ResNet vs. VGG: As redes VGG (Visual Geometry Group) também são CNNs profundas, mas não possuem conexões residuais. Consequentemente, são muito mais difíceis de treinar em profundidades comparáveis à ResNet e geralmente são mais dispendiosas em termos computacionais devido às suas grandes camadas totalmente conectadas.
  • ResNet vs. Inception: As redes Inception concentram-se na largura, utilizando filtros de vários tamanhos dentro da mesma camada para capturar características em diferentes escalas. A ResNet concentra-se na profundidade. Arquiteturas modernas como a Inception-ResNet combinam ambos os conceitos.
  • ResNet vs. Vision Transformer (ViT): Enquanto os ViTs utilizam mecanismos de autoatenção para processar imagens globalmente, os ResNets dependem de convoluções locais. No entanto, os ResNets continuam a ser uma base sólida e são frequentemente mais rápidos para conjuntos de dados menores ou inferência em tempo real .

Exemplo de implementação

Bibliotecas modernas de deep learning, como PyTorch o acesso a modelos ResNet pré-treinados. Esses modelos são inestimáveis para o aprendizado por transferência, em que um modelo treinado em um grande conjunto de dados, como ImageNet é ajustado para uma tarefa específica.

O seguinte Python demonstra como carregar um modelo ResNet-50 pré-treinado usando torchvision (parte do PyTorch ) e execute uma passagem simples. Enquanto os utilizadores do Plataforma Ultralytics pode usar frequentemente YOLO26 Para a deteção, compreender os conceitos básicos subjacentes, como o ResNet, é crucial para uma personalização avançada.

import torch
import torchvision.models as models

# Load a pre-trained ResNet-50 model
resnet50 = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)
resnet50.eval()  # Set model to evaluation mode

# Create a dummy input tensor (batch_size, channels, height, width)
input_tensor = torch.randn(1, 3, 224, 224)

# Perform a forward pass to get predictions
with torch.no_grad():
    output = resnet50(input_tensor)

print(f"Output shape: {output.shape}")  # Expect [1, 1000] for ImageNet classes

Importância na IA moderna

Embora arquiteturas mais recentes, como YOLO26, empreguem estruturas altamente otimizadas para máxima velocidade e precisão, os princípios da aprendizagem residual permanecem onipresentes. O conceito de conexões de salto é agora um componente padrão em muitas redes avançadas, incluindo transformadores usados no processamento de linguagem natural (NLP) e nos modelos mais recentes de detecção de objetos. Ao permitir que as informações fluam mais livremente pela rede, o ResNet abriu caminho para os modelos profundos e complexos que alimentam a inteligência artificial atual.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora