O diagnóstico por imagens através das redes neurais convolucionais da inteligência artificial é uma realidade e segue em evolução.

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.

Representação esquemática de uma rede neural
#PraTodosVerem Representação esquemática de uma rede neural. Os dados são inseridos na rede através dos perceptrons da camada de entrada (representados por círculos verdes na imagem), eles são então processados na camada ou camadas oculta(s) (representadas por círculos pretos na imagem) e os dados são retornados no perceptron da camada de saída (representado pelo círculo vermelho). Fonte: Imagem produzida pela autora.

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.

Representação de uma rede neural convolucional
#PraTodosVerem Representação de uma rede neural convolucional. É demonstrada a forma como a CNN organiza os “neurônios” em três dimensões (largura, altura e profundidade). A caixa vermelha (à esquerda) representa a imagem de entrada, com altura e largura iguais à imagem original e profundidade 3 (canais de cor vermelho, verde e azul). Essa imagem é inserida na rede neural através das funções de ativação, retornando um valor representado pela caixa azul. Esses pesos são então passados à CNN, representada pelo cubo demonstrando profundidade (depth), altura (height) e largura (width), as suas funções são aplicadas e então é retornado o vetor de saída (bloco verde à direita). Fonte: CS231n, s.d.

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.

Representação da camada convolucional
#PraTodosVerem Representação da camada convolucional. A imagem, tratada como uma matriz de pixels, é a entrada da camada (quadrado 6×6 à esquerda, com destaque para um cubo 3×3 em vermelho, do qual uma linha pontilhada leva até a figura do filtro/kernel). É aplicado um filtro, representado em um quadrado 3×3 cinza na imagem, que corresponde a diferentes funções matemáticas, sobre essa imagem, de forma que ele “deslize” sobre ela. Após a aplicação do filtro, o valor resultante é retornado em uma matriz de saída (quadrado 6×6 à direita, com destaque para um cubo em vermelho, que recebe linhas pontilhadas vermelhas vindas do quadrado central que é o kernel). Fonte: Imagem produzida pela autora.

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.

Representação de uma camada de pooling que utiliza a função max pooling.
#PraTodosVerem Representação de uma camada de pooling que utiliza a função max pooling. Na camada de pooling é aplicada uma função na matriz que foi informada como input na camada. No caso demonstrado na imagem, essa função separa a matriz (à esquerda) em espaços 2×2 e seleciona o maior valor entre os valores na matriz. Esses valores são retornados em uma matriz de saída (à direita), menor que a matriz de entrada. Fonte: Imagem produzida pela autora.

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.

Representação da arquitetura do modelo VGG-16.
Representação da arquitetura do modelo VGG-16. O modelo utiliza blocos convolucionais simples para transformar a imagem de input em um vetor de classes de tamanho 1000, representando as classes do ILSVRC. Fonte: Figura reproduzida de Nash et al, 2018. #PraTodosVerem Na figura é representada uma imagem de entrada (tamanho 224x224x3) (à esquerda). É demonstrada a passagem por camadas convolucionais + ReLU (função unidade linear retificada), demonstradas em caixas pretas, camadas de max pooling, demonstradas em caixas vermelhas, e camadas completamente interligadas + ReLU, demonstradas em caixas azuis, tendo como saída um vetor 1x1x1000.

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.

Acima é demonstrada a arquitetura original da Inception Net V3
Acima é demonstrada a arquitetura original da Inception Net V3, enquanto que a imagem de baixo demonstra as modificações realizadas no trabalho para a aplicação em imagens de raio-x de peito para o diagnóstico de COVID-19. #PraTodosVerem As camadas são demonstradas em formato de caixas coloridas (azul para camadas convolucionais, verde para camadas de max pooling, laranja para camadas de pooling médio, vermelho para camadas de concatenação, amarelo para camadas de pooling médio global, rosa para camadas completamente interligadas e cinza para camadas softmax). Da arquitetura original, foram mantidas as camadas iniciais (três camadas convolucionais, seguidas por uma camada de max pooling, mais duas camadas convolucionais, seguidas de outra camada max pooling), as três camadas do módulo inception A (são módulos compostos por até quatro camadas de profundidade, que apresentam dependência de dados; são formados por nove camadas convolucionais e uma camada de pooling médio que são levadas à uma camada de concatenação) e a primeira redução de tamanho de grid (composto por até três camadas de profundidade, apresenta dependência de dados e é formado por 4 camadas convolucionais e uma camada de max pooling que são levadas à uma camada de concatenação). Outra modificação foi a troca de uma camada no final por uma camada de pooling médio global (caixa vinho na arquitetura original é trocada por uma caixa amarela na arquitetura proposta no trabalho). Fonte: Das, 2020.
Demonstração da imagem de entrada (input) (radiografias à esquerda, a-c, em tons de preto e branco), dos mapas de ativação gerados pela segunda camada convolucional (Conv2D)
#PraTodosVerem Demonstração da imagem de entrada (input) (radiografias à esquerda, a-c, em tons de preto e branco), dos mapas de ativação gerados pela segunda camada convolucional (Conv2D) (imagens em tons de laranja e vermelho das radiografias), do resultado do segundo módulo de iniciação (Mixed1) e do resultado do módulo de redução de tamanho de grade (Mixed3) (as duas últimas colunas de imagem à direita são pixelizadas e em tons de vermelho e laranja). As imagens de input são de raios-x de tórax de pacientes: a positivo para COVID, b positivo para Pneumonia e c positivo para Tuberculose. Fonte: Das, 2020.

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:

 visão oblíqua médio-lateral de mamografia de rastreamento em mulher assintomática de 54 anos.
#PraTodosVerem À esquerda: visão oblíqua médio-lateral de mamografia de rastreamento em mulher assintomática de 54 anos. A seta preta indica que foi utilizado e identificado uma anomalia com auxílio do CAD. À direita, visão ampliada da área de interesse (demonstrada com a seta branca na imagem da esquerda). O sistema CAD identificou um pequeno grupo de calcificações (seta), que foram amostradas para biópsia e revelaram carcinoma ductal grau 2 in situ. Fonte: Geras, 2019.
Mamografias médio laterais oblíquas bilaterais em duas mulheres com câncer de mama
#PraTodosVerem Mamografias médio laterais oblíquas bilaterais em duas mulheres com câncer de mama (demonstrados pela seta branca). As mamografias foram obtidas, A e C sem e, B e D com a saída de um sistema de detecção de câncer baseado em rede neural convolucional. A probabilidade da presença de câncer é fornecida como um mapa de calor, que pode ser observado no canto inferior esquerdo das imagens de output, no qual tons azulados indicam baixa probabilidade e tons alaranjados/vermelhos indicam alta probabilidade de câncer. A e B são imagens de um paciente com uma massa espiculada relativamente óbvia, verificada como um câncer de mama ductal invasivo de grau 2 (região com um círculo em tons de verde a vermelho, apontada por uma seta branca). Enquanto C e D são imagens de outro paciente com uma assimetria muito mais sutil (região azulada indicada por uma seta branca), foi comprovada como um carcinoma lobular invasivo. Fonte: Geras, 2019.

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.

Sobre Nós

O Profissão Biotec é um coletivo de pessoas com um só propósito: apresentar o profissional de biotecnologia ao mundo. Somos formados por profissionais e estudantes voluntários atuantes nos diferentes ramos da biotecnologia em todos os cantos do Brasil e até mesmo espalhados pelo mundo.

Recentes

Assine nossa newsletter

Ao clicar no botão, você está aceitando receber nossas comunicações. 

X