O Poder Das CNNs Em Aplicações de ML Envolvendo Identificação e Classificação de Imagens
1.O QUE É UMA CNN?
Uma rede neural convolucional (convolutional neural network – CNN) é um tipo especializado de algoritmo de aprendizado profundo (deep learning) projetado para processar e analisar dados visuais. É muito utilizada em aplicações de aprendizado de máquina (machine learning – ML) [1]. Inspirados no córtex visual humano, as CNNs usam operações de convolução para extrair recursos e identificar padrões dentro das imagens. A CNN é um tipo de rede neural do tipo “olhar para a frente” (feedforward neural network – FNN) que aprende uma característica por meio de otimização de filtros [1]. Essa arquitetura permite que as CNNs interpretem e classifiquem imagens com eficiência, tornando-as inestimáveis em aplicativos de visão computacional [2]. A Figura 1 apresenta uma arquitetura de uma CNN.
2. CAMADAS-CHAVE DA CNN
a) Camada convolucional (convolutional layer): este é o bloco de construção principal de uma CNN, onde os filtros (kernels) deslizam sobre a imagem de entrada para detectar recursos (features) como bordas, contrastes e texturas. A saída é um mapa de recursos que destaca esses recursos detectados. A Figura 2 apresenta as atividades da camada convolucional. Já a sequência de imagens da Figura 3 apresenta um exemplo do processo convolucional. Vários filtros de convolução podem ser aplicados, procurando-se extrair características específicas de um padrão 2D como contorno, contraste, objeto, etc [1].
b) Camada de agrupamento (pooling layer): Após a camada convolucional, as camadas de agrupamento diminuem os mapas de recursos, reduzindo suas dimensões espaciais. Esta etapa diminui a complexidade computacional e ajuda a evitar o excesso de ajuste. O máximo de pool, que seleciona o valor máximo de uma região, é uma técnica comum usada aqui.
c) Camada de ativação da unidade retificadora linear (rectified linear unit – ReLU): A ReLU introduz a não linearidade no modelo, permitindo que ele aprenda padrões e relacionamentos complexos nos dados. A ReLU é uma das funções de ativação mais utilizadas atualmente em redes neurais pela sua rapidez no processo de aprendizagem [5]. Na função ReLU, se a entrada for negativa, ela será convertida em zero e o neurônio não será ativado. Isso significa que, ao mesmo tempo, apenas alguns neurônios são ativados, tornando a rede esparsa, eficiente e de computação fácil. Essa vantagem também pode ser considerada uma desvantagem, pois os neurônios utilizando ReLU tendem a “morrer” durante o treinamento, causando a saída do neurônio iniciar a produzir apenas zeros [6]. Para evitar isso, uma variação da ReLU, chamada Leaky-ReLU (LReLU) foi desenvolvida, que aplica uma ligeira inclinação na função de ativação para valores menores que zero [7]. A Figura 4 apresenta as funções de ativação ReLU e sua variante Leaky-ReLU [8].
d) Camada totalmente conectada (fully connected layer): Nos estágios finais, as camadas totalmente conectadas usam os recursos de alto nível aprendidos pelas camadas anteriores para fazer previsões. Cada neurônio nessas camadas está conectado a todos os neurônios da camada anterior, integrando todos os recursos extraídos para produzir a saída final.
3. CNN X ANN
Embora as redes neurais artificiais (artificial neural networks – ANNs) sejam versáteis [1], elas lutam com dados de alta dimensão, como imagens devido à sua natureza totalmente conectada. As CNNs, no entanto, são projetadas especificamente para lidar com estruturas de dados semelhantes à grade (grid) ou matriz, tornando-as altamente eficientes para o processamento de imagens. Sua capacidade de capturar hierarquias espaciais e padrões locais os diferencia das ANNs tradicionais.
3.1. A ANN NÃO SERVE PARA PROCESSAR IMAGENS?
As ANNs exigem engenharia extensa de recursos e lutam com a alta dimensionalidade dos dados da imagem. Por outro lado, as CNNs aprendem automaticamente representações hierárquicas de recursos, melhorando significativamente a precisão e reduzindo a necessidade de intervenção manual.
4. APLICAÇÕES DA CNN
As CNNs transformaram indústrias com sua alta precisão em tarefas relacionadas à imagem. Elas são amplamente utilizadas em:
- Análise de imagem médica: auxiliando no diagnóstico de doenças através do reconhecimento de imagem.
- Veículos autônomos: permitindo a detecção de objetos e o entendimento da cena.
- Reconhecimento facial: alimentando sistemas de segurança e autenticação.
Além das aplicações que envolvem imagens, existem pesquisas utilizando CNNs também em processamento de linguagem natural (natural language processing – NLP), interfaces cérebro-computador e séries temporais como financeiras, por exemplo [1].
5. CONCLUSÃO
A arquitetura de uma CNN é projetada para aproveitar a estrutura 2D de uma imagem de entrada. Outro benefício das CNNs é que elas são mais fáceis de treinar e possuem muito menos parâmetros do que redes totalmente conectadas com o mesmo número de unidades ocultas.
As CNNs continuam a ultrapassar os limites do que é possível na aprendizagem profunda, oferecendo soluções poderosas para desafios complexos de dados visuais.
REFERÊNCIAS
[1] CARVALHO JUNIOR, A. Redes Neurais Artificiais: Algoritmos poderosos para aplicações de IA e ML. EAILab Posts. 2024. Disponível em: <https://eailab.labmax.org/2024/04/03/redes-neurais-artificiais-algoritmos-poderosos-para-aplicacoes-de-ia-e-ml/>. Acessado em Ago 13, 2024.
[2] ANALOG DEVICES. What Is Machins Learning? Part 1 – Introduction to convolutional neural networks, 2024. Disponível em:<https://www.radiolocman.com/review/article.html?di=664841>. Acessado em Nov 1, 2024.
[3] SUPERANNOTATE, Convolutional Neural Networks: 1998-2023 Overview, Super Annotate (Blog), 2023. Disponível em: <https://www.superannotate.com/blog/guide-to-convolutional-neural-networks>. Acessado em Ago 13, 2024.
[4] SCIENTISTCAFE, 12.2 Convolutional Neural Network, Scientist Cafe (Blog), 2023. Disponivel em:< https://scientistcafe.com/ids/convolutional-neural-network.html>. Acessado em Ago 13, 2024.
[5] CARVALHO JUNIOR, A. Função de Ativação, o Núcleo da Composição de Neurônios Artificiais. EAILab Posts. 2024. Disponível em: <https://eailab.labmax.org/2024/02/28/funcao-de-ativacao-o-nucleo-da-composicao-de-neuronios-artificiais/>. Acessado em Ago 13, 2024.
[6] CARVALHO, A., JUSTO, J.F., ANGELICO, B.A. et al., Rotary Inverted Pendulum Identification for Control by Paraconsistent Neural Network, in IEEE Access, 2021. DOI: 10.1109/ACCESS.2021.3080176.
[7] CARVALHO, A., JUSTO, J.F., ANGELICO, B.A. et al. Model reference control by recurrent neural network built with paraconsistent neurons for trajectory tracking of a rotary inverted pendulum, Applied Soft Computing, 2022, 109927, ISSN 1568-4946. DOI: 10.1016/j.asoc.2022.109927.
[8] LIU, D. A Practical Guide to ReLU. Medium, 2017. Disponível em: <https://medium.com/@danqing/a-practical-guide-to-relu-b83ca804f1f7>. Acessado em Ago 13, 2024.
Elaborado Por: Dr. Arnaldo de Carvalho Junior
Publicado em: Ago 13, 2024