Renée Rodrigues

Sumário > Modelos de Inteligência Artificial

Redes Neurais Convolucionais

As Redes Neurais Convolucionais (Convolutional Neural Networks - CNNs) são um tipo especial de redes neurais projetadas para processar e analisar dados com estrutura de grade, como imagens, vídeos ou dados de séries temporais. Elas são amplamente utilizadas em visão computacional e outras aplicações que envolvem análise de dados espaciais.

Estrutura e Funcionamento das CNNs

As CNNs são compostas por uma série de camadas especializadas que aprendem a extrair características importantes dos dados de entrada, como bordas, texturas e formas, em imagens, por exemplo. Aqui estão as principais camadas em uma CNN:

  1. Camadas de Convolução (Convolutional Layers):
    • Como funciona: As camadas de convolução aplicam filtros (ou kernels) sobre a entrada, que são pequenas matrizes que percorrem a imagem ou os dados de entrada, realizando operações de convolução. Cada filtro detecta características específicas, como bordas horizontais, verticais, curvas, etc.
    • Exemplo: Em uma imagem, a convolução pode detectar bordas ou regiões de contraste, onde há transições bruscas entre os pixels. Diferentes filtros capturam diferentes padrões.
  2. Camadas de Pooling (Pooling Layers):
    • Como funciona: Essas camadas são usadas para reduzir a dimensionalidade dos dados, ou seja, para reduzir o tamanho da imagem ou dos mapas de características, mantendo as informações mais relevantes. A técnica mais comum é o max pooling, que seleciona o valor máximo em uma região de pixels.
    • Exemplo: Uma imagem de alta resolução pode ser reduzida, preservando apenas as características mais fortes ou dominantes em cada região, o que ajuda a reduzir a quantidade de processamento e os custos computacionais.
  3. Camadas de Ativação (Activation Layers):
    • Como funciona: Após a convolução, as CNNs aplicam uma função de ativação, geralmente a ReLU (Rectified Linear Unit), que introduz a não-linearidade no modelo, permitindo que ele aprenda representações mais complexas.
    • Exemplo: A função ReLU transforma valores negativos em zero, deixando valores positivos inalterados. Isso ajuda a acelerar o aprendizado e torna o modelo mais eficiente.
  4. Camadas Totalmente Conectadas (Fully Connected Layers):
    • Como funciona: No final da rede, as CNNs podem ter uma ou mais camadas totalmente conectadas, onde cada neurônio está conectado a todos os neurônios da camada anterior. Essas camadas são usadas para fazer previsões com base nas características extraídas nas camadas anteriores.
    • Exemplo: Após passar por várias camadas convolucionais e pooling, as características extraídas de uma imagem são usadas para classificar a imagem em categorias, como “gato” ou “cachorro”.

Fluxo de uma CNN

  1. Entrada: A CNN recebe uma imagem ou outro dado de formato de grade como entrada (ex.: uma imagem de 32x32 pixels com 3 canais de cor, representando o RGB).

  2. Camadas de Convolução e Pooling: Várias camadas convolucionais extraem características de nível baixo (bordas) a características de nível alto (formas complexas). O pooling reduz as dimensões, mantendo as informações mais importantes.

  3. Camadas Totalmente Conectadas: As características extraídas passam por camadas densamente conectadas para que o modelo tome uma decisão final.

  4. Saída: A CNN faz uma previsão ou classificação final, como identificar o objeto presente na imagem.

Aplicações das CNNs

As CNNs são amplamente utilizadas em várias aplicações, incluindo:

  1. Reconhecimento de Imagens: CNNs são usadas para reconhecer e classificar objetos em imagens, como no famoso desafio ImageNet, onde modelos de CNN têm superado humanos em algumas tarefas de classificação de imagens.

  2. Detecção de Objetos: Elas são usadas para detectar e localizar objetos específicos em uma imagem. Modelos como o YOLO (You Only Look Once) são baseados em CNNs para identificar múltiplos objetos em tempo real.

  3. Análise de Vídeo: As CNNs também podem ser usadas para analisar quadros em vídeos, identificando objetos em movimento e atividades, como em sistemas de segurança ou reconhecimento facial.

  4. Reconhecimento de Manuscritos e Texto: CNNs são frequentemente usadas para reconhecer caracteres manuscritos ou texto impresso, como nos serviços de OCR (Optical Character Recognition).

  5. Processamento de Sinais e Áudio: Além de imagens, CNNs também têm sido aplicadas em dados de séries temporais, como análise de áudio ou sinais, para detectar padrões em dados sonoros ou fisiológicos.

Vantagens das CNNs

Modelos Populares Baseados em CNNs

  1. LeNet (1998): Um dos primeiros modelos de CNN desenvolvido por Yann LeCun, usado principalmente para reconhecimento de dígitos manuscritos no conjunto de dados MNIST.

  2. AlexNet (2012): Ganhador da competição ImageNet em 2012, revolucionou a área de visão computacional com redes mais profundas e camadas convolucionais eficientes.

  3. VGGNet (2014): Famosa por sua arquitetura muito profunda, usando pequenas camadas de convolução (3x3) empilhadas, o que aumentou a precisão em muitas tarefas de visão computacional.

  4. ResNet (2015): Introduziu a ideia de conexões residuais, permitindo que redes extremamente profundas fossem treinadas de forma eficiente.

As CNNs continuam sendo uma das principais ferramentas para tarefas relacionadas a imagens, vídeos e sinais, impulsionando avanços significativos em áreas como carros autônomos, diagnósticos médicos por imagem e realidade aumentada.

Renée Maksoud - outubro de 2024