• Nenhum resultado encontrado

5. Resultados e discussão

5.1. Estudos dos parâmetros

5.1.1. Lambda

O lambda influência a quantidade de estados anteriores ao estado que recebeu a recompensa que vão receber partes desta recompensa, ou seja, quanto em direção ao passado a recompensa atual deve ser propagada. Sendo assim, é importante descobrir o melhor valor de Lambda para o problema da coleta de lixo, e também a sua influência sobre o mesmo.

Conforme pode ser verificado na figura 16, os parâmetros escolhidos para lambda foram 0.0, 0.7 e 0.9, ou seja, o primeiro sem traços de elegibilidade, o segundo propagando a recompensa para aproximadamente 20 estados e ações antes de se tornar irrelevante, e o terceiro propagando a recompensa para aproximadamente 60 estados e ações.

Figura 16 – Influência do lambda na recompensa acumulada média por passo

Figura 17 – Influência do lambda na quantidade de recompensa recebida

o melhor lambda é o 0.7. Apesar do lambda 0.9 aprender mais rápido no começo da execução do algoritmo, ele aprende uma política um pouco menos satisfatória que o 0.7 em um experimento mais longo.

Ao não utilizar os traços de elegibilidade (lambda = 0.0) a política obtida não evolui na segunda metade da execução do experimento, sendo que no final de sua execução a política é menos efetiva que a política aleatória inicial.

5.1.2. Alpha

Conforme pode ser visualizado na figura 18, o alpha está afetando a velocidade do aprendizado, onde conforme maior o alpha, mais rápido será o aprendizado. Porém, ao chegar ao alpha 0.3, percebemos que o mesmo aprende mais rápido no começo da execução mas tem dificuldade em atingir uma política ótima em longo prazo.

Figura 18 – Influência do alpha na recompensa acumulada média por passo

O gráfico da figura 19 também demostra a capacidade do alpha em afetar a velocidade do aprendizado. Para o alpha 0.2, percebemos que o mesmo

recebe mais recompensa na primeira metade da execução, e também, que é a configuração de alpha que mais aumenta a quantidade de recompensa recebida na segunda metade da execução em relação a primeira.

O alpha 0.1 tende a atingir um desempenho igual ou maior que o alpha 0.2 (contanto que seja executado por um tempo maior), tanto na curva de aprendizado quanto na quantidade de recompensa recebidas, pois ambos crescem paralelamente ao alpha 0.2.

Figura 19 – Influência do alpha na quantidade de recompensa recebida

5.1.3. Gamma

No gráfico a seguir, gamma 0.4 maximiza as recompensas mais imediatas e leva mais tempo para aprender um bom comportamento (a figura 21 também demonstra esta dificuldade).

Figura 20 – Influência do gamma na recompensa acumulada média por passo

O gamma 0.9 considera uma quantidade muito maior de sequencias de recompensa para gerar a política, e por consequência, está convergindo rápido logo no começo da execução. Por considerar uma grande parte da sequência de recompensas, ele acaba recebendo muito ruído do valor dos estados posteriores, e o desempenho em longo prazo é pior que os outros valores de gamma.

Figura 21 – Influência do gamma na quantidade de recompensa recebida

O gamma 0.6, apesar de ter o aprendizado mais lento, se saiu melhor na tarefa global e consegue receber mais recompensa na segunda metade da execução, sendo a melhor configuração de gamma para este problema.

5.2. Política ótima

O estudo dos parâmetros indicou que a melhor configuração de Lambda, Alpha e Gamma, sendo respectivamente os valores 0.7, 0.2 e 0.6. Com estes valores executamos o algoritmo por 20000 passos, correspondente a 2h30m de execução, obtendo assim o desempenho do algoritmo em longo prazo e determinando sua convergência a uma política ótima.

Figura 22 – Recompensa acumulada média por passo (experimento longo)

Conforme exibido na figura 22, percebemos um crescimento constante na recompensa acumulada média por passo, o que indica melhoria do comportamento ao longo do tempo. Entretanto existe uma pequena queda na recompensa média acumulada nos últimos 1000 passos, o que indica que a política tende a estabilizar em torno deste valor.

Também temos um crescimento contínuo na quantidade de recompensa recebida por número de passos, conforme pode ser visto na figura 23, onde nos primeiros 4000 passos recebemos uma recompensa a cada 47-48 ações, e nos últimos recebemos uma recompensa a cada 35-36 ações, demonstrando uma melhoria clara no comportamento do agente.

Figura 23 – Quantidade de recompensa recebida a cada 4000 passos (experimento longo)

Para exemplificar o comportamento obtido, e representa-lo de forma mais inteligível, exibimos na tabela 5 uma amostragem da melhor ação em alguns dos estados do agente, conforme obtido no final da execução do experimento de 20000 passos.

Tabela 5 – Amostra de comportamento por estado (experimento longo)

Lixo Bateria

de bateria

Imp. Esq. Imp. Dir. Sensor FE Sensor FD Sensor LE Sensor LD Ação

Sim Sim Não Não Caminho Caminho Caminho Caminho Frente Sim Sim Sim Não Caminho Caminho Caminho Caminho Direita Sim Sim Não Sim Caminho Caminho Caminho Caminho Esquerda Sim Sim Não Não Caminho Caminho Caminho Referencia Direta Sim Sim Não Não Caminho Caminho Caminho Lixo Direta Sim Sim Não Não Caminho Caminho Caminho Lixeira Direta Sim Sim Não Não Caminho Caminho Referencia Caminho Esquerda Sim Sim Não Não Caminho Caminho Lixo Caminho Frente Sim Não Não Não Caminho Caminho Caminho Caminho Frente

6.

Considerações finais

Conforme estabelecido nos objetivos gerais deste projeto, desejávamos obter uma solução ótima para o problema da coleta de lixo em ambiente 2D utilizando aprendizado por reforço, descobrindo os requisitos para desempenhar esta atividade tanto do ponto de vista físico (sensores e atuadores) como também do ponto de vista do algoritmo (parâmetros e configurações).

Iniciamos nossos estudos, nos baseando em afirmações de autores internacionais sobre a certeza de convergência do algoritmo de aprendizado por reforço SARSA(λ) a uma política ótima, e nos aprofundamos na aplicação do mesmo a robótica, buscando também comprovar sua convergência prática e não apenas conceitual.

Percebemos que a capacidade do agente de aprender em tempo hábil está fortemente relacionada a como transformamos as observações que o robô faz do mundo em uma representação estadual. Alguns estados que para os olhos humanos são obviamente diferentes, para o agente podem parecer exatamente iguais, problema conhecido como “hidden state”.

Também foi preciso, antes de nos aprofundarmos nos parâmetros do algoritmo, estudar o efeito das ações do robô no aprendizado, onde desenvolvemos testes de performance para definir qual o conjunto de ações mais adequado neste problema.

Obtidos os resultados que descrevem o melhor conjunto de ações e a melhor representação estadual, focamos nossos esforços em descobrir a melhor política possível com estas configurações, testando parametrizações diferentes do lambda, alpha e gamma, e sua influência na tarefa global.

Estes testes mostraram conclusivamente quais parâmetros geram um comportamento mais adequado, onde conseguimos visualizar que o robô estava de fato desenvolvendo conhecimento, obtendo mais recompensa enquanto avançava no tempo.

Por fim, cientes de que tínhamos um algoritmo funcional aplicado de maneira adequada ao robô, executamos um experimento longo, deixando o robô aprender por bastante tempo até desenvolver um comportamento ótimo, ou seja, até a curva de aprendizado estabilizar.

Sendo assim, nesta pesquisa demonstramos a capacidade de aplicação do SARSA(λ) em uma atividade robótica complexa com êxito, desenvolvemos um ambiente preciso para testes e métricas para medir melhorias no comportamento do agente, resultando na obtenção de um comportamento ótimo apenas limitado pelas capacidades sensórias do robô.

6.1. Trabalhos futuros

Utilizando uma representação estadual mais completa, possivelmente adicionando recursos de visão computacional, poderemos obter um comportamento ainda mais satisfatório, e mais próximo da aplicação do algoritmo no mundo real (fora do ambiente desenvolvido para testes).

Neste caso, o tempo de aprendizado provavelmente será maior, mas com uma recompensa final também otimizada. Precisamos verificar a veracidade das afirmações acima e desenvolver as alterações necessárias para aplicar visão computacional ao robô, medindo os resultados e comparando os mesmos ao resultado obtido neste trabalho.

Também podemos, partindo de uma representação estadual pequena ou grande, adicionar o braço mecânico ao robô para capturar o lixo fisicamente. O robô pode ter dois agentes que aprendem em paralelo dentro de sua memória, um que aprende a se movimentar pelo mundo, e outro que aprende a capturar e segurar o lixo, além de descartar o lixo na lixeira.

REFERÊNCIAS BIBLIOGRÁFICAS

Atlas Socioeconômico - Rio Grande do Sul. Disponivel em:

<http://www.scp.rs.gov.br/atlas/conteudo.asp?cod_menu_filho=803&cod_menu=8 00&tipo_menu=MEIO&cod_conteudo=1380>. Acesso em: 05 fev. 2014.

BARTO, G. A.; SUTTON, R. S. Reinforcement Learning: An Introduction. [S.l.]: Bradford Book, 2012.

BASIC ELECTRONICS PROJECT 6- MAKING AN IR SENSOR. ABHI Tech Strong, 2013. Disponivel em:

<http://abhitechstrong.blogspot.com.br/2013/01/basic-electronics-project-5- making-ir.html>. Acesso em: 20 fev. 2014.

COGGAN, M. Exploration and Exploitation in Reinforcement Learning. McGill University. Montreal. 2004.

DELGRIS, T.; PILARSKI, P. M.; SUTTON, R. S. Model-Free Reinforcement Learning with Continuous Action in Practice. 2012 American Control Conference. [S.l.]: [s.n.]. 2012.

FELLER, W. Introduction to Probability Theory and Its Applications. 2. ed. New York: John Wiley & Sons, Inc, v. II, 1971.

IROBOT. iRobot Create® Programmable Robot. Disponivel em:

<www.irobot.com/us/learn/Educators/Create/Details.aspx>. Acesso em: 12 jan. 2014.

IROBOT Open Interface. Open Interface. Disponivel em:

<http://www.irobot.com/filelibrary/pdfs/hrd/create/Create%20Open%20Interface_v 2.pdf>. Acesso em: 02 dez. 2013.

KAELBLING, L. P.; LITTMAN, M. L.; MOORE, A. W. Reinforcement learning: A Survey. Journal of Artificial Intelligence Reseach 4. [S.l.]: [s.n.]. 1996.

MCCALLUM, A. K. Reinforcement Learning with Selective Perception and Hidden State. University of Rochester. Rochester. 1996.

MCCALLUM, R. A. Hidden State and Reinforcement Learning with Instace- Based State Identification. University of Rochester. Rochester. 1995.

NORVIG, P.; RUSSELL, P. J. Artificial Intelligence - A Modern Approach. 3ª. ed. New Jersey: Prentice Hall, 2009.

RIBEIRO, C. H. C. Aprendizado por Reforço. A Tutorial on Reinforcement Learning Techniques. São José dos Campos: [s.n.]. 1999. p. 28-72.

RLPARK on github. RLPark. Disponivel em: <http://rlpark.github.io/index.html>. Acesso em: 20 jan. 2014.

SINGH, S. et al. Convergence Results for Single-Step On-Policy

Reinforcement-Learning Algorithms. State University of New Jersey. New Jersey.

SINGH, S. P.; SUTTON, R. S. Reinforcement Learning with Replacing Eligibility Traces. Machine Learning, Boston, 1996. 123-158.

SPRAGUE, N.; BALLARD, D. Multiple-Goal Reinforcement Learning with Modular Sarsa(0). University of Rochester. Rochester.

SUTTON, R. S. Generalization in reinforcement learning: Succesful examples using sparse coarse coding. MIT Press. [S.l.]: [s.n.]. 1996. p. 1038-1044.

SUTTON, R. S. et al. Policy Gradient Methods for Reinforcement Learning with Function Approximation. MIT Press. [S.l.]: [s.n.]. 2000. p. 1057-1063. SUTTON, R. S. et al. Horde: A scalable real-time architecture for learning knowledge from unsupervised sensorimotor interaction. Tenth International Conference on Autonomous Agents and Multiagent Systems. Taipei: [s.n.]. 2011. TAYLOR, E.; KULIS, ; SHA,. Metric Learning for Reinforcement Learning Agents. Ohio State University. Columbus.

Documentos relacionados