Mobot-Learn: Aprendizado por Reforço utilizando políticas parciais e macroestados na navegação de robôs móveis

VN:RO [1.9.11_1134]
segunda-feira, 15 d novembro d 2010
Por Bruno Toshyaki Maeda Trevelim, Coop10
Este post é uma pequena descrição do meu projeto de formatura e iniciação científica, desenvolvido no Lab. de Técnicas Inteligentes (LTI) do Depto. de Engenharia de Computação e Sistemas Digitais (PCS) da Escola Politécnica da Univ. de São Paulo, sob orientação da professora Dra. Anna Helena Reali Costa e co-orientação do Dr. Valdinei Freire da Silva.

Aprendizado por Reforço

Aprendizado por Reforço (AR) é uma técnica de aprendizado de máquinas conduzida por meio de experiência. A idéia básica é aprender, através de repetidas interações com o ambiente, a executar uma determinada tarefa. No caso da navegação de robôs móveis, pode ser utilizada, por exemplo, para que o robô aprenda a desviar de obstáculos ou a chegar em um determinado lugar.

O modelo básico é mostrado na figura 1 abaixo. Inicialmente, o robô observa (e.g., por meio dos seus sonares, ou uma câmera) a situação ou posição na qual se encontra. Em seguida, baseado nessa observação, o robô escolhe uma ação para ser executada (e.g., ir para frente ou mudar de direção). Por último, ele observa sua nova situação no ambiente e avalia, por meio de um sinal de reforço (ou recompensa) se a ação tomada foi boa ou ruim para ele. Fazendo isso repetidamente, o robô tenta cumprir sua tarefa (e.g., chegar em determinado local) acumulando o máximo de recompensa possível. Cada vez o robô executa essa seqüência de eventos, ele aprende mais sobre quais ações são melhores para serem tomadas em cada situação.

Figura 1 – Modelo de um sistema de AR

Figura 1 – Modelo de um sistema de AR

O problema é que, por dependerem dessa interação contínua com o ambiente, as técnicas de AR podem consumir muito tempo de aprendizagem, principalmente quando consideradas no âmbito da robótica. Desta forma, neste trabalho busca-se reduzir o tempo de aprendizagem de uma “política” (seqüência de ações) de navegação de um robô móvel em um ambiente por meio do uso de macroestados e uma política parcial de desvio de obstáculos, ambos baseados na complexidade da estrutura do ambiente. Uma descrição do que seriam macroestados e políticas parciais, e como estes elementos afetam o algoritmo de aprendizagem, é dada logo abaixo.

Macroestados

Macroestados são representações do espaço de estados sob uma discretização de baixa resolução. Eles permitem acelerar o processo de aprendizagem ao reduzir o tamanho do espaço de estados da tarefa, i.e., a quantidade de estados a serem visitados pelo agente durante o aprendizado (figura 2). Entretanto, isso ocasiona perda de informação sobre o ambiente, levando à uma degeneração considerável da qualidade da política a ser aprendida, ou até mesmo evitando a convergência do algoritmo de AR, dependendo da complexidade do ambiente.

Figura 2 – (a) discretização de alta resolução (b) macroestados

Figura 2 – (a) discretização de alta resolução (b) macroestados

Fluxo Compulsório

Primeiramente, precisamos definir o que é uma política de ação. Uma política de ação, em AR, é a forma com que o agente se comporta dada sua percepção da situação em que se encontra, i.e., é um mapeamento estado-ação que representa a melhor ação conhecida pelo agente para um determinado estado do ambiente. Políticas parciais, portanto, são políticas de ação que mapeiam apenas determinadas regiões do ambiente, definindo um comportamento local. No nosso caso, optou-se por um tipo específico de política parcial, chamado Fluxo Compulsório, que, baseado nas leituras obtidas pelos sonares do robô, toma o controle de navegação quando este encontra-se próximo a algum obstáculo, devolvendo o controle à política de aprendizagem após desviar do obstáculo (figura 3).
Figura 3 - Política parcial. O fluxo compulsório toma controle do agente dos pontos 1 ao 2, devolvendo então o controle para a política do AR

Figura 3 - Política parcial. O fluxo compulsório toma controle do agente dos pontos 1 ao 2, devolvendo então o controle para a política do AR

Experimentos e Resultados

Uma série de experimentos foram conduzidos tanto em ambiente simulado quanto real, de maneira a avaliar a proposta e buscar um bom equilíbrio entre o tempo de aprendizagem e a qualidade da política de navegação aprendida pelo robô móvel. O robô móvel utilizado nesse projeto foi o Pioneer 2-DX (figura 4), da ActivMedia Robotics. Os resultados obtidos (figuras 5 e 6) mostram que, com o algoritmo proposto, foi possível acelerar a aprendizagem e ainda assim executar a tarefa de navegação, mesmo que com uma pequena perda na qualidade da política.
Figura 4 – Robô móvel Pioneer 2-DX, da ActivMedia Robotics

Figura 4 – Robô móvel Pioneer 2-DX, da ActivMedia Robotics

Figura 5 – Experimentos com discretização de alta resolução (2500 estados)
Figura 6 – Experimentos utilizando macroestados e políticas parciais (36 estados)

(clique nas imagens para ampliar)

Os gráficos mostram a relação entre o episódio (ou interação de aprendizagem) e o número de passos (ou ações) necessários para se atingir o estado-meta. Como o tempo para executar a tarefa é diretamente proporcional ao número de ações executadas, podemos relacionar o tempo necessário para aprender a política com a área abaixo das curvas. É fácil notar que a utilização dos macroestados rendeu um aumento considerável na velocidade de aprendizagem. Durante as simulações de aprendizagem executadas, o tempo médio para se aprender a política por meio do algoritmo convencional, utilizando uma discretização de alta resolução, foi de aproximadamente 15 horas, enquanto que para simulações utilizando macroestados, obteve-se tempos de treinamento abaixo de 1 hora.

Segue um vídeo de experimento realizado em ambiente real com o robô móvel:

Abaixo, os documentos relacionados ao projeto:

VN:F [1.9.11_1134]
Rating: 5.0/5 (1 vote cast)
Mobot-Learn: Aprendizado por Reforço utilizando políticas parciais e macroestados na navegação de robôs móveis, 5.0 out of 5 based on 1 rating
Related Posts with Thumbnails

Tags: , , , , ,

Deixe um Comentário

Spam Protection by WP-SpamFree

Get Adobe Flash playerPlugin by wpburn.com wordpress themes