top of page
Buscar
  • Foto do escritorPatognomônico

Inteligência Artificial- Retrofuturismo: uso de redes neurais em anatomia patológica.

Atualizado: 18 de fev.



 




 

1.0) Uma breve história do uso de redes neurais


O uso das redes neurais como solução técnica para o desenvolvimento de inteligência artificial (IA) pode ser creditado ao psicólogo norte americano Frank Rosenblatt. Nascido em 1928, gradou-se e obteve seu doutorado em psicologia. Como aluno de doutorado, ele construiu um “Computador analisador de perfis eletrônicos” para ajudar na análise de dados de personalidade da sua tese.


Foi o Dr Rosenblatt que projetou a primeira rede neural artificial: o Perceptron. A inspiração técnica para a construção desta rede neural artificial foi baseada no primeiro modelo matemático de neurônio, desenvolvido por Warren McCullough e Walter Pitts, em 1943. O Perceptron foi construído usando o mainframe da IBM denominado “704”, em parceria com a marinha americana. Apesar do otimismo inicial, em virtude de limitações técnicas (tanto computacionais como do próprio algoritmo), a utilização de redes neurais acabou caindo em descrédito.


Um dos cientistas mais importantes, muitas vezes creditado como um dos responsáveis pela inicial resistência ao uso de redes neurais, foi Marvin Minksy. Os debates entre Minsky e Rosenblatt sobre a eficácia das redes neurais ficaram bastante conhecidos nas conferências de IA. E quem ganhou inicialmente essa “queda de braço” intelectual foi Marvin Minsky. Em 1969, em conjunto com Seymour Papert, publicou um livro chamado “Perceptrons”, no qual selava o destino, temporariamente, das redes neurais. Isto levou a um período de pouco desenvolvimento das técnicas de IA, conhecido como “Inverno da Inteligência Artificial”.


Porém, a ideia que redes neurais poderiam ser úteis sobreviveu ao primeiro “inverno”.  Vários cientistas ainda acreditavam no potencial da técnica, entre eles Geoffrey Hinton. Graduado em psicologia e com doutorado em inteligência artificial, Hinton gostava de dizer que “ideias antigas são novas”- ou seja, que antes de abandonarmos uma idéia, temos que ter bastante certeza que ela não funciona. Em parceria com outros cientistas da computação, e em épocas distintas, ele participou de dois desenvolvimentos técnicos muito importantes para a história do uso de redes neurais:


. 1986: aprimoração dos algoritmos de backpropagation: em conjunto com David Rumelhart e Ronald J Williams publicam na revista Nature um artigo que ajudou a mudar a história da IA- “Learning representations by back-propagation erros” ("Aprendendo representações por meio da retropropagação de erros")


. 2012: desenvolvimento de uma rede neural convolucional para a identificação de imagens (AlexNET)- Hinton e dois de seus estudantes Alex Krizhesky e Ilya Sutskever desenvolveram o AlexNet, uma rede neural convolucional dedicada para análise de imagens, ganhadora de um desafio de reconhecimento de imagens organizado pela ImageNet- um projeto que gerencia banco de dados de imagens e competições sobre Visão Computacional. O sucesso do AlexNet foi decisivo para a explosão de desenvolvimento e reconhecimento das redes neurais.

 

2.0)  Definições gerais: Inteligência Artificial, Aprendizado de Máquinas, Redes Neurais e Aprendizado Profundo

 

Podemos entender a relação entre os conceitos de inteligência artificial (IA), aprendizado de máquinas (AM), redes neurais (RN) e aprendizado profundo (AP) usando o simbolismo das bonecas russas (matrioskas):


 


Inteligência Artificial, Aprendizado de Máquinas, Redes Neurais e Aprendizado Profundo

 

O conceito de IA é o mais abrangente. Aprendizado de máquinas é um subconjunto da IA. Redes neurais, por sua vez, representam um tipo de AM. E aprendizado profundo um tipo de RN.


Antes de passarmos aos conceitos em si, cabe definir uma palavra muitas vezes utilizada em computação: algoritmo. Pode-se entender algoritmo com uma sequência de instruções bem definidas, desenhadas para se executar uma tarefa ou resolver um problema. O exemplo clássico que se utiliza para explicar o que é um algoritmo é o de uma receita de bolo. O algoritmo nada mais é do que a sequência de etapas e procedimentos que precisamos seguir para se assar um bolo. Em computação, um algoritmo é uma sequência finita e bem definida de instruções projetadas para realizar uma tarefa. Embora possa ser implementado em uma linguagem de programação específica para execução por um computador, o algoritmo em si é uma abstração que pode ser expressa em diversas formas, como pseudocódigo ou fluxogramas.

 

2.1) Inteligência artificial


O primeiro conceito é o de Inteligência Artificial- e que é o termo mais abrangente de todos.  Aliás, o termo IA foi escolhido por John McCarthy no Workshop de Dartmouth, em 1956- o encontro amplamente considerado como o nascimento da IA. De acordo com McCarthy define-se IA da seguinte maneira:


 "É a ciência e engenharia de criar máquinas inteligentes, especialmente programas de computador inteligentes. Está relacionada à tarefa semelhante de usar computadores para entender a inteligência humana, mas a IA não precisa se limitar a métodos que sejam biologicamente observáveis."


Em termos práticos, pode-se entender IA como máquinas e programas de computador dotados da capacidade de simular funções geralmente identificadas com a inteligência humana: resolver problemas, aprender, reconhecer imagens, utilizar linguagem natural (escrita e falada) e tomar decisões. E é dessa capacidade de simular a inteligência humana que um dos testes mais famosos surgiu: o Teste de Turing.


O objetivo do teste de Turing é avaliar a capacidade de uma máquina ou programa de computador de exibir comportamento inteligente indistinguível do comportamento de um ser humano.  Conhecido como “Jogo da Imitação”, o teste de Turing é frequentemente formulado da seguinte maneira: um “juiz” humano interage com dois participantes, um ser humano e uma máquina (ou programa de computador), por meio de uma interface de comunicação de texto, sem saber qual é qual. O juiz faz perguntas e recebe respostas de ambos os participantes.  Turing propôs que um computador poderia ser considerado "inteligente" se pudesse enganar um humano a pensar que é outro humano durante uma conversa em texto. Se o juiz não conseguir distinguir consistentemente qual dos participantes é a máquina com base em suas respostas, a máquina é considerada como tendo passado no teste.


Outra maneira de pensar em IA é em relação a amplitude das tarefas realizadas. Esta abordagem permite classificar dois tipos de IA:


- IA fraca (estreita): IA treinada para realizar uma tarefa específica. É a IA com que nós interagimos diariamente, que permite a maioria das aplicações inteligentes como SIRI (Apple), Alexa (Amazon) e apps de reconhecimento de imagem.


- IA forte: subdivida em:

. IA geral ("AGI"): é aquela em que a inteligência da máquina equivale em todas as dimensões a inteligência humana- grau de consciência, capacidade de aprender, planejar e resolver problemas.

. Super IA: IA que supera a capacidade humana, como o HAL 9000 ((Heuristically Programmed Algorithmic Computer) do filme 2001 uma odisseia no espaço.


Para resumir, então, pode-se dizer que IA é um termo amplo que abrange várias estratégias e metodologias diferentes para tornar, em graus diferentes, máquinas/ programas de computador, inteligentes; ou do ponto de vista pragmático, capazes de interagir com os dados do mundo e resolver problemas.


Existem várias metodologias que objetivam tornar máquinas e softwares inteligentes. Uma das abordagens mais importantes é o que chamamos de Aprendizado de Máquinas (“Machine Learning”).

 

2.2) Aprendizado de máquinas (“machine learning”)


O termo Aprendizado de Máquinas foi cunhado em 1959 por Arthur Samuel.  Samuel trabalhou na IBM e foi um dos pioneiros da inteligência artificial e jogos de computador. Num artigo publicado no IBM JOURNAL OF RESEARCH AND DEVELOPMENT, intitulado "Alguns Estudos em Aprendizado de Máquina Usando o Jogo de Damas", o cientista não apenas cunhou o termo AM bem como aplicou a metodologia para ensinar máquinas a jogar damas.


Para começarmos a entender um pouco sobre AM precisamos voltar um passo atrás- como são programados os softwares na computação tradicional. Tradicionalmente os programas de computador são escritos com uma abordagem baseada em regras- isto é, o programador cria um conjunto de instruções que determinam como o software resolve um problema ou realiza uma tarefa. O processo de escrever o programa é bastante trabalhoso e envolve ciclos iterativos de testagem e rescrita do código, até que o software funcione de maneira adequada.


A abordagem do AM é diferente.  No AM os softwares são construídos a partir da interação sucessiva de grande quantidade de dados com o algoritmo. A cada iteração, isto é, a cada repetição do processo, o algoritmo vai aprendendo com os dados e se modelando- até o ponto em que consegue fazer predições e resolver problemas de maneira adequada. Do ponto de vista técnico, esse aprendizado envolve o uso de funções matemáticas que permitem a representação, mensuração de desempenho e otimização do algoritmo com a entrada de dados. Simplificando: para uma máquina aprender ela precisa de grande quantidade de dados e grande poder computacional (para executar as operações matemáticas necessárias).


De maneira mais formal, pode-se definir AM como uma classe de algoritmos de computador que constroem modelos de classificação e predição a partir de dados existentes. Trazendo um pouco para o mundo da anatomia patológica, se pensarmos que amostras podem ser definidas pelos atributos que as compões (como formato, coloração, expressão de um antígeno), um algoritmo de AM é uma função que liga esses atributos a um output específico- no nosso cotidiano seria um diagnóstico específico, uma classificação, entre outros.


Há diferentes tipos de aprendizado de máquina: 

 

. Aprendizado Supervisionado: o algoritmo é treinado a partir de conjuntos de dados rotulados (isto é, anotados e classificados por humanos). Entrega-se input e output conhecidos para treinar o algoritmo- e a cada sessão de treinamento, o supervisor humano corrige a classificação oferecida pela máquina a partir dos dados já rotulados. Esse processo é repetido até se obter um algoritmo em que a classificação/ predição esteja adequada para o objetivo do algoritmo. O grande problema dessa abordagem, apesar de oferecer grande poder de discriminação/ predição, é que necessita bastante esforço humano- seja para anotar dados, seja para oferecer o feedback nas diferentes iterações de treinamento do algoritmo. E, na prática, esse serviço é bastante custoso e trabalhoso. Um exemplo de aplicação de aprendizado supervisionado é a classificação de email como spam ou não spam; neste caso, você possui um conjunto de emails rotulados como "spam" ou "não spam" (ou seja, você tem dados de treinamento com rótulos). Usando esses dados, você treina um modelo de aprendizado de máquina para classificar automaticamente novos emails como spam ou não spam com base em características como palavras-chave e estrutura do texto.

 

. Aprendizado Não Supervisionado:  aqui o algoritmo é treinado com dados não rotulados previamente por observador humano. Utilizam-se algoritmos de agrupamento (“clustering”) para descobrir padrões ou grupos sem a necessidade de intervenção humana. Diariamente nos deparamos com algoritmos de aprendizado não supervisionado; por exemplo, plataformas de streaming de vídeo usam aprendizado não supervisionado para agrupar usuários com gostos semelhantes. Com base nas escolhas e comportamentos de visualização dos usuários, o sistema recomenda filmes ou programas de TV que outros usuários do mesmo grupo apreciaram.


. Aprendizado Semi-Supervisionado: essa é uma metodologia que combina dados rotulados e não rotulados para treinamento dos algoritmos, usada especialmente quando o volume de dados rotulados é pequeno. A ideia é usar os dados rotulados para guiar o modelo na aprendizagem e generalização dos dados não rotulados. Uma aplicação prática dessa metodologia ocorre na construção de algoritmos usados para auxiliar o diagnóstico de imagens na medicina- como imagens de patologia digital. Como o número de imagens anotadas por patologistas é escasso, utiliza-se um pequeno conjunto de imagens médicas anotadas pelo patologista (por exemplo, com algum diagnóstico específico, como adenocarcinoma de próstata versus próstata normal) e uma grande quantidade de imagens não anotadas. Usando o aprendizado semi-supervisionado, o sistema pode identificar padrões e características nas imagens não rotuladas que são semelhantes às das imagens rotuladas. Isso ajuda a identificar casos suspeitos de doenças em um conjunto muito maior de imagens.


. Aprendizado por Reforço: o treinamento dos algoritmos ocorre por tentativa e erro através da interação com um ambiente. Em geral o feedback do ambiente é feito através de funções de prêmio e punição. Um exemplo de aprendizado por reforço é o treinamento de uma agente de inteligência artificial para jogar um determinado jogo. No aprendizado por reforço, um agente (como um robô ou um programa de computador) toma ações em um ambiente para maximizar uma recompensa. Por exemplo, treinar um robô a jogar xadrez ou um programa de IA a jogar jogos de videogame, onde o agente aprende a tomar decisões com base em tentativa e erro para maximizar sua pontuação.

 

Outra maneira de classificarmos os algoritmos de AM é separar as diferentes metodologias em:

 

. AM tradicional (ou “shallow learning”/ aprendizado superficial)

. Aprendizado profundo (“Deep learning”)

 

A principal diferença entre técnicas clássicas de AM e o AP é a utilização de redes neurais profundas. Antes de passarmos para o próximo tópico, cabe algumas observações sobre as técnicas de AM tradicional.


Nas metodologias de AM tradicional os algoritmos dependem bastante da intervenção dos programadores para criação de regras que permitem a identificação dos padrões nos dados e fazer predições a partir deles. Há diversos exemplos de AM tradicional, os principais são:

 

1. Regressão Linear

2.  Regressão Logística

3. Árvores de Decisão

4. Máquinas de Vetores de Suporte (SVM)

5. K-Vizinhos Mais Próximos (K-Nearest Neighbors - KNN)

6. Naive Bayes

7. Análise Discriminante Quadrática

8. Regressão de Ridge e Regressão de Lasso

9. Regressão Polinomial

10. Random Forest

11. Gradiente Descendente

12. Algoritmos de Clusterização: Incluem o K-Means, Hierarchical Clustering e DBSCAN,

13. Regras de Associação

 

Como observado anteriormente, a principal diferença das metodologias tradicionais com as de aprendizado profundo é a utilização do que chamamos de redes neurais profundas- um subgrupo das técnicas conhecidas como redes neurais.

 

2.3) Redes neurais artificiais


Redes neurais, ou melhor dizendo, redes neurais artificiais, representam um subconjunto de algoritmos de aprendizado de máquinas que formam a espinha dorsal das técnicas de aprendizado profundo (deep learning). São chamadas de “neurais” pois seu funcionamento é de certa forma inspirado no funcionamento dos neurônios.


Cabe, então, uma breve revisão sobre a estrutura e funcionamento dos neurônios. Dividimos o neurônio em três partes:


. dendritos

. corpo celular (ou soma)

. axônios

 

Entre os dendritos e axônios há um espaço, chamado de fenda sináptica.  De maneira simplificada, o fluxo da informação entre neurônios funciona da seguinte maneira:

 

. múltiplos sinais chegam ao neurônio via dendritos

. esses sinais são integrados no corpo; caso a força dos sinais ultrapasse um limiar de disparo (“treshold”) determinado, a informação continua para os axônios na forma de potenciais de ação

. ao chegar nas ramificações terminais do axônio há a liberação de neurotransmissores na fenda sináptica, propagando a informação para os dendritos do próximo neurônio

 


Neurônio Biológico


 

Outra característica muito importante é a capacidade de se fortalecer ou enfraquecer conexões sinápticas entres os neurônios- a plasticidade sináptica. Em 1949 Donald Hebb propôs o princípio teórico geral que sinapses poderiam fortalecer ou enfraquecer suas conexões ao longo do tempo ( “neurônios que disparam juntos, se conectam juntos”). A descoberta de fenômenos como potenciação de longo prazo e depressão de longo prazo demonstraram como sinapses podem alterar a força de suas conexões através de mecanismos bioquímicos específicos, além do escopo dessa breve revisão.


De qualquer maneira, duas características de como os neurônios lidam com o fluxo de informação inspiraram a criação, por McCullough e Pitts, do modelo matemático dos neurônios artificiais (Neurônio de MCP):

 

. a transmissão da informação entre neurônios, incluindo o papel do corpo celular em atuar como agrupador dos sinais recebidos e transmitindo a informação caso os sinais sejam fortes o suficiente para ultrapassar o limiar

. capacidade das sinapses alterarem a força de suas conexões

 

A representação visual do modelo matemático por trás dos neurônios artificiais é a seguinte:

 

 


Neurônio Artificial- MCP

 

Para entendermos um pouco melhor esse modelo vamos aos componentes individuais. Da esquerda para a direita, o primeiro componente do neurônio artificial é representado pelo “input”, ou sinal de entrada, nomeados com X até Xn. Representam os dados de entrada que serão analisados pelo modelo. O próximo item é o peso, aqui identificado com W (de weight), de W1 até Wn. São os valores que determinam quanto cada input específico vai afetar a saída (output) do neurônio. Em outras palavras, se o peso é grande para um input específico, isso significa que tal sinal de entrada é muito importante para o resultado final- e vice-versa. São valores aprendidos durante o treinamento do modelo, equiparado, nos neurônios biológicos, a força de conexões sinápticas específicas. Na sequência temos a letra grega Σ (sigma) que representa a Função de Transferência, denotando a soma de todos os produtos de inputs com seus pesos, gerando um valor de potencial de ativação. É esse valor que é avaliado pelo próximo ítem, designado pela letra grega ϕ (f)i, representando a Função de Ativação. Se o valor obtido pela função de transferência exceder o limiar de ativação, ocorre o “disparo” do neurônio artificial para a saída (output).


 Resumindo, um neurônio matemático é um componente que calcula a soma ponderada de vários inputs relativos aos seus pesos, aplica uma função e passa o resultado adiante. O aprendizado reside na capacidade de se alterar os valores dos pesos, que influencia o disparo, ou não, isto é, a passagem ou não, da informação para o output.


Redes neurais artificiais, então, representam um grupo de algoritmos nos quais vários neurônios artificiais são conectados, formando redes de complexidades diferentes. E aqui reside a diferença entre redes neurais e aprendizado profundo: o número de camadas. Uma rede neural com mais de 3 camadas (incluindo input e output) pode ser considerado um algoritmo de aprendizado profundo (deep learning).


A arquitetura de uma rede neural artificial é a seguinte:



Arquitetura de uma Rede Neural Simples


 

2.4) Aprendizado profundo

 

Aprendizado profundo (“deep learning”) refere-se, então, a algoritmos formados por redes neurais com mais de 3 camadas (incluindo input e output). A arquitetura geral de algoritmos aprendizado profundo é a seguinte:

 


Arquitetura de uma Rede Neural Profunda (Aprendizado Profundo)

 

 

A conexão entre os neurônios de cada camada é feita de tal maneira que nas camadas escondidas o output de uma camada é o input da camada que vem na sequência. Mais ainda, cada neurônio recebe inputs (com seus pesos associados) de vários neurônios da camada anterior.  Essa sequência de passagens entre as camadas, com os pesos diferentes nos diferentes níveis das camadas, é uma das características que permite o algoritmo de aprendizado profundo fazer predições e analisar com sucesso os dados do input. É o que permite que cada camada incorpore relações entre os diferentes componentes dos dados analisados, criando representações internas cada vez mais complexas nas camadas escondidas.


E aqui cabe uma distinção importante em relação aos algoritmos de aprendizado de máquina tradicionais- a automação do aprendizado. Enquanto boa parte dos algoritmos de aprendizado de máquinas tradicionais requerem bastante interferência humana para se ajustar os parâmetros que interpretam os dados (engenharia de “features”), os algoritmos de aprendizado profundo fazem isso de maneira mais automatizada. Em especial nos ajustes dos pesos de cada conexão. Isso ocorre em especial por duas características; a primeira é o número de camadas ocultas que permite representações internas complexas nos neurônios artificiais, em especial para lidar com problemas de grande magnitude como análise de imagem. Outra característica decorreu de um avanço técnico importante: o desenvolvimento e aprimoramento dos algoritmos de backpropagation.


Até o momento o caminho da informação ocorria do input para o output. Esse processo pelo qual a informação viaja para frente na rede neural é conhecido como “feedforward”. Não há nenhum ajuste de pesos durante essa fase; os dados de entrada são processados para chegar a uma saída. Após o feedforward, a saída da rede é comparada com a saída desejada, e a diferença entre as duas é calculada. Esta diferença é conhecida como "erro" ou "perda". Backpropagation é o processo de trabalhar essa perda de volta pela rede, atualizando os pesos no caminho para reduzir o erro. Durante backpropagation, a rede ajusta seus pesos para minimizar a perda. É nesse processo de recálculo, que ocorre inúmeras vezes durante o treinamento da rede, que o aprendizado ocorre. O algoritmo de backpropagation permite que os dados corrijam os pesos da rede, de fato ensinando a fazer predições e classificações melhores.


 


Backpropagation


O desenvolvimento das ferramentas de aprendizado profundo está, desta maneira, intimamente ligado a habilidade dos processadores em executar um volume e complexidade de cálculos matemáticos muito grande- em especial a álgebra linear. Por exemplo, quando as entradas X são apresentadas ao neurônio, elas são multiplicadas pelos pesos sinápticos correspondentes, gerando as entradas ponderadas, ou seja, x1 que multiplica w1, etc. Isso descreve uma das bases matemáticas do funcionamento de uma rede neural artificial, a multiplicação de matrizes. E aqui surge uma interação importante entre hardware e software- o aprimoramento e utilização das GPUs. Tradicionalmente, os computadores são construídos com CPUs (central processing units), responsáveis por executar as instruções dos programas de computador. Conhecidas como o “cérebro” do computador, é na CPU que os cálculos matemáticos para que essas instruções ocorram de maneira adequada aconteçam. Entretanto, tais CPUs tem dificuldade em executar os cálculos matriciais.  As GPUs (Graphics Processing Units), entretanto, que são projetadas para computação paralela, são extremamente eficientes em acelerar tais operações, tornando-as uma ferramenta essencial na era moderna do aprendizado profundo. A utilização de GPUs para rodar os algoritmos de aprendizado profundo foi uma etapa muito importante para o sucesso desses softwares.



Da mesma maneira que existem vários algoritmos de aprendizado de máquinas tradicionais, há inúmeras maneiras como esses algoritmos e neurônios artificiais podem ser organizados- ou seja, diferentes arquiteturas de redes neurais profundas com diferentes aplicações.  Para se ter uma ideia da diversidade das arquiteturas das redes neurais, segue uma representação gráfica de seus principais exemplos:


 



 

Dentre essa diversidade toda, segue um breve resumo das mais importantes/ famosas:

 

1. Redes Neurais Convolucionais (Convolutional Neural Networks- CNN):

 É o tipo de arquitetura mais comumente usada em visão computacional, como reconhecimento de imagem e vídeo. Ou seja, em geral quando falamos de algoritmos de aprendizado profundo em anatomia patológica, estamos falando de CNNs.


2. Redes Neurais Recorrentes:

São redes utilizadas principalmente para duas tarefas:

 . Processamento de Linguagem Natural (NLP): os algoritmos de reconhecimento de fala, tradução automática e geração de texto comumente utilizam essas redes

. Análise de séries temporais: utilizados para análise de sentimentos, alguns modelos de linguagem e previsão de mercado de ações


3. Redes Adversárias Generativas (Generative Adversarial Networks- GAN):

Consistem em duas redes, uma geradora e uma discriminadora, que são treinadas simultaneamente. A rede geradora tenta criar dados que pareçam reais, enquanto a discriminadora tenta distinguir entre dados reais e falsos. GANs são usadas em tarefas como geração de imagens e melhoramento de imagem. Na patologia há, inclusive, papers que demonstram, por exemplo, a capacidade de gerar “HEs” virtuais a partir de lâminas de exames de congelação. Ou mesmo retocar imagens digitais ruins e gerar colorações especiais “virtuais”.


4. Transformers:

 É o tipo de arquitetura mais recente, amplamente adotada para processamento de linguagem natural (NLP). Responsável pela tecnologia utilizada nos chatbots modernos como ChatGPT (Chat Generative Pre-trained TRANSFORMER – ou Transformador Pré-treinado para Geração de Conversa).

 

3.0) Análise do artigo “Interpretação de imagens assistida por computador: uso de uma rede neural para diferenciar carcinoma tubular de adenose esclerosante”




 

A idéia do artigo é bastante direta: usar uma ferramenta computacional, no caso redes neurais, para diferenciar carcinoma tubular de adenose esclerosante. Um breve contexto anátomo patológico: carcinoma tubular é um tipo especial de carcinoma mamário e tem como um dos grandes diagnósticos diferenciais, em virtude da semelhança ao exame microscópico, com uma doença benigna chamada adenose esclerosante. Do ponto de vista clínico a distinção é bastante importante- e muitas vezes difícil de ser feita.


O paper segue um desenho clássico, utilizado até hoje- divide o estudo em duas fases:

 

1ª fase de treinamento do algoritmo

2ª fase de teste do algoritmo

 

Na primeira fase os pesquisadores buscaram dos arquivos da AFIP (Instituto de Patologia das Forças Armadas americana) 18 casos de adenose esclerosante e 18 casos de carcinoma tubular. Na sequência um dos patologistas do estudo marcou as áreas de interesse em cada lâmina. E a próxima etapa é bastante engenhosa, em especial pela maneira como se contornou as limitações técnicas da época. As lâminas foram randomizadas e entregues para um segundo pesquisado, que não sabia o diagnóstico das pacientes. O que ele faz é, com auxílio de um sistema de análise de imagens (TAS PLUS, Leica), uma séria de medidas morfológicas dos tecidos. Inúmeros parâmetros foram analisados- e, após análise estatística, descobre-se que dois são os mais importantes para diferenciar as doenças:


. densidade de superfície glandular

. coeficiente de variação da forma luminal


São essas medidas que serviram como input da rede neural. Ao contrário dos estudos modernos em que o input é a imagem digital, aqui o input são medidas obtidas a partir da análise das lâminas. E o motivo é simples: ferramentas de digitalização de lâminas só seriam desenvolvidas comercialmente a partira da segunda metade da década de 1990. Além disso, os computadores comumente utilizados por pesquisadores da época, mesmo com a utilização de placas auxiliares para rodar redes neurais, não tinham o poder de processamento suficiente para executar tais cálculos.


A primeira fase foi então treinar a rede neural utilizando esses dois inputs: densidade de superfície glandular e coeficiente de variação da forma luminal. A rede neural utilizada tinha três camadas:


. input

. camada oculta

. output

 



 

O resultado da fase de treinamento foi uma concordância de 92% entre a opinião dos experts e o resultado obtido pela rede neural. Dois casos de esclerose adenosante foram identificados erroneamente como carcinoma tubular e um caso de carcinoma tubular foi identificado incorretamente como adenose esclerosante. Passada a fase de treinamento, os autores do artigo prosseguiram com a fase de teste. Isto é, iriam testar se o treinamento do algoritmo foi feito de maneira adequada. Para tanto repetiram as mesmas fases anteriormente descritas. Agora, entretanto, utilizaram 10 casos de adenose esclerosante e 9 casos de carcinoma tubular. O resultado da fase de teste? O algoritmo classificou todos os 19 casos de maneira correta.


Os autores finalizam o paper com o seguinte texto:


"Não há dúvida de que um patologista apresentado com tantos exemplos quanto usamos para treinar a rede neural teria um desempenho igualmente bom. No entanto, esse tipo de treinamento nem sempre pode ser possível, e uma rede neural pode, em princípio, ser facilmente implementada em uma estação de trabalho em um local remoto. Por essa razão, o sucesso inicial demonstrado pela abordagem de rede neural para classificação de padrões patológicos, portanto, merece muito mais investigação extensiva e disseminada."

 

Referências:

 

Livros:


Artificial Intelligence and Deep Learning in Pathology. Stanley Cohen. 2021. Elsevier.

 

Criadores de Gênios: os inovadores que levaram a IA para o Google, Facebook e o Mundo. Cade Metz. 2022. Editora Alta Books.

 

Artigos científicos:


Computer-assisted Image Interpretation: Use of a Neural Network to Differentiate Tubular Carcinoma from Sclerosing Adenosis. Becker RL, Mikel UV, O`Leary TJ. Modern Pathology, Vol 5, No. 4. 1992

 

Some Studies in Machine Learning Using the Game of Checkers. Samuel AL. IBM Journal of Research and Development. Vol. 3, No. 3, July, 1959.

 

Twenty Years of Digital Pathology: An Overview of the Road Travelled, What is on the Horizon, and the Emergence of Vendor-Neutral Archives. Pantanowitz L, Sharma A, Carter AB, Kurc T, Sussman A, Saltz J. Journal of Pathology Informatis. Volume 9, Issue 1, January-December, 2018.

 

Sites da Internet:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

381 visualizações0 comentário

Posts recentes

Ver tudo
Post: Blog2_Post
bottom of page