Aprendizado Por Reforço: aplicações na área de ciências biológicas

Veja as aplicações de Aprendizado por Reforço na Bioinformática, Robótica e Medicina

Nelson Alves Yamashita
Turing Talks
6 min readApr 25, 2021

--

Foto por National Cancer Institute em Unsplash

Olá entusiastas de inteligência artificial, bem vindos a mais um Turing Talks de Aprendizado por Reforço!

Se você não se lembra ou ainda não conhece, o aprendizado por reforço é uma técnica de aprendizado de máquina que envolve principalmente a interação de um agente com um ambiente, no qual esse agente tenta aprender as melhores ações para uma situação com base em um sistema de recompensas. Se você se interessar, possuímos uma série de textos com os básicos dessa técnica aqui no nosso Medium, checa lá :).

Recentemente, mostramos como aplicar diversos algoritmos de Aprendizado por Reforço em diversos jogos, como por exemplo uma Rede Neural que Aprende a Jogar Flappy Bird, Uma IA que Aprende a Jogar Pong e até uma que Aprende a Jogar Super Mario. Como podemos ver, o Aprendizado por Reforço possui um potencial muito grande, então por que só o usamos em jogos?

Existem uma série de motivos para isso:

  • Jogos já possuem um sistema de ação-recompensa bem estabelecido por conta de seus sistemas de pontuação. Se você morre, perde uma vida, se realiza um objetivo, recebe pontos, se terminar uma fase rapidamente recebe mais pontos ao final, etc.
  • Também são ambientes fáceis de serem programados de maneira eficiente em computadores. Por conta disso, podemos acelerar a simulação, possibilitando um treinamento mais rápido.
  • É fácil também conseguirmos fazer comparações entre as performances humanas e do agente, já que para alguns jogos já se conhece o quão bem alguém consegue jogá-lo, para assim avaliarmos o quão bom é o agente que criamos.

Embora jogos sejam importantes ambos para a sociedade e para a computação, um algoritmo que apenas serve para resolvê-los não parece ser a coisa mais útil do mundo… Por isso preparamos este texto com algumas das aplicações mais recentes de RL em diversas áreas do conhecimento, como Bioinformática, Robótica e Medicina.

Bioinformática:

O problema da montagem de sequência de DNAs é um problema conhecido tanto na ciência da computação quanto na bioinformática por sua grande complexidade. Basicamente o que se tenta realizar nesse problema é a reconstrução de uma molécula de DNA original com base em uma grande quantidade de fragmentos de sequências menores vindas dessa molécula.

Recentemente o Aprendizado por Reforço vem sendo aplicado nesse problema. Seu objetivo é treinar um agente que consiga achar o caminho durante a montagem dos fragmentos do seu estado inicial até um estado de alinhamento final, maximizando uma função de performance, a qual soma todas as pontuações de sobreposição dos fragmentos adjacentes. O modelo de aprendizado por reforço conseguiu resultados melhores do que outras técnicas, como aprendizado supervisionado e algoritmos genéticos [1].

O desenvolvimento de moléculas do zero, normalmente chamada de montagem de novo (do latim, do novo), recentemente se tornou uma área de pesquisa ativa graças aos, dentre outras coisas, recentes avanços em aprendizado por reforço. Nela tentamos desenvolver moléculas específicas que consigam ativar proteínas particulares, sendo extremamente útil no estudo de bioativos, que por sua vez são de grande importância na descoberta de novas drogas.

Evolução das moléculas geradas durante o treinamento do modelo REINVENT, Extraído de [2].

Um dos modelos treinados para isso é o REINVENT, nele o agente já treinado com uma estrutura de molécula específicas, gera um caractere de uma molécula em formato de texto por episódio, recebendo recompensas com base na molécula formada. Ele utiliza uma modificação de um famoso algoritmo de RL, no qual foca na alteração da política, o REINFORCE .

Em um teste para criar compostos ativos com receptores de dopamina, o modelo conseguiu criar moléculas quimicamente válidas, ambas novas e até já conhecidas por serem ativas com o receptor [2].

Robótica:

Uma área onde é bem comum utilizar IA é na área de robótica, com o objetivo de melhorar performance ou otimizar tarefas desejadas. Um exemplo interessante dessa área que utiliza RL é a Sutura Colaborativa, ou seja, um agente auxiliando o profissional na hora de realizar sutura (pontos cirúrgicos). Essa tecnologia seria aplicada em cirurgias assistidas por robôs. Abaixo, uma imagem representando as 4 etapas do processo de sutura:

As 4 etapas do processo de sutura. As etapas “M1” e “M2” são realizadas pelo operador da máquina, enquanto que as outras são controladas pelo agente desenvolvido. Extraído de [3].

Uma das possíveis dificuldades que o modelo poderia encontrar seria a diferença entre os estilos de sutura dos profissionais. O algoritmo utilizado para essa tarefa foi o Q-Learning, um algoritmo bem simples e poderoso, e o resultado foi que o agente conseguiu aprender a realizar essa tarefa de uma forma semelhante a de um profissional, sendo robusto a pequenas variações de movimento. Isso mostra que esse tipo de tecnologia pode auxiliar e muito os operadores desses equipamentos, mantendo a precisão [3].

Medicina:

Uma aplicação de RL que vem ganhando espaço na medicina é na melhoria de tratamentos. Um exemplo na literatura é com Câncer: há aplicações que buscam encontrar qual a melhor dose para o tratamento com quimioterapia. Essa tarefa é difícil, visto que é necessária uma dose suficiente para atacar as células cancerígenas enquanto não se deve causar problemas ao paciente. Em [4], os autores utilizam o algoritmo Q-Learning como base para tentar resolver esse problema, alcançando resultados satisfatórios. Um outro exemplo é Ventilação Mecânica, visto que o uso extensivo é custoso para o hospital e pode causar complicações para o paciente na UTI. A utilização de RL nessa tarefa conseguiu trazer resultados interessantes utilizando dados históricos de UTI, sendo necessário mais estudos antes da aplicação clínica [5].

Um grande desafio na área da saúde é a inferência diagnóstica clínica, isto é, descobrir qual o diagnóstico do paciente para saber qual tratamento é o mais indicado. Para tentar resolver esse problema, foi aplicado um algoritmo de RL, usando alguns conjuntos de dados disponíveis, divididos em dois grupos:

  • Diagnósticos: TREC CDS e HumanDx. O primeiro possui alguns casos médicos, com descrições sobre o quadro do paciente e o seu respectivo diagnóstico. O segundo, por sua vez, relaciona alguns problemas de saúde e sintomas com seu diagnóstico.
  • Externos: Wikipedia e MayoClinic. Foram selecionadas algumas páginas desses sites com informações sobre sintomas.

O modelo, a partir da descrição do paciente e sintomas, utiliza os dados Externos para fazer uma predição de qual é o diagnóstico clínico. O resultado obtido demonstra que essa modelagem pode auxiliar no diagnóstico dos pacientes, embora seja necessário ainda outros estudos [6].

Conclusão:

RL é uma das grandes áreas do Aprendizado de Máquina, com suas características únicas. No texto de hoje, tivemos a oportunidade de mostrar que RL não é aplicado somente em jogos; suas aplicações vão em diversas áreas e ajudam a resolver problemas extremamente complexos, como tratamento de câncer e auxílio na descoberta de novas drogas.

Lembre-se de nos acompanhar em nossas redes sociais! No Facebook, no Linkedin, Instagram, nossas postagens anteriores no Medium e agora nosso servidor no Discord!

Se quiser se aprofundar em algum dos temas descritos, considere ler seus artigos originais:

Papers:

Bioinformática:

Robótica:

Medicina:

--

--