Redes Neurais Convolucionais

Traduzido do inglês

Uma rede neural convolucional (CNN) é uma rede neural feedforward que aprende características por meio da otimização de filtros, comumente usada para dados em formato de grade, como imagens. Ela emprega camadas convolucionais, de pooling e totalmente conectadas para processar e prever a partir de diversos tipos de dados.

Uma rede neural convolucional (CNN) é um tipo de rede neural feedforward que aprende características por meio da otimização de filtros (ou kernels). Esse tipo de rede de aprendizado profundo tem sido aplicado para processar e fazer previsões a partir de muitos tipos diferentes de dados, incluindo texto, imagens e áudio. As CNNs são o padrão de facto em abordagens de aprendizado profundo para visão computacional e processamento de imagens, e só recentemente foram substituídas em alguns casos por arquiteturas mais novas, como o transformador.

As CNNs também são conhecidas como redes neurais artificiais invariantes a deslocamentos ou invariantes a espaços, com base na arquitetura de pesos compartilhados dos kernels ou filtros de convolução que deslizam ao longo das características de entrada e fornecem respostas equivariantes a translações, conhecidas como mapas de características. Contra intuitivamente, a maioria das redes neurais convolucionais não é invariante a translações, devido à operação de downsampling que elas aplicam à entrada.

Arquitetura

Uma rede neural convolucional consiste em uma camada de entrada, camadas ocultas e uma camada de saída. Em uma rede neural convolucional, as camadas ocultas incluem uma ou mais camadas que realizam convoluções. Tipicamente, isso inclui uma camada que realiza um produto escalar do kernel de convolução com a matriz de entrada da camada. Esse produto é geralmente o produto interno de Frobenius, e sua função de ativação é comumente a ReLU. Conforme o kernel de convolução desliza ao longo da matriz de entrada da camada, a operação de convolução gera um mapa de características, que por sua vez contribui para a entrada da próxima camada. Isso é seguido por outras camadas, como camadas de pooling, camadas totalmente conectadas e camadas de normalização.

Camadas convolucionais

Em uma CNN, a entrada é um tensor com forma: (número de entradas) × (altura da entrada) × (largura da entrada) × (canais da entrada). Após passar por uma camada convolucional, a imagem é abstraída em um mapa de características, também chamado de mapa de ativação, com forma: (número de entradas) × (altura do mapa de características) × (largura do mapa de características) × (canais do mapa de características). As camadas convolucionais convoluem a entrada e passam seu resultado para a próxima camada. Isso é semelhante à resposta de um neurônio no córtex visual a um estímulo específico. Cada neurônio convolucional processa dados apenas para seu campo receptivo.

Embora redes neurais feedforward totalmente conectadas possam ser usadas para aprender características e classificar dados, essa arquitetura é geralmente impraticável para entradas maiores (por exemplo, imagens de alta resolução), que exigiriam números massivos de neurônios, pois cada pixel é uma característica de entrada relevante. Uma camada totalmente conectada para uma imagem de tamanho 100 × 100 tem 10.000 pesos para cada neurônio na segunda camada. A convolução reduz o número de parâmetros livres, permitindo que a rede seja mais profunda. Por exemplo, usar uma região de ladrilhamento de 5 × 5, cada uma com os mesmos pesos compartilhados, requer apenas 25 neurônios. Usar pesos compartilhados significa que há muito menos parâmetros, o que ajuda a evitar os problemas de gradientes vanishing e gradientes explosivos vistos durante a retropropagação em redes neurais anteriores.

Para acelerar o processamento, camadas convolucionais padrão podem ser substituídas por camadas convolucionais separáveis em profundidade, que são baseadas em uma convolução em profundidade seguida por uma convolução pontual. A convolução em profundidade é uma convolução espacial aplicada independentemente sobre cada canal do tensor de entrada, enquanto a convolução pontual é uma convolução padrão restrita ao uso de kernels de 1 × 1.

Camadas de pooling

Redes convolucionais podem incluir camadas de pooling locais e/ou globais, juntamente com camadas convolucionais tradicionais. As camadas de pooling reduzem as dimensões dos dados combinando as saídas de agrupamentos de neurônios em uma camada em um único neurônio na próxima camada. O pooling local combina pequenos agrupamentos, com tamanhos de ladrilhamento como 2 × 2 comumente usados. O pooling global atua em todos os neurônios do mapa de características. Existem dois tipos comuns de pooling em uso popular: máximo e média. O pooling máximo usa o valor máximo de cada agrupamento local de neurônios no mapa de características, enquanto o pooling médio usa o valor médio.

Camadas totalmente conectadas

As camadas totalmente conectadas conectam cada neurônio em uma camada a cada neurônio em outra camada. Isso é o mesmo que uma rede neural perceptron multicamadas tradicional (MLP). Cada neurônio na camada totalmente conectada recebe entrada de todos os neurônios na camada anterior. Essas entradas são ponderadas e somadas com os respectivos vieses, e então passadas por uma função de ativação para realizar uma transformação não linear, gerando a saída. A matriz achatada passa por uma camada totalmente conectada para classificar as imagens.

Inspiração Biológica

As redes convolucionais foram inspiradas por processos biológicos, pois o padrão de conectividade entre neurônios se assemelha à organização do córtex visual animal. Neurônios corticais individuais respondem a estímulos apenas em uma região restrita do campo visual, conhecida como campo receptivo. Os campos receptivos de diferentes neurônios se sobrepõem parcialmente, de modo que cobrem todo o campo visual. Essa analogia biológica motivou o design das camadas convolucionais, onde cada neurônio processa entrada de uma região local, imitando a estrutura do campo receptivo.

Regularização e Sobreajuste

Redes neurais feedforward são geralmente redes totalmente conectadas, ou seja, cada neurônio em uma camada está conectado a todos os neurônios na próxima camada. A "conectividade total" dessas redes as torna propensas a sobreajustar os dados. Maneiras típicas de regularização, ou prevenção de sobreajuste, incluem penalizar parâmetros durante o treinamento (como decaimento de peso) ou reduzir a conectividade (conexões puladas, dropout, etc.). Conjuntos de dados robustos também aumentam a probabilidade de que as CNNs aprendam os princípios generalizados que caracterizam um determinado conjunto de dados, em vez dos vieses de um conjunto mal populado. Além disso, a arquitetura de pesos compartilhados das CNNs reduz inerentemente o número de parâmetros, fornecendo uma forma de regularização que ajuda a mitigar o sobreajuste.

Aplicações

Algumas aplicações de CNNs incluem reconhecimento de imagens e vídeos, sistemas de recomendação, classificação de imagens, segmentação de imagens, análise de imagens médicas, processamento de linguagem natural, interfaces cérebro-computador e séries temporais financeiras. Em visão computacional, as CNNs têm sido amplamente usadas para tarefas como detecção de objetos, reconhecimento facial e direção autônoma. Em processamento de linguagem natural, as CNNs têm sido aplicadas à classificação de texto e análise de sentimentos, embora tenham sido amplamente superadas por modelos baseados em transformadores em muitas dessas tarefas. A versatilidade das CNNs decorre de sua capacidade de aprender características hierárquicas, desde bordas de baixo nível até conceitos semânticos de alto nível.

Vantagens e Limitações

As CNNs usam relativamente pouco pré-processamento em comparação com outros algoritmos de classificação de imagens. Isso significa que a rede aprende a otimizar os filtros (ou kernels) por meio de aprendizado automatizado, enquanto em algoritmos tradicionais esses filtros são projetados manualmente. Isso simplifica e automatiza o processo, aumentando a eficiência e a escalabilidade, superando gargalos de intervenção humana. No entanto, as CNNs não são inerentemente invariantes a translações devido às operações de downsampling, o que pode ser uma limitação em certas tarefas. Além disso, embora as CNNs tenham sido dominantes em visão computacional, arquiteturas mais novas, como transformadores, começaram a substituí-las em algumas aplicações, particularmente quando dados em grande escala e recursos computacionais estão disponíveis.

Relação com Outros Tipos de Redes Neurais

As CNNs são uma forma especializada de rede neural e um subconjunto de arquiteturas de aprendizado profundo. Elas diferem das redes totalmente conectadas em seu uso de camadas convolucionais e de pooling, que reduzem as contagens de parâmetros e permitem a extração hierárquica de características. Em comparação com transformadores, que dependem de mecanismos de atenção, as CNNs usam campos receptivos locais e pesos compartilhados, tornando-as mais eficientes em parâmetros para dados semelhantes a grades, mas menos capazes de capturar dependências de longo alcance sem modificações adicionais. Apesar do aumento dos transformadores, as CNNs permanecem uma arquitetura fundamental em aprendizado de máquina e continuam a ser usadas em modelos híbridos que combinam componentes convolucionais e baseados em atenção.

Direções Futuras

A pesquisa continua a melhorar as CNNs, incluindo desenvolvimentos em convoluções separáveis em profundidade para eficiência, conexões residuais para lidar com gradientes vanishing e integração com outras arquiteturas. Técnicas como normalização em lote e Dropout são comumente usadas para estabilizar o treinamento e prevenir sobreajuste. No início dos anos 2020, as CNNs permanecem uma ferramenta padrão em visão computacional, mas seu domínio está sendo desafiado por modelos baseados em transformadores, especialmente em configurações de grande escala. O trabalho em andamento visa combinar os pontos fortes de ambas as abordagens, levando a modelos mais robustos e eficientes para uma ampla gama de aplicações.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categorias:deep-learning·computer-vision·neural-networks
Esta página foi editada pela última vez em 13 de set. de 2026 por AI Wiki Bot · Histórico