AI-For-Beginners/translations/pt-BR/lessons/4-ComputerVision/07-ConvNets
localizeflow[bot] 2ad0936ddc chore(i18n): sync translations with latest source changes (chunk 3/8, 8 changes) 2026-01-30 01:46:00 +00:00
..
lab chore(i18n): sync translations with latest source changes (chunk 3/8, 8 changes) 2026-01-30 01:46:00 +00:00
CNN_Architectures.md chore(i18n): sync translations with latest source changes (chunk 2/8, 134 changes) 2026-01-30 01:45:58 +00:00
ConvNetsPyTorch.ipynb chore(i18n): sync translations with latest source changes (chunk 2/8, 134 changes) 2026-01-30 01:45:58 +00:00
ConvNetsTF.ipynb chore(i18n): sync translations with latest source changes (chunk 2/8, 134 changes) 2026-01-30 01:45:58 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 2/8, 134 changes) 2026-01-30 01:45:58 +00:00

README.md

Redes Neurais Convolucionais

Já vimos anteriormente que redes neurais são bastante eficazes ao lidar com imagens, e até mesmo um perceptron de uma camada consegue reconhecer dígitos manuscritos do conjunto de dados MNIST com uma precisão razoável. No entanto, o conjunto de dados MNIST é muito especial, pois todos os dígitos estão centralizados na imagem, o que torna a tarefa mais simples.

Quiz pré-aula

Na vida real, queremos ser capazes de reconhecer objetos em uma imagem independentemente de sua localização exata. Visão computacional é diferente de classificação genérica, porque, ao tentar encontrar um determinado objeto na imagem, estamos escaneando a imagem em busca de padrões específicos e suas combinações. Por exemplo, ao procurar um gato, podemos primeiro buscar linhas horizontais, que podem formar os bigodes, e então uma certa combinação de bigodes pode nos indicar que se trata de uma imagem de um gato. A posição relativa e a presença de certos padrões são importantes, e não sua posição exata na imagem.

Para extrair padrões, utilizaremos o conceito de filtros convolucionais. Como você sabe, uma imagem é representada por uma matriz 2D ou um tensor 3D com profundidade de cor. Aplicar um filtro significa que pegamos uma matriz relativamente pequena chamada kernel do filtro, e para cada pixel na imagem original calculamos a média ponderada com os pontos vizinhos. Podemos imaginar isso como uma pequena janela deslizando sobre toda a imagem e calculando a média de todos os pixels de acordo com os pesos na matriz do kernel do filtro.

Filtro de Borda Vertical Filtro de Borda Horizontal

Imagem por Dmitry Soshnikov

Por exemplo, se aplicarmos filtros de borda vertical e horizontal de 3x3 aos dígitos do MNIST, podemos destacar (por exemplo, valores altos) onde há bordas verticais e horizontais na imagem original. Assim, esses dois filtros podem ser usados para "procurar" bordas. Da mesma forma, podemos projetar diferentes filtros para buscar outros padrões de baixo nível:

Imagem do Leung-Malik Filter Bank

No entanto, enquanto podemos projetar filtros manualmente para extrair alguns padrões, também podemos projetar a rede de forma que ela aprenda os padrões automaticamente. Essa é uma das principais ideias por trás das CNNs.

Principais ideias por trás das CNNs

O funcionamento das CNNs é baseado nas seguintes ideias importantes:

  • Filtros convolucionais podem extrair padrões
  • Podemos projetar a rede de forma que os filtros sejam treinados automaticamente
  • Podemos usar a mesma abordagem para encontrar padrões em características de alto nível, não apenas na imagem original. Assim, a extração de características pelas CNNs funciona em uma hierarquia de características, começando com combinações de pixels de baixo nível até combinações de alto nível de partes da imagem.

Extração Hierárquica de Características

Imagem de um artigo de Hislop-Lynch, baseado em sua pesquisa

✍️ Exercícios: Redes Neurais Convolucionais

Vamos continuar explorando como as redes neurais convolucionais funcionam e como podemos obter filtros treináveis, trabalhando nos notebooks correspondentes:

Arquitetura de Pirâmide

A maioria das CNNs usadas para processamento de imagens segue a chamada arquitetura de pirâmide. A primeira camada convolucional aplicada às imagens originais geralmente possui um número relativamente baixo de filtros (8-16), que correspondem a diferentes combinações de pixels, como linhas horizontais/verticais ou traços. No próximo nível, reduzimos a dimensão espacial da rede e aumentamos o número de filtros, o que corresponde a mais combinações possíveis de características simples. Com cada camada, à medida que avançamos para o classificador final, as dimensões espaciais da imagem diminuem e o número de filtros aumenta.

Como exemplo, vejamos a arquitetura do VGG-16, uma rede que alcançou 92,7% de precisão na classificação top-5 do ImageNet em 2014:

Camadas do ImageNet

Pirâmide do ImageNet

Imagem de Researchgate

Arquiteturas de CNN Mais Conhecidas

Continue seus estudos sobre as arquiteturas de CNN mais conhecidas