Deep LearningLeonardo Peña

Deep Learning: Redes Neurais Convolucionais (CNNs)

5 Abr, 2026
12 min
Deep Learning: Redes Neurais Convolucionais (CNNs)

Deep Learning: Redes Neurais Convolucionais (CNNs)

Redes Neurais Convolucionais (CNNs) revolucionaram o campo de visão computacional. Vamos explorar como funcionam e por que são tão eficazes.

Fundamentos das Convoluções

Uma convolução é uma operação matemática que aplica um filtro a uma imagem. O filtro desliza sobre a imagem, computando a soma ponderada de pixels.

Como Funciona a Convolução

  1. Um filtro (kernel) de tamanho fixo (ex: 3x3) é posicionado na imagem
  2. Multiplica-se cada pixel pela correspondente posição do filtro
  3. Soma-se todos os produtos
  4. O resultado é um valor único
  5. O filtro desliza para a próxima posição e repete

Este processo extrai features locais da imagem, como bordas, texturas e padrões.

Componentes Principais de uma CNN

  1. Camada Convolucional: Aplica múltiplos filtros para extrair features
  2. Ativação (ReLU): Introduz não-linearidade com max(0, x)
  3. Pooling: Reduz dimensionalidade, mantendo informações importantes
  4. Fully Connected: Camadas tradicionais de rede neural para classificação

Arquiteturas Clássicas

LeNet (1998)

Primeira CNN bem-sucedida, usada para reconhecimento de dígitos manuscritos. Arquitetura simples:

  • 2 camadas convolucionais
  • 2 camadas de pooling
  • 2 camadas fully connected

Apesar de simples, demonstrou o potencial das CNNs.

AlexNet (2012)

Ganhou ImageNet com grande margem, iniciando a era do deep learning. Inovações:

  • 8 camadas (5 convolucionais + 3 fully connected)
  • Uso de ReLU em vez de tanh
  • Dropout para regularização
  • GPU para treinamento

VGG (2014)

Demonstrou que profundidade é importante. Arquitetura simples mas poderosa:

  • Blocos de 2-3 convoluções seguidas de pooling
  • Aumenta progressivamente o número de filtros
  • Reduz dimensionalidade com pooling

Apesar de simples, VGG é ainda muito usada como backbone.

ResNet (2015)

Introduziu conexões residuais (skip connections), permitindo treinar redes muito profundas:

  • Conexões que pulam 1-2 camadas
  • Permite gradientes fluirem melhor durante backprop
  • Possibilita redes com 50, 101, 152 camadas

ResNet revolucionou o campo ao mostrar que redes muito profundas são viáveis.

Vision Transformer (2020)

Aplica mecanismo de atenção a patches de imagem, rivalizando com CNNs:

  • Divide imagem em patches
  • Aplica transformer (similar a BERT)
  • Alcança resultados comparáveis a CNNs
  • Mais eficiente em dados grandes

Aplicações Práticas

Classificação de Imagens

Determinar a categoria de uma imagem (gato, cachorro, carro, etc.)

Detecção de Objetos

Localizar e classificar múltiplos objetos em uma imagem (YOLO, Faster R-CNN)

Segmentação Semântica

Classificar cada pixel da imagem (U-Net, DeepLab)

Reconhecimento Facial

Identificar pessoas em imagens (FaceNet, ArcFace)

Análise Médica de Imagens

Diagnosticar doenças em radiografias e ressonâncias (CheXNet)

Dicas de Implementação

Use Transfer Learning

Modelos pré-treinados em ImageNet são excelentes pontos de partida:

python
from torchvision import models

# Carregar ResNet50 pré-treinado
model = models.resnet50(pretrained=True)

# Congelar pesos
for param in model.parameters():
    param.requires_grad = False

# Substituir camada final
model.fc = torch.nn.Linear(2048, num_classes)

# Treinar apenas a última camada

Data Augmentation

Aumentar dataset com transformações:

  • Rotações
  • Flips
  • Zoom
  • Mudanças de brilho/contraste

Regularização

Evitar overfitting:

  • Dropout
  • L1/L2 regularization
  • Early stopping
  • Batch normalization

Tendências Atuais

  • Eficiência: MobileNet, EfficientNet para dispositivos móveis
  • Robustez: Modelos resistentes a adversarial examples
  • Interpretabilidade: Entender decisões do modelo
  • Multimodal: Combinar imagem com texto (CLIP, BLIP)

Conclusão

CNNs revolucionaram visão computacional e continuam sendo fundamentais. Compreender sua arquitetura é essencial para qualquer profissional de Deep Learning.

Próximo passo: explore implementações com PyTorch ou TensorFlow e experimente com seus próprios datasets!

Compartilhe este artigo: