Seguindo a série de postagens sobre Machine Learning na Biotecnologia, falaremos mais sobre a utilização das redes convolucionais e sua aplicação na classificação de imagens médicas. Será explicado o funcionamento dessa rede neural profunda, além da demonstração de estudos que já utilizam essa abordagem.
É importante destacar que nesse ramo, nem tudo são flores e alguns cuidados devem ser tomados para se utilizar essa metodologia. Por conta disso, trazemos neste texto alguns dos cuidados que precisamos tomar para utilizar as redes neurais convolucionais para fins de diagnóstico e auxílio aos médicos.
O que são redes neurais?
Redes neurais artificiais (ANNs, de Artificial Neural Networks) são um sistema de processamento e geração de outputs que replica uma rede neural biológica, com intuito de desvendar relações não lineares (Shah, 2020). São um dos diversos modelos que podem ser utilizados no aprendizado de máquina supervisionado. Mas, o que isso tudo quer dizer?
De forma simplificada, uma ANN faz o processamento de dados de entrada (atributos e rótulos provindos de experimentação/observação) através de camadas de neurônios (perceptrons). Essas camadas geralmente são chamadas de camadas ocultas (hidden layers). Dentro destas camadas ocultas, cada um dos neurônios faz transformações (lineares ou não-lineares) com os valores da camada anterior, antes de passar seu resultado para a camada posterior.
E qual a diferença de uma rede neural profunda?
Uma rede neural profunda possui mais camadas em comparação com uma rede neural artificial. É importante ressaltar que para conseguir esse aumento no número de camadas, deve-se amenizar um problema chamado vanishing gradient (gradiente “dissipante”). Pode-se encontrar mais informações sobre este problema e sobre redes neurais profundas aqui. Existem diversas estratégias diferentes para solucionar esse problema, sendo obrigatórias para as redes profundas e podendo melhorar o funcionamento das redes “rasas”.
Resumindo: Uma rede neural profunda é uma rede neural artificial que, devido ao aumento do número de camadas e de estratégias diferenciadas, consegue resolver problemas mais complexos.
Redes neurais convolucionais
Redes neurais convolucionais, CNN ou ConvNet são redes neurais profundas especializadas para a utilização de imagens e muito utilizadas para visão computacional. No geral, são redes neurais normais, com uma camada de entrada, diversas camadas ocultas e uma camada de saída. Todos neurônios de uma camada completamente interligadas com os neurônios da camada anterior e posterior.
Então qual é a diferença? As CNNs assumem que todo dado de entrada é uma imagem. Além disso, possuem camadas convolucionais, de pooling e funções de ativação que introduzem a não-linearidade.
A estrutura de uma rede neural convolucional simples é montada utilizando três tipos de camadas, sendo elas: camada convolucional, camada de pooling e camada totalmente conectada (Fully-connected layer). As camadas totalmente conectadas seguem a mesma idéia das camadas das redes neurais demonstradas anteriormente. Também é possível ter camadas de normalização.
De forma simplificada, a camada convolucional aplica um filtro (kernel) sobre a imagem de entrada, retornando uma imagem filtrada com valores diferentes dos pixels. Ou seja, ela utiliza duas imagens como entrada (a entrada real e o kernel) e retorna uma imagem como seu resultado. Este kernel irá atuar deslizando sobre a imagem input, aplicando sua função matemática e retornando a imagem modificada.
Já na camada de pooling, será aplicada uma função pooling que pegará o valor máximo ou mínimo, dependendo da situação. O objetivo desta camada é reduzir a amostra, consequentemente diminuindo o tamanho da imagem. Como dito anteriormente, existem dois tipos de camada de pooling: max pooling e min pooling, que selecionam o valor máximo ou mínimo, respectivamente, de uma determinada região. Mais informações sobre funções de ativação e camadas convolucional e de pooling podem ser encontradas aqui.
Um exemplo é a VGG-16, proposta em 2014 por K. Simonyan e A. Zisserman. Ela é composta de 5 camadas convolucionais, 3 camadas pooling e 3 camadas completamente interligadas. Um ponto diferencial é que somente são aplicados filtros 3×3 nessa CNN. Esse modelo é muito utilizado em pesquisa, visto que os pesos de pré-treinamento são disponibilizados online e por causa da sua simplicidade. Assim como nos neurônios biológicos, os perceptrons também diferem no quão excitatório um sinal será para ele e isto define o peso sináptico: quanto maior o valor do peso, mais excitatório é o sinal para aquele perceptron.
Porque usamos as CNNs em imagens?
Por causa da arquitetura da rede neural convolucional, é possível reduzir o número de pesos necessários para ter uma imagem como input. Utilizando o tamanho básico de um dos datasets de imagens (CIFAR-10), em uma rede neural convencional, seriam necessários 3072 pesos na camada de entrada (32 * 32 * 3, sendo 32×32 pixels a dimensão da imagem em 3 canais de cores: Red, Green e Blue).
Utilizando as CNNs, através do filtro (kernel), um neurônio de uma camada posterior estará ligado à uma pequena região da imagem na camada anterior. Além de diminuir o número de pesos, a CNN conserva as relações espaciais na imagem, pois ela conserva as posições relativas dos pixels.
Utilização em classificação de imagens médicas
COVID-19
A utilização de redes neurais convolucionais para o diagnóstico por imagem da COVID-19 foi muito estudado na academia desde que a pandemia começou. O diagnóstico por imagem para COVID-19 é muito importante, pois é possível detectar a doença mesmo em pacientes assintomáticos.
No estudo realizado por Nabavi e colaboradores, foram elencados 50 trabalhos entre 2020 e 2021 utilizando CNNs no diagnóstico de COVID-19 por imagem. Dentre eles, o estudo de Das e colaboradores, que, com uma versão modificada da CNN Inception Net V3, obtiveram 99,96% de acurácia, utilizando um dataset com 6756 imagens de raio-X de tórax, sendo 73% de casos positivos. Mais informações sobre a CNN Inception Net V3, em inglês, podem ser encontradas aqui.
Câncer
Outra utilização recorrente de redes neurais convolucionais para diagnóstico por imagem é em casos de pacientes com câncer. Estratégias diferentes são empregadas para diferentes tipos de câncer.
No estudo realizado por Geras e colaboradores é possível entender a utilização do diagnóstico auxiliado por computador (CAD, computer aided-diagnosis), no escopo do diagnóstico do câncer de mama através de imagens de mamografias. Alguns diagnósticos presentes no artigo citado são demonstradas abaixo:
As CNNs podem substituir os médicos no futuro?
Acredito que essa possa ser classificada como “a pergunta que não quer calar”. Por mais que as redes neurais (e a inteligência artificial como um todo) estejam em alta e sendo melhoradas a cada dia, ainda existem coisas que só um ser humano pode fazer. No estudo realizado por Khalili e colaboradores, foi demonstrado que a CNN atingiu os mesmos parâmetros que os radiologistas experientes.
Os algoritmos de inteligência artificial devem ser vistos como uma forma de auxílio aos médicos, uma outra opinião sobre o diagnóstico que eles chegaram ou um meio de conseguir chegar a este diagnóstico. É como se fosse o VAR (Video Assistant Referee) para o árbitro de futebol, permitindo uma análise de um novo ponto de vista para o médico.
Com isso, entramos em outro ponto importante: Quais cuidados devem ser tomados com essa tecnologia?
Hoje em dia, iniciar e rodar um modelo de rede neural artificial é uma tarefa relativamente simples. Isto se dá pela disponibilidade de modelos para os mais diversos usos. O problema surge quando esse modelo não é pensado para resolver o problema que se está tentando resolver, afinal cada modelo tem sua finalidade e eles devem ser pensados para resolver aquele problema.
Além disso, para diagnósticos de doenças raras, existe um problema para a obtenção dos datasets. Nada mais são do que grandes bancos de imagens médicas, no caso de diagnóstico por imagem, divididas entre positivas para a doença e negativas para a doença. Porém como se conseguem imagens de diagnóstico de doenças raras? Isto gera problemas de desbalanceamento de datasets, que faz com que a resposta que o algoritmo chegue não necessariamente seja a correta, podendo dar um diagnóstico falso negativo para um paciente.
A anonimização dos dados nos datasets é outro fator importante. Já imaginou um dataset disponível online que conta para (literalmente) todo mundo que a pessoa tem câncer? Isso poderia gerar consequências como essa pessoa não conseguir um trabalho ou ter de pagar a mais por um plano de saúde. Isto torna a anonimização dos dados um passo obrigatório e, mesmo assim, ainda são difíceis de obter dados para diversos tipos de estudos.
Já deu para perceber que os datasets são um dos fatores que mais se deve prestar atenção, não é? Pois então, ainda existe mais um problema relativo à eles. Esses dados são utilizados para o treinamento e para a avaliação do modelo. Até aí, nenhum problema à vista, porém podemos ter problemas ao utilizar um modelo treinado com dados de determinado grupo em um grupo diferente.
Vimos até aqui que a utilização de redes neurais convolucionais é um grande avanço no campo de diagnóstico por imagens. Existem diversas outras aplicações das CNNs no âmbito da biotecnologia, como contagem de microrganismos, por exemplo. A criação e utilização destes modelos está em constante crescimento. Porém existem diversos pontos que devem ser muito bem pensados para evitar falsos positivos ou negativos nessas análises.
Giuli Marques
Técnica em Química (IFSul) e Biotecnologista (UFPel). Atua nas áreas de pesquisa de bioinformática e imunologia aplicada à saúde animal. Apaixonada por desafios, está sempre em busca de novos conhecimentos. Possui como hobby a escrita, as artes digitais e jogos de RPG.
Referências:
ARAUJO, R. 2020a. Uma visão conceitual de Redes Neurais — Parte 1. Disponível em < https://ricardomatsumura.medium.com/uma-vis%C3%A3o-conceitual-de-redes-neurais-d053242944c9>. Acesso em 11 Out de 2021.
ARAUJO, R. 2020b. Uma visão conceitual de Redes Neurais — Parte 2: Redes Neurais Profundas. Disponível em <https://ricardomatsumura.medium.com/uma-introdu%C3%A7%C3%A3o-conceitual-a-redes-neurais-parte-2-redes-neurais-profundas-c80329b11f6c>. Acesso em 11 Out de 2021.
CS231n. CS231n Convolutional Neural Networks for Visual Recognition. Disponível em <https://cs231n.github.io/convolutional-networks/>. Acesso em 11 Out de 2021.
DAS, D.; SANTOSH, K. C.; PAL, U. Truncated inception net: COVID-19 outbreak screening using chest X-rays. Physical and engineering sciences in medicine, v. 43, n. 3, p. 915-925, 2020.
Data Science Academy. 2021. Capítulo 4 – O Neurônio, Biológico e Matemático. Disponível em <https://www.deeplearningbook.com.br/o-neuronio-biologico-e-matematico/>. Acesso em 21 Jun de 2022.
Data Science Academy. 2021. Capítulo 6 – O Perceptron – Parte 1. Disponível em <https://www.deeplearningbook.com.br/o-perceptron-parte-1/>. Acesso em 21 Jun de 2022.
Data Science Academy. 2021. Capítulo 40 – Introdução as Redes Neurais Convolucionais. Disponível em <https://www.deeplearningbook.com.br/introducao-as-redes-neurais-convolucionais/>. Acesso em 11 Out de 2021.
GERAS, K. J.; MANN, R. M.; MOY, L.. Artificial intelligence for mammography and digital breast tomosynthesis: current concepts and future perspectives. Radiology, v. 293, n. 2, p. 246-259, 2019.
KHALILI, K. et al. Convolutional neural networks versus radiologists in characterization of small hypoattenuating hepatic nodules on CT: a critical diagnostic challenge in staging of colorectal carcinoma. Scientific reports, v. 10, n. 1, p. 1-10, 2020.
NABAVI, S. et al. Medical Imaging and Computational Image Analysis in COVID-19 Diagnosis: A Review. Computers in Biology and Medicine, p. 104605, 2021.
NASH, W.; DRUMMOND, T.; BIRBILIS, N. A review of deep learning in the study of materials degradation. npj Materials Degradation, v. 2, n. 1, p. 1-12, 2018.
NIGAM, V. 2018. Understanding Neural Networks. From neuron to RNN, CNN, and Deep Learning. Disponível em <https://medium.com/analytics-vidhya/understanding-neural-networks-from-neuron-to-rnn-cnn-and-deep-learning-cd88e90e0a90>. Acesso em 12 Out de 2021.
SHAH, H. 2020. A Full Overview of Artificial Neural Networks (ANN). Disponível em <https://learn.g2.com/artificial-neural-network>. Acesso em 11 Out de 2021.
SIK-HO TSANG. 2018. Review: Inception-v3 — 1st Runner Up (Image Classification) in ILSVRC 2015. Disponível em: <https://sh-tsang.medium.com/review-inception-v3-1st-runner-up-image-classification-in-ilsvrc-2015-17915421f77c>. Acesso em 21 Jun de 2022.
SIMONYAN, K.; ZISSERMAN, A. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.
ZHANG, J. et al. A comprehensive review of image analysis methods for microorganism counting: from classical image processing to deep learning approaches. Artificial Intelligence Review, p. 1-70, 2021.
Fonte da imagem destacada: Pexel.