Translate

segunda-feira, 13 de setembro de 2010

Robôs ganham capacidade de aprender com a experiência

Redação do Site Inovação Tecnológica - 10/09/2010


O robô Nao, controlado pelo sistema Xpero, tenta aprender pela experiência o que funciona e o que não funciona. [Imagem: Xpero]


Aprendizado de máquina

Deixe uma criança de um ano de idade brincar por algum tempo e ela facilmente descobrirá que é capaz de colocar uma bola sobre uma caixa, mas jamais conseguirá manter a caixa em cima da bola.

Proponha-se ensinar a mesma lição a um robô e prepare-se para um trabalho muito árduo.

Os cientistas sabem que, se querem fazer avançar a inteligência artificial, eles devem desenvolver uma espécie de "aprendizado artificial", ou aprendizado de máquina - como programas que permitam que um robô adquira conhecimento sobre seu ambiente simplesmente manipulando-o, como faz uma criança.

"Ensinar conceitos como mobilidade e estabilidade a um robô é um desafio descomunal," resume Björn Kahl, roboticista da Universidade Bonn-Rhein-Sieg, na Alemanha.

Mas a dificuldade não desanimou os cientistas. Por isso, Kahl e seus colegas se reuniram no projeto Xpero, que acaba de apresentar seus resultados.

Sistema cognitivo para robôs

O objetivo do projeto Xpero foi desenvolver um sistema cognitivo para um robô que lhe permita explorar o mundo à sua volta e aprender através da experimentação física, testando hipóteses logicamente.

O primeiro passo foi criar um algoritmo que permite que um robô explore e reconheça o ambiente a partir dos dados recebidos dos seus sensores.

Para que isto fosse possível, os pesquisadores tiveram que instalar um "conhecimento" predefinido no robô, na forma de noções básicas de lógica - ou seja, para ser capaz de aprender, o robô precisa "nascer" com um background que alimente seu processo cognitivo.

Mas robôs são máquinas controladas por computadores, e computadores são binários. Assim, no estágio atual, o robô apenas consegue entender as coisas como verdadeiras ou falsas - não há talvez. Mas, mesmo com essa limitação, o programa representou um avanço impressionante para os robôs.

Conforme se movimenta, o robô utiliza os dados dos seus sensores para testar seu conhecimento. Quando ele descobre como sendo falso algo que ele esperava que fosse verdadeiro, ele começa a fazer experiências para descobrir por que sua expectativa é falsa, e assim corrigir suas hipóteses.

Conceito de tempo para robôs

O maior problema que os pesquisadores enfrentaram foi selecionar os fatores importantes no fluxo maciço e contínuo de dados captados pelos sensores do robô - um problema que seria muito maior se eles tentassem escapar da "personalidade binária" do robô, inserindo noções como "talvez" ou "pode ser".

O segundo desafio foi encontrar uma forma para fazer com que um sistema baseado em lógica lidasse com o conceito de tempo - nada filosófico, apenas algo que pudesse permitir que o robô antevisse que uma caixa iria cair se ele tentasse colocá-la sobre uma bola - uma espécie de aula básica de causa e efeito para robôs.

Inicialmente o robô não tinha nenhuma visão de futuro. Mas, com cada observação, ele começou a aprender hipóteses melhores, que poderiam ser usadas para prever os efeitos de suas ações.

O problema é que, ao descobrir uma hipótese errada, o programa ficava frente a um número literalmente infinito de possibilidades do que poderia ser a solução correta.

A equipe teve que encontrar uma forma de curto-circuitar o processo, impedindo que o robô gastasse uma quantidade infinita de tempo testando cada possibilidade. A solução foi transformar o fluxo contínuo de informações que chegavam dos sensores do robô em situações estáticas definidas a cada poucos segundos - é como se os cientistas tivessem transformado um filme em fotografias.

Além disso, quando uma hipótese se mostrava falsa, os pesquisadores reduziram o número de possíveis soluções fazendo com que o robô construísse uma nova hipótese que mantivesse os conectores lógicos da sua hipótese falsa, alterando apenas as variáveis. Isso reduziu drasticamente o número de soluções possíveis.

Repositório de conhecimentos

Um desenvolvimento marcante obtido pelo projeto Xpero foi dar ao robô a capacidade para construir uma base de conhecimento. "Ele não faz distinção entre os conhecimentos prévios e os conhecimentos adquiridos," explica Kahl. "Esta possibilidade de reutilização do conhecimento é muito importante. Sem isso não haveria aprendizagem incremental."

Nas demonstrações, os robôs controlados com o sistema cognitivo Xpero moveram-se com desenvoltura pelo ambiente, mexeram e reposicionaram os objetos e acumularam um conhecimento crescente sobre ambiente.

Mostrando um desenvolvimento que entusiasmou os cientistas, um dos robôs começou a usar objetos como ferramentas, usando um objeto para mover ou manipular outro objeto que não estava ao seu alcance.

Embora esses robôs exploradores encenem um show digno de se ver, os cientistas afirmam que os desenvolvimentos mais excitantes do projeto Xpero estão no aprendizado que a equipe obteve sobre o processo de aprendizagem de máquina em si.

"Nós ganhamos um bocado de insights sobre os desafios da aprendizagem e de como a aprendizagem de máquina realmente funciona. Meramente fazer o robô perceber que algo não está certo exigiu percepções fundamentais do ponto de vista da pesquisa." disse Kahl.

Os pesquisadores agora estão planejando um novo projeto, no qual dois robôs ficarão rodando o sistema durante um tempo muito maior - talvez meses - para ver como seu conhecimento avança.

"Mas embora o Xpero represente um grande avanço na aprendizagem de máquina, ele ainda está muito aquém das capacidades de um bebê," diz Kahl. "É claro que o robô agora pode aprender o conceito de mobilidade. Mas ele não entende o que significa mobilidade no sentido que um humano entende."

Fonte:http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=aprendizado-maquina-robos-capacidade-aprender&id=010180100910&ebol=sim

Nenhum comentário:

Postar um comentário