Uma rede neural convolucional (CNN) é um tipo especializado de rede neural (NN) particularmente eficaz para processar dados em forma de grelha, como imagens e vídeos. Ao contrário das redes neurais tradicionais que tratam as entradas como vectores planos, as CNN foram concebidas para aprender automaticamente e de forma adaptativa hierarquias espaciais de caraterísticas diretamente a partir dos dados de entrada. Isto é conseguido principalmente através da aplicação da operação de convolução, tornando-as uma pedra angular da visão computacional moderna (CV) e impulsionando avanços significativos na Inteligência Artificial (IA). A sua capacidade de captar dependências locais e relações espaciais torna-os altamente adequados para tarefas em que a disposição dos pixéis é importante.
Componentes principais e funcionalidade
As CNN são normalmente construídas a partir de várias camadas-chave que processam e transformam a informação visual:
- Camadas convolucionais: Estas são as camadas fundamentais de uma CNN. Aplica um conjunto de filtros aprendíveis (kernels) na imagem de entrada. Cada filtro detecta caraterísticas específicas como arestas, cantos ou texturas. À medida que o filtro desliza (convolve) sobre a entrada, produz mapas de caraterísticas que realçam a localização e a força das caraterísticas detectadas. A rede aprende esses filtros automaticamente durante o processo de treinamento do modelo.
- Camadas de ativação: Após as camadas convolucionais, funções de ativação como ReLU (Unidade Linear Retificada) ou Leaky ReLU introduzem não-linearidade. Isso permite que a rede aprenda padrões mais complexos que vão além de combinações lineares simples.
- Camadas de agrupamento: Estas camadas reduzem as dimensões espaciais (largura e altura) dos mapas de caraterísticas, diminuindo a carga computacional e controlando o sobreajuste. Os métodos mais comuns incluem o Max Pooling, que considera o valor máximo numa região local, ajudando a rede a tornar-se mais robusta a variações na posição das caraterísticas. Uma visão geral dos métodos de pooling pode fornecer mais detalhes.
- Camadas totalmente conectadas: Normalmente encontradas perto do final da rede, essas camadas conectam todos os neurônios da camada anterior a todos os neurônios da camada atual, de forma semelhante a uma rede neural feedforward tradicional. Usa os recursos de alto nível extraídos pelas camadas convolucionais e de pooling para executar tarefas de classificação ou regressão, como atribuir um rótulo final à imagem.
Principais diferenças em relação a outras redes neurais
As CNNs possuem caraterísticas únicas que as distinguem de outros tipos de redes:
- Hierarquia espacial: Ao contrário das NNs básicas, as CNNs modelam explicitamente as relações espaciais. As camadas iniciais detectam caraterísticas simples (arestas), enquanto as camadas mais profundas as combinam para reconhecer padrões mais complexos (formas, objectos). Esta estrutura hierárquica imita aspectos do processamento visual humano.
- Partilha de parâmetros: Um único filtro é aplicado em diferentes partes da imagem de entrada, reduzindo significativamente o número total de parâmetros em comparação com uma rede totalmente conectada que processa a mesma imagem. Isto torna as CNNs mais eficientes e menos propensas a sobreajustes, especialmente com imagens grandes. A área que um filtro cobre em qualquer ponto é conhecida como o seu campo recetivo.
- Invariância de tradução: Devido ao agrupamento e à partilha de parâmetros, as CNNs podem reconhecer um objeto mesmo que a sua posição se desloque ligeiramente dentro da imagem.
- vs. Redes Neuronais Recorrentes (RNNs): Enquanto as CNNs se destacam no processamento de dados espaciais, como imagens, as Redes Neurais Recorrentes (RNNs) são projetadas para dados seqüenciais, o que as torna adequadas para tarefas como Processamento de Linguagem Natural (PLN) e análise de séries temporais.
Aplicações no mundo real
As CNNs são a força motriz por detrás de inúmeras descobertas em vários domínios:
- Análise de imagens médicas: Na IA nos cuidados de saúde, as CNNs analisam exames médicos, como raios X, TACs e MRIs. Ajudam os radiologistas a detetar anomalias subtis como tumores, fracturas ou retinopatia diabética. A investigação publicada em revistas como Radiology: Artificial Intelligence mostra as CNNs a identificar padrões indicativos de doenças, atingindo frequentemente uma elevada precisão. Por exemplo, modelos como o Ultralytics YOLO podem ser adaptados a tarefas como a deteção de tumores em imagiologia médica, demonstrando a aplicação prática de arquitecturas baseadas em CNN na análise de imagens médicas.
- Veículos autónomos: As CNNs são cruciais para a IA em carros autónomos. Alimentam os sistemas de perceção que efectuam a deteção de objectos em tempo real para identificar peões, veículos, sinais de trânsito e marcas de faixa de rodagem utilizando dados de câmaras e LiDAR. Isto permite que o veículo compreenda o seu ambiente e tome decisões de condução seguras. Empresas como a Waymo dependem fortemente das CNN para os seus sistemas autónomos. As CNNs também contribuem para a segmentação de imagens, permitindo que os veículos diferenciem as áreas dirigíveis dos obstáculos.
Ferramentas e estruturas
O desenvolvimento e a implementação de CNNs são apoiados por poderosas ferramentas e estruturas de aprendizagem profunda (DL):