Como funciona
Uma rede neural convolucional é um tipo de rede neural que processa dados usando operações chamadas convoluções. Em imagens, essas operações percorrem pequenas regiões e identificam padrões locais, como bordas, cores e texturas. Os filtros que detectam os padrões são ajustados durante o treinamento, em vez de serem definidos manualmente.
As primeiras camadas costumam aprender características simples. Camadas posteriores combinam essas características para representar formas, partes de objetos e estruturas mais amplas. Esse processo hierárquico permite que o modelo reconheça combinações complexas sem receber uma lista manual de todos os padrões possíveis.
Uma convolução compartilha os mesmos pesos do filtro ao percorrer diferentes posições da imagem. Isso reduz a quantidade de parâmetros em comparação com uma camada totalmente conectada que tratasse cada pixel de forma independente. A rede também pode usar operações de redução, como pooling, para resumir regiões e diminuir o tamanho das representações intermediárias.
O treinamento compara as previsões da rede com exemplos rotulados e ajusta os pesos para reduzir os erros. Depois do treinamento, a CNN recebe uma entrada nova e calcula uma previsão, como a classe provável de uma imagem. A qualidade depende dos dados, da arquitetura, da tarefa e da avaliação feita fora dos exemplos de treinamento.
Exemplo prático
Considere um aplicativo que separa fotos de recibos e documentos comuns. Uma CNN pode aprender padrões visuais associados a cada categoria, como blocos de texto, linhas, logotipos e organização da página. O sistema recebe uma imagem e estima a classe que melhor corresponde ao que aprendeu.
Para criar uma primeira versão, a equipe reúne exemplos representativos, separa dados para treinamento e avaliação, e verifica erros em imagens que o modelo ainda não viu. Se fotos escuras ou inclinadas causarem falhas, esses casos precisam aparecer na avaliação e, se possível, no conjunto de treinamento.
Em um projeto de inspeção industrial, a entrada pode ser uma fotografia de uma peça. A CNN pode identificar regiões que merecem revisão humana. O modelo não deve ser considerado infalível: iluminação, ângulo, qualidade da câmera e diferenças entre lotes podem alterar as previsões.
Para que serve
CNNs são usadas em tarefas de visão computacional, como classificação de imagens, detecção de objetos, segmentação e análise de vídeo. Também podem processar outros dados com estrutura local, desde que a arquitetura seja adequada ao formato da entrada.
Para uma pessoa desenvolvedora, o ponto prático é reconhecer quando a tarefa envolve padrões espaciais ou locais. Se o objetivo é localizar um objeto numa imagem, uma classificação simples talvez não seja suficiente; pode ser necessária uma arquitetura de detecção ou segmentação construída sobre operações convolucionais.
Hoje existem outras arquiteturas de visão, incluindo modelos baseados em atenção. A escolha não deve ser feita apenas pelo nome da arquitetura. Compare alternativas com os mesmos dados e critérios, observe os erros relevantes para o produto e considere o custo de execução no ambiente real.
Uma CNN não é uma biblioteca pronta nem um conjunto de dados. É uma família de arquiteturas. Para usar uma, o projeto ainda precisa definir a tarefa, preparar os dados, treinar ou selecionar um modelo adequado e monitorar seu comportamento após a implantação.