Descubra como as ResNets revolucionam o aprendizado profundo ao resolver o problema dos gradientes que desaparecem, permitindo redes ultrad profundas para análise de imagens, PNL e muito mais.
As redes residuais, amplamente conhecidas como ResNets, representam um avanço fundamental no domínio da inteligência artificial (IA) e da visão computacional (CV). Introduzida em 2015 por investigadores da Microsoft Research, esta arquitetura abordou um desafio significativo na aprendizagem profunda (DL) conhecido como o problema do gradiente de desaparecimento. Antes do advento da ResNet, aumentar a profundidade de uma de uma rede neural (NN) resultava frequentemente em diminuindo, onde adicionar mais camadas aumentava os erros de treinamento. A ResNet resolveu este problema introduzindo as "ligações de salto conexões", permitindo o treinamento bem-sucedido de redes redes com centenas ou mesmo milhares de camadas, mantendo uma elevada precisão.
A caraterística que define uma ResNet é o bloco residual. Numa rede neural convolucional tradicional (CNN), as camadas são empilhadas sequencialmente e cada camada tenta aprender diretamente um mapeamento das entradas para as saídas. No entanto, à medida que as redes se tornam mais profundas, o sinal dos dados de entrada pode degradar-se antes de chegar ao fim da rede.
A ResNet introduz um "atalho" ou ligação de salto que permite que a entrada de uma camada seja adicionada diretamente à à sua saída. Este mecanismo diz essencialmente à rede para aprender o "residual" (a diferença) entre a entrada e a saída óptima, em vez de aprender toda a transformação a partir do zero. Esta arquitetura Esta arquitetura preserva o fluxo de informação e facilita uma melhor extração de caraterísticas, permitindo ao modelo capturar padrões complexos, como texturas e formas, sem perder os dados de entrada originais. Pode ler o original artigo original sobre Aprendizagem Residual Profunda para Reconhecimento de Imagens para compreender a fundamentos matemáticos.
A ResNet é considerada uma espinha dorsal fundamental para muitos sistemas de visão modernos. A sua capacidade de treinar redes muito profundas permite a criação de modelos altamente robustos que podem ter um bom desempenho em conjuntos de dados de grande escala como o ImageNet.
A arquitetura é particularmente importante para a aprendizagem por transferência. Como os modelos pré-treinados da ResNet pré-treinados aprenderam mapas de caraterísticas ricas de dados, podem ser ajustados para tarefas específicas com conjuntos de dados relativamente pequenos. Esta versatilidade faz da ResNet uma escolha padrão para tarefas que vão desde a classificação de imagens a análises complexas de de vídeo.
A estabilidade e a profundidade proporcionadas pela ResNet permitiram a sua utilização em ambientes críticos e de alto risco.
É útil distinguir a ResNet de outras arquitecturas comuns encontradas em bibliotecas de aprendizagem profunda, como PyTorch ou TensorFlow:
Pode facilmente tirar partido dos modelos ResNet para tarefas de classificação utilizando o ultralytics pacote Python . Este
permite-lhe aceder a pesos pré-treinados e efetuar inferências com um código mínimo.
from ultralytics import YOLO
# Load a pre-trained ResNet50 model capable of classifying images
model = YOLO("resnet50.pt") # Downloads the model weights automatically
# Perform inference on an image URL
results = model("https://ultralytics.com/images/bus.jpg")
# Display the top classification result
print(f"Top class: {results[0].names[results[0].probs.top1]}")
Para os interessados em compreender a teoria mais profunda, cursos como CS231n de Stanford fornecem excelentes recursos académicos sobre arquitecturas CNN. Quer esteja a construir um classificador simples ou um sistema complexo para para fabrico inteligente, compreender a ResNet é é essencial para dominar a visão computacional moderna.