Rede Neural Convolucional (CNN)
Descubra como as Redes Neuronais Convolucionais (CNNs) revolucionam a visão computacional, impulsionando a IA nos cuidados de saúde, carros autónomos e muito mais.
Uma rede neural convolucional (CNN) é um tipo especializado de rede neural (NN) que é altamente eficaz no processamento de dados com uma topologia semelhante a uma grelha, como as imagens. Inspiradas no córtex visual humano, as CNN aprendem automaticamente e de forma adaptativa hierarquias espaciais de caraterísticas a partir dos dados de entrada. Isto faz delas a arquitetura fundamental para a maioria das tarefas modernas de visão computacional (CV), onde alcançaram resultados de ponta em tudo, desde a classificação de imagens à deteção de objectos.
Como funciona a Cnn
Ao contrário de uma rede neuronal normal, em que cada neurónio de uma camada está ligado a cada neurónio da camada seguinte, as CNN utilizam uma operação matemática especial denominada convolução. Isto permite que a rede aprenda caraterísticas num campo recetivo local, preservando as relações espaciais entre pixels.
Uma arquitetura típica de uma CNN é composta por várias camadas fundamentais:
- Camada convolucional: Este é o bloco de construção central onde um filtro, ou kernel, desliza sobre a imagem de entrada para produzir mapas de caraterísticas. Estes mapas realçam padrões como arestas, cantos e texturas. O tamanho destes filtros e os padrões que detectam são aprendidos durante a formação do modelo.
- Camada de ativação: Após cada convolução, é aplicada uma função de ativação como a ReLU para introduzir não-linearidade, permitindo ao modelo aprender padrões mais complexos.
- Camada de pooling (redução da amostragem): Esta camada reduz as dimensões espaciais (largura e altura) dos mapas de caraterísticas, o que diminui a carga computacional e ajuda a tornar as caraterísticas detectadas mais robustas às alterações de posição e orientação. Um artigo clássico sobre o tema é ImageNet Classification with Deep Convolutional Neural Networks.
- Camada totalmente conectada: Depois de várias camadas convolucionais e de pooling, as caraterísticas de alto nível são achatadas e passadas para uma camada totalmente conectada, que efectua a classificação com base nas caraterísticas aprendidas.
Cnn vs. outras arquitecturas
Embora as CNNs sejam um tipo de modelo de aprendizagem profunda, diferem significativamente de outras arquitecturas.
- Redes Neuronais (NNs): Uma NN padrão trata os dados de entrada como um vetor plano, perdendo toda a informação espacial. As CNNs preservam esta informação, tornando-as ideais para a análise de imagens.
- Transformadores da visão (ViTs): Ao contrário das CNNs, que têm uma forte tendência indutiva para a localidade espacial, ViTs tratam uma imagem como uma sequência de manchas e utilizam um auto-atenção mecanismo para aprender relações globais. Os ViT requerem frequentemente mais dados para serem treinados, mas podem ser excelentes em tarefas em que o contexto a longo prazo é importante. Muitos modelos modernos, como RT-DETRutilizam uma abordagem híbrida, combinando uma CNN
backbone
com um transformador detection head
.
Aplicações no mundo real
As CNNs são a força motriz por detrás de inúmeras aplicações do mundo real:
- Deteção de objectos: Os modelos da família Ultralytics YOLO, como o YOLOv8 e o YOLO11, utilizam backbones CNN para identificar e localizar objectos em imagens e vídeos com uma velocidade e precisão notáveis. Esta tecnologia é crucial para tudo, desde a IA em sistemas automóveis até à gestão de inventário orientada para a IA.
- Análise de imagens médicas: Na área da saúde, as CNNs ajudam os radiologistas a analisar exames médicos (raios X, ressonâncias magnéticas, TACs) para detetar tumores, fracturas e outras anomalias. Esta aplicação ajuda a melhorar a velocidade e a consistência dos diagnósticos, conforme salientado em investigações de instituições como os Institutos Nacionais de Saúde (NIH). Para mais informações, pode explorar a análise de imagens médicas com Ultralytics.
- Segmentação de imagens: Para tarefas que exigem uma compreensão ao nível do pixel, como nos veículos autónomos que precisam de distinguir a estrada de um peão, as arquitecturas baseadas em CNN, como a U-Net, são amplamente utilizadas para a segmentação de imagens.
Ferramentas e estruturas
O desenvolvimento e a implementação de CNNs são apoiados por ferramentas e estruturas poderosas: