Inteligência artificial e o aprendizado de máquina

Segundo Stuart Russel e Peter Norwig em seu livro Inteligência artificial: uma abordagem moderna [1]:

O campo da inteligência artificial, ou IA, (…) tenta não apenas compreender, mas também construir entidades inteligentes.

Stuart Russel e Peter Norwig

Inteligência artificial

O termo inteligência artificial foi cunhado em 1955 por John McCarthy, professor da área de matemática do Dartmouth College. No ano seguinte, uma conferência foi organizada para discutir o assunto pela primeira vez.

Agentes inteligentes

De modo geral e amplo, o objetivo é projetar agentes inteligentes capazes de perceber o ambiente em que atuam, tomar decisões e atuar neste ambiente. O objetivo, em última instância, é que eles sejam:

  • oniscientes: os agentes devem perceber em detalhes o ambiente em que atuam. Imagine um carro autônomo, por exemplo, que precisa ter um sensoriamento bastante complexo do ambiente em que vai rodar.
  • capazes de aprender: é esperado que os agentes aprendam com o ambiente e com os resultados de suas ações.
  • e agir de forma autônoma: idalmente, os agentes devem ter capacidade de tomar boas decisões e agir de forma independente do ser humano.

Dessa forma, o campo da inteligência artificial é bastante amplo e inclui tanto o projeto, desenvolvimento e avaliação do hardware dos agentes quanto o do software. Assim, é um campo bastante interdisciplinar envolvendo as áreas de ciências exatas como a engenharia, a acomputação, a matemática e a física, mas também as áreas de ciências humanas que vem contrbuindo para discussões éticas e de regulação.

Aprendizado do máquina

Quando se fala no software por trás dos agentes inteligentes, os algoritmos de aprendizado de máquina são essenciais na tarefa de aprendizado visto que os agentes precisam aprender com os resultado de suas ações.

A área de aprendizado de máquina visa o desenvolvimento de algoritmos que construam modelos aprendidos a partir de conjuntos de dados específicos, usados para o treinamento dos modelos.

Há diversos paradigmas de algoritmos de aprendizado de máquina:

  • Aprendizado supervisionado: imagine que você tem um conjunto de dados sobre pacientes juntamente com um rótulo informando se ele é ou não diabético. Você pode usar esses dados para treinar um modelo, ou seja, para aprender como classificar um paciente me saudável ou diabético.
  • Aprendizado não-supervisionado: ocorre quando não se tem rótulos sobre possíveis classes das instâncias ou elementos. Neste caso, é possível empregar técnicas que pemitam a comparação entre as instâncias que permitam o seu agrupamento segundo semelhança ou mesmo a detecção de anomalias.
  • Aprendizado semi-supervisionado: está entre o aprendizado supervisionado e o não supervisionado. Ocorre quando existem poucos exemplos rotulados para treinamento e um volume maior de instâncias sem rótulos. A ideia é extrair o máximo dos exemplos rotulados tentando aproveitar também os exemplos não rotulados.
  • Aprendizado por reforço: é um paradigma no qual se atribui recompensas ou penalidades de acordo com acertos e erros. Imagine que o algoritmo deve tomar uma sequência de ações, em um jogo, por exemplo. A cada ação tomada, ele receberá uma pontuação de acordo com a qualidade da jogada. O aprendizado se dá através deste reforço.

Modelos

Por fim, os modelos aprendidos podem ser de diversas naturezas:

  • Matemáticos: como retas ou planos que separam pontos que representam classes de instâncias ou elementos no espaço n-dimensional.
  • Estatísticos: como probabilidades de que cada elemento pertença a uma determinada classe dados os valores de seus atributos.
  • Outros: como um conjunto de pesos obtidos pela otimização de uma rede neural que realiza a classificação das instâncias.

Programação x Aprendizado de máquina

A grande diferença entre os modelos de aprendizado e os algoritmos tradicionais é que as regras são inferidas com base nos dados e não com base no conhecimento de poucos especialistas.

Figura 1 – Esquema da diferença entre algoritmos tradicionais e algoritmos de aprendizado de máquina. A esquerda, um programa codificado em Python com regras estáticas que definem quando crédito pode ser concedido a um cliente do sistema bancário. A direita, um modelo de aprendizado sendo construído a partir de um conjutno de dados de clientes que já receberam crédito no passado. Este modelo pode ser uma árvore de decisão, ou qualquer outro modelo. Ele pode evoluir conforme mais dados são fornecidos para o treinamento do modelo.

Na programação tradicional, o programador tenta incluir no programa, através de comandos em uma linguagem de programação, o conhecimento de um ou mais especialistas. Por exemplo, imagine que um patologista participe do desenvolvimento de um programa para avaliação de lâminas de um determinado exame de células sangúineas. Este especialista ajudará o programador a definir um conjunto de regras estáticas para a tomada de decisão sobre um diagnóstico de determinada doença de acordo com as características das células. Essas regras serão normalmente defininas por um pequeno grupo de especialistas e ficarão escritas no código do programa de forma estática.

Os modelos de aprendizado, por outro lado, são construídos com base em dados de treinamento que permitem que o algoritmo faça a inferência de regras sobre os valores dos atributos e sua relação com as classes. No problema da classificação das lâminas, o algoritmo receberia um conjunto de lâminas de pacientes com uma certa doença e de outros saudáveis. Seria o algoritmo que, através dos dados, aprenderia um modelo capaz de identificar características capazes de diferenciar lâminas de pacientes saudáveis e doentes.

A IA e a Bioinformática

As aplicações da IA na Bioinformática são inúmeras. A união entre as áreas é muito promissora pelo estágio de desenvolvimento atual da Bioinformática. Em primeiro lugar, há conjuntos de dados volumosos, complexos e curados que podem servir de entrada na solução dos mais diversos problemas nas ciências da vida. Em segundo lugar, há inúmeros problemas em aberto que podem tirar proveito das técnicas de aprendizado, visto que os algoritmos são capazes de identificar padrões complexos e não triviais para os seres humanos.

Há então uma demanda por profissionais qualificados e que sejam capazes de dominar os problemas (e a semântica dos dados envolvidos e disponíveis) bem como as técnicas de aprendizado e seu uso e interpretação. Este deve ser um profissional com formação ampla e interdisciplinar. Os bioinformatas tem grandes vantagens nessa área de fronteira por já estarem aptos a resolver problemas biológicos através dos modelos e algoritmos mais diversos.

Referências

[1] RUSSELL, Stuart; NORVIG, Peter. Artificial intelligence: a modern approach. 2002.

Publicado por OnlineBioinfo Bioinformática

Meu nome é Raquel Minardi, sou bacharel em Ciência da Computação e doutora em Bioinformática. Sou professora do Departamento de Ciência da Computação da UFMG desde 2010, membro afiliado da Academia Brasileira de Ciências (ABC), vice-coordenadora do Programa de Pós-graduação em Bioinformática da UFMG, coordenadora da rede BaBEL de Bioinformática aplicada a Biotecnologia, vice-coordenadora do comitê especial de Biologia Computacional da Sociedade Brasileira de Computação (SBC) e secretaria da diretoria regional centro-sudeste da Associação Brasileira de Bioinformática e Biologia Computacional (AB3C). Sou fascinada pela área de Bioinformática e pela possibilidade de desenvolver modelos e algoritmos para suporte a resolução de problemas tão desafiadores quanto os que envolvem a biologia e biotecnologia. Também amo ensinar e desenvolver conteúdos para ensino a distância.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: