98
Tese apresentada à Divisão de Pós-Graduação do Instituto Tecnológico de Aeronáutica como parte dos requisitos para obtenção do título de Mestre em Ciência no Curso de Engenharia Eletrônica e Computação na Área de Informática. Sildomar Takahashi Monteiro Estudo de Desempenho de Algoritmos de Aprendizagem sob Condições de Ambigüidade Sensorial Tese aprovada em sua versão final pelos abaixo assinados. ____________________________________ Prof. Carlos Henrique Costa Ribeiro Orientador _____________________________________ Prof. Homero Santiago Maciel Chefe da Divisão de Pós-Graduação Campo Montenegro São José dos Campos, SP Brasil Junho 2002

Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

  • Upload
    dotuyen

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

Tese apresentada à Divisão de Pós-Graduação do Instituto Tecnológico de Aeronáutica como

parte dos requisitos para obtenção do título de Mestre em Ciência no Curso de Engenharia

Eletrônica e Computação na Área de Informática.

Sildomar Takahashi Monteiro

Estudo de Desempenho de Algoritmos de Aprendizagem sob

Condições de Ambigüidade Sensorial

Tese aprovada em sua versão final pelos abaixo assinados.

____________________________________ Prof. Carlos Henrique Costa Ribeiro

Orientador

_____________________________________ Prof. Homero Santiago Maciel

Chefe da Divisão de Pós-Graduação

Campo Montenegro São José dos Campos, SP – Brasil

Junho 2002

Page 2: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

Estudo de Desempenho de Algoritmos de Aprendizagem sob

Condições de Ambigüidade Sensorial

Sildomar Takahashi Monteiro Composição da Banca Examinadora: Prof. Nei Yoshihiro Soma Presidente (ITA)

Prof. Carlos Henrique Costa Ribeiro Orientador (ITA)

Prof. Elder Moreira Hemerly (ITA)

Prof. Luís Gonzaga Trabasso (ITA)

Prof a. Anna Helena Reali Costa (USP)

ITA

Page 3: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

i

Índice Geral

ÍNDICE DE FIGURAS .................................................................................................................. iii

ÍNDICE DE TABELAS ................................................................................................................. vi

SUMÁRIO .................................................................................................................................. vii

ABSTRACT ................................................................................................................................ viii

AGRADECIMENTOS ................................................................................................................... ix

DEDICATÓRIA .............................................................................................................................x

I INTRODUÇÃO ........................................................................................................................11

I.1 Motivação .....................................................................................................................12

I.2 Objetivos .......................................................................................................................12

I.3 Organização da dissertação...........................................................................................13

II APRENDIZAGEM POR REFORÇO .........................................................................................14

II.1 Processos decisórios de Markov ...................................................................................16

II.2 “Perceptual Aliasing” ...................................................................................................17

II.3 Aprendizagem por reforço ............................................................................................18

II.4 Q-learning .....................................................................................................................19

II.5 Sarsa..............................................................................................................................22

II.6 Peng-Williams...............................................................................................................23

II.7 Dyna ..............................................................................................................................26

III CONSTRUÇÃO DE MAPAS ..................................................................................................28

III.1 Aprendizagem de mapas: modelo métrico versus modelo topológico .........................29

III.2 Algoritmo para gerar mapas cognitivos de resolução variável .....................................31

III.2.a Interpretação neuronal dos sensores .....................................................................33

III.2.b Identificação dos limites do obstáculo..................................................................34

III.2.c Atualização das partições......................................................................................36

III.2.d Exploração do ambiente........................................................................................37

III.2.e Planejamento e ação..............................................................................................38

III.2.f Controle de baixo nível.........................................................................................39

Page 4: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

ii

III.3 Considerações sobre o método de construção de mapas ..............................................39

IV ESTUDO DE CASO ROBÔ KHEPERA ...................................................................................41

IV.1 Características do robô Khepera ...................................................................................41

IV.2 Implementação dos algoritmos de aprendizagem.........................................................42

IV.3 Descrição dos experimentos .........................................................................................43

IV.4 Resultados obtidos ........................................................................................................47

IV.5 Considerações ...............................................................................................................50

V ESTUDO DE CASO ROBÔ MAGELLAN .................................................................................52

V.1 Características do robô Magellan..................................................................................52

V.2 Implementação do gerador de mapas cognitivos de resolução variável .......................54

V.2.a Obtenção de mapas locais a partir de leituras de sonares .....................................54

V.3 Implementação dos algoritmos de aprendizagem por reforço ......................................65

V.4 Descrição dos experimentos .........................................................................................68

V.5 Resultados obtidos ........................................................................................................73

V.5.a Resultados para o mapa 2, ambiente com um obstáculo ......................................73

V.5.b Resultados para o mapa 3, ambiente com dois obstáculos ...................................76

V.5.c Resultados para o mapa 4, ambiente com obstáculo no centro.............................78

V.6 Considerações ...............................................................................................................82

VI CONCLUSÕES .....................................................................................................................85

VI.1 Contribuições ................................................................................................................86

VI.2 Trabalhos Futuros .........................................................................................................87

VII REFERÊNCIAS ...................................................................................................................88

A EXEMPLO DE ARQUIVOS DA REDE NEURONAL PARA SIMULADOR NEV PROP3.............xci

A.1 Arquivo de parâmetros de entrada para treinamento da rede neuronal .......................xci

A.2 Arquivo de saída do treinamento da rede neuronal ................................................... xcii

A.3 Arquivo de saída com os pesos obtidos da rede neuronal .........................................xciv

B ARQUIVO DE PARÂMETROS DO ROBÔ MAGELLAN PRO PARA O SIMULADOR SAPHIRA ..xcv

Page 5: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

iii

Índice de Figuras Figura 1 - Um agente interagindo com seu ambiente ............................................................................................15 Figura 2 - Diagrama de backup Q- learning ...........................................................................................................21 Figura 3 - Algoritmo Q-learning ...........................................................................................................................21 Figura 4 - Diagrama de backup Sarsa....................................................................................................................22 Figura 5 - Algoritmo Sarsa ....................................................................................................................................23 Figura 6 - Diagrama de backup Q( λ)-learning de Peng e Williams ......................................................................24 Figura 7 - Algoritmo Q(λ) de Peng e Williams .....................................................................................................25 Figura 8 - Relações entre aprendizado, planejamento e atua ção na arquitetura Dyna ...........................................26 Figura 9 - Algoritmo Dyna-Q ................................................................................................................................27 Figura 10 - a) Mapa métrico, baseado em grade; b) Mapa topol ógico, grafo topológico baseado em mapa

cognitivo ......................................................................................................................................................30 Figura 11 - Algoritmo de aprendizagem de mapas cognitivos de resolu ção variável............................................32 Figura 12 - Leituras dos sonares e a dist ância e o ângulo em relação ao centro do rob ô, para uma célula (i,j).....33 Figura 13 - Rede neural que interpreta as leituras dos sensores como uma probabilidade de ocupa ção ..............34 Figura 14 - a) Exemplo de obten ção da grade local para identifica ção de limite de obst áculo; b) Uma janela é

definida por um conjunto de c élulas próximas ao robô e com alta probabilidade de ocupa ção, para fazer a

aproxima ção por uma linha reta...................................................................................................................35 Figura 15 - Redundâncias em partições devem ser eliminadas produzindo parti ções retangulares. No exemplo,

pode-se fundir as parti ções a ou b ................................................................................................................37 Figura 16 - Robô Khepera .....................................................................................................................................42 Figura 17 - Partições da grade de localiza ção para simula ção, Khepera. a) Padr ão, grade 8x10; b) ObsParcial,

grade 2x3, não simétrico c) Permuta 1, grade 8x10 com permuta de valores de Q da linha 1.....................44 Figura 18 - Ambiente para testes em simula ção ....................................................................................................45 Figura 19 - Ambiente para testes com o rob ô real .................................................................................................45 Figura 20 - Curvas de aprendizagem - Simulação .................................................................................................48 Figura 21 - Padr ão vs. Observabilidade Parcial. Comparativo do resultado da aprendizagem, no último episódio:

a) Gráfico ilustrativo de trajetória ; b) Curva de refor ços ...........................................................................49 Figura 22 - Permuta Linha 1 vs. Permuta Linha 4. Comparativo do resultado da aprendizagem, no último

episódio: a) Gr áfico ilustrativo de trajetória ; b) Curva de reforços............................................................49 Figura 23 - Curvas de aprendizagem – Robô real..................................................................................................50 Figura 24 - Resultados rob ô real: a) Gráfico ilustrativo de trajetória e gráfico de reforços; b)Curva de Reforços50 Figura 25 - Sensores do Rob ô Magellan e visão esquemática. Somente os sonares foram utilizados para os

experimentos descritos nesta dissertação .....................................................................................................53 Figura 26 - Grade local 28x28 para o rob ô Magellan e locais onde foi posicionado o obst áculo .........................55 Figura 27 - Gráfico das leituras do primeiro sonar para a grade local do rob ô Magellan......................................56 Figura 28 - Gráfico das leituras do segundo sonar para a grade local do rob ô Magellan ......................................56

Page 6: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

iv

Figura 29 - Gráfico das leituras do terceiro sonar para a grade local do rob ô Magellan .......................................57 Figura 30 - a) Gr áfico de alcance de segmentos de leituras de sonares Magellan b)Ilustra ção do ambiente real..60 Figura 31 - Grade local obtido pela interpreta ção neural dos sensores, rob ô Magellan ........................................61 Figura 32 - Exemplo de grade de ocupa ção, ap ó s interpretação neural, integração no tempo e aproxima ção por

reta ...............................................................................................................................................................61 Figura 33 - Ambiente para experimentos com rob ô Magellan ..............................................................................62 Figura 34 - Mapa 1 – Sala sem obstáculos ............................................................................................................63 Figura 35 - Mapa 2 – Sala com um obstáculo lateral. Particionamento: a) Melhor b) Pior...................................64 Figura 36 - Mapa 3 – Sala com dois obstáculos nas extremidades. Particionamento: a) Melhor b) Pior ..............64 Figura 37 - Mapa 4 – Sala com um obstáculo no centro. Particionamento: a) Melhor b) Pior..............................64 Figura 38 - Exemplo de uso do Saphira. a) Servidor: Simulador Magellan; b) Cliente: Aplica ção de

aprendizagem Q-learning ............................................................................................................................66 Figura 39 - Curvas de Aprendizagem para o Q-Leaning, utilizando o Mapa 2 .....................................................67 Figura 40 - Curvas de Aprendizagem utilizando o Mapa 2 e o Melhor particionamento.....................................67 Figura 41 - Ambiente para simulação Saphira.......................................................................................................69 Figura 42 - Mapa 2 – Sala com um obstáculo lateral. Particionamento: a) Original b) Perfeito c) Pior................71 Figura 43 - Mapa 3 – Sala com dois obstáculos nas extremidades. Particionamento: a) Original b) Perfeito c) Pior

.....................................................................................................................................................................71 Figura 44 - Mapa 4 – Sala com um obstáculo central. Particionamento: a) Original b) Perfeito c) Pior...............72 Figura 45 - Medida quantitativa de precis ão dos mapas aprendidos, tabela e gr áfico. Valores menores indicam

melhor qualidade do mapa ...........................................................................................................................72 Figura 46 - Gráficos de Curva de Aprendizagem. Q-learning , Mapa 2: a) Original b) Perfeito c) Pior................74 Figura 47 - Gráficos de Curva de Aprendizagem. Sarsa, Mapa 2: a) Original b) Perfeito c) Pior.........................74 Figura 48 - Gráficos de Curva de Aprendizagem. Peng-Williams, Mapa 2: a) Original b) Perfeito c) Pior .........74 Figura 49 - Gráficos comparativos Q-learning Mapa 2. a) Gráfico da Curva da Média do Refor ço Esperado no

último episódio em cada passo; b) Trajet ória típica no último episódio ......................................................75 Figura 50 - Gráficos comparativos Sarsa Mapa 2. a) Gr áfico da Curva da Média do Reforço Esperado no último

episódio em cada passo; b) Trajet ória típica no último episódio .................................................................75 Figura 51 - Gráficos comparativos Peng-Williams Mapa 2. a) Gr áfico da Curva da Média do Reforço Esperado

no último episódio em cada passo; b) Trajet ória típica no último episódio .................................................75 Figura 52 - Gráficos de Curva de Aprendizagem. Q-learning , Mapa 3: a) Original b) Perfeito c) Pior................76 Figura 53 - Gráficos de Curva de Aprendizagem. Sarsa, Mapa 3: a) Original b) Perfeito c) Pior.........................76 Figura 54 - Gráficos de Curva de Aprendizagem. Peng-Williams, Mapa 3: a) Original b) Perfeito c) Pior .........76 Figura 55 -Gráficos comparativos Q-learning Mapa 3. a) Gr áfico da Curva da Média do Refor ço Esperado no

último episódio em cada passo; b) Trajet ória típica no último episódio ......................................................77 Figura 56 - Gráficos comparativos Sarsa Mapa 3. a) Gr áfico da Curva da Média do Reforço Esperado no último

episódio em cada passo; b) Trajet ória típica no último episódio .................................................................77 Figura 57 - Gráficos comparativos Peng-Williams Mapa 3. a) Gr áfico da Curva da Média do Reforço Esperado

no último episódio em cada passo; b) Trajet ória típica no último episódio .................................................77 Figura 58 - Gráficos de Curva de Aprendizagem. Q-learning , Mapa 4: a) Original b) Perfeito c) Pior................78

Page 7: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

v

Figura 59 - Gráficos de Curva de Aprendizagem. Sarsa, Mapa 4: a) Original b) Perfeito c) Pior.........................78 Figura 60 - Gráficos de Curva de Aprendizagem. Peng-Williams, Mapa 4: a) Original b) Perfeito c) Pior .........78 Figura 61 - Gráficos comparativos Q-learning Mapa 4. a) Gráfico da Curva da Média do Refor ço Esperado no

último episódio em cada passo; b) Trajet ória típica no último episódio ......................................................79 Figura 62 - Gráficos comparativos Sarsa Mapa 4. a) Gr áfico da Curva da Média do Reforço Esperado no último

episódio em cada passo; b) Trajet ória típica no último episódio .................................................................79 Figura 63 - Gráficos comparativos Peng-Williams Mapa 4. a) Gr áfico da Curva da Média do Reforço Esperado

no último episódio em cada passo; b) Trajet ória típica no último episódio .................................................79 Figura 64 - Tabela e Gr áfico de barras da M édia de Passos realizados no último episódio. Valores menores

indicam melhor aprendizado........................................................................................................................81 Figura 65 - Tabela e Gr áfico de barras da M édia dos Reforços obtidos durante a realiza ção do último episódio.

Valores maiores indicam melhor aprendizado .............................................................................................81

Page 8: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

vi

Índice de Tabelas Tabela 1 - Vantagens e desvantagens das abordagens métrica e topol ógica para aquisição de mapas..................30 Tabela 2 - Especificações do rob ô Khepera...........................................................................................................42 Tabela 3 - Parâmetros de aprendizagem – Khepera...............................................................................................46 Tabela 4 - Especificações do rob ô Magellan Pro...................................................................................................54 Tabela 5 - Parâmetros de aprendizagem – Magellan .............................................................................................70

Page 9: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

vii

Sumário

Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de

como um agente autônomo pode aprender a realizar uma tarefa simples apenas interagindo

com o seu ambiente. Existem muitos trabalhos apresentando resultados significativos, porém,

apenas em simulação, o que freqüentemente leva a críticas desfavoráveis a respeito da

validade dos resultados obtidos. Aspectos inerentes ao mundo real são ignorados, dificultando

a análise dos algoritmos sob condições suscetíveis ao problema.

A proposta desta dissertação é analisar a sensibilidade de tais algoritmos a situações de

ambigüidade de estados comumente produzidas pela baixa capacidade sensorial de robôs

móveis. Tal sensibilidade é produzida pela quebra de uma condição teórica (condição de

Markov) importante para garantia de convergência de tais algoritmos, mas as conseqüências

práticas desta violação sobre sistemas reais não estão bem estabelecidas na literatura. Os

algoritmos de aprendizagem alvos deste estudo foram: Q-learning, Sarsa e Peng-Williams. As

experiências foram realizadas em simulação e em sistemas reais utilizando dois robôs: o mini-

robô Khepera e o robô Magellan. Durante os experimentos com o Magellan, implementou-se

um método para gerar mapas cognitivos do ambiente com resolução variável, de modo a

produzir um verificador de desempenho dos algoritmos de aprendizagem.

Verificou-se que os algoritmos de aprendizagem implementados apresentaram

desempenho satisfatório nos sistemas reais, apesar de perder um pouco a sua eficiência devido

à ambigüidade dos estados, proveniente de características inerentes ao mundo real ou

introduzida artificialmente. O algoritmo Q-learning obteve o melhor desempenho geral

durante os experimentos, seguido pelo Sarsa. O algoritmo Peng-Williams não teve bom

desempenho. O método para aprendizagem de mapas cognitivos mostrou-se eficiente e

permitiu avaliação adequada dos algoritmos.

Page 10: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

viii

Abstract

Autonomous learning algorithms have been proposed to deal with the question of how

an autonomous agent can learn to perform a simple task only by interacting with its

environment. Most research papers have shown significant results solely in simulation, often

giving rise to unfavorable criticism regarding the validity of results. Aspects inherent to the

real world are ignored, making it difficult to analyze the algorithms under conditions

susceptible to the problem.

The proposal of this dissertation is to analyze the sensitivity of these algorithms under

situations of state ambiguity commonly produced by the low sensorial capability of mobile

robots. This sensitivity is produced by the violation of a theoretical condition (Markov

condition) important to guarantee convergence of these algorithms, but practical

consequences of this violation in real systems are not firmly settled in the literature. The

learning algorithms assessed in this study were: Q-learning, Sarsa and Peng-Williams.

Experiments were performed both on simulation and on real systems using two robots: a

Khepera mini-robot and a Magellan robot. For the experiments with the Magellan robot, a

method to build variable resolution cognitive maps of the environment was implemented in

order to create a performance verifier of learning algorithms.

The learning algorithms implemented presented satisfactory performance on real

systems, although with a slight decrease of efficiency due to state ambiguity, produced by

characteristics either inherent to the real world or artificially introduced. The Q-learning

algorithm accomplished the best global performance over the experiments, followed by the

Sarsa algorithm. The Peng-Williams algorithm did not perform well. The cognitive map

learning method revealed to be efficient and allowed adequate algorithms assessment.

Page 11: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

ix

Agradecimentos

A Deus, pela vida, capacidade e saúde concedidas e por tudo o que nos permite

realizar.

A meus pais, Sildomar e Laura, que sempre acreditaram nas minhas iniciativas, dando

total apoio em todos os momentos, e pelos conselhos sempre iluminados.

A minha irmã, Jane, pelas conversas estimulantes e inspiradoras.

A minha namorada, Luiza, pelo companheirismo, amor, e paciência neste período

difícil, especialmente devido à distância.

A minha avó, Fute, pela vitalidade e disposição com que acompanha os netos.

A meus tios, Alberto e Marina, e primos, André e Adriana, pelo apoio e incentivo.

Aos colegas de república, Eduardo, Leandro e Rafael, pelo companheirismo nestes

dois anos de convivência.

Ao meu orientador, Carlos Henrique, pela dedicação e sabedoria com que me guiou

neste caminho da pesquisa.

Ao engenheiro Doug Few pelo suporte técnico na utilização do robô Magellan.

Aos amigos Frederico, Karlus, Leandro, Letícia, Marck e Osvandre, que gentilmente

cederam seus computadores para a realização de diversos experimentos em simulação.

A Fapesp pelo apoio financeiro a este trabalho, processo número 00/06147-3.

Page 12: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

x

Dedicatória

Dedico este trabalho a meus pais, Sildomar e Laura.

Page 13: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

11

Capítulo I Introdução

Métodos de aprendizagem por reforço tratam de situações onde um agente aprende por

tentativa e erro ao atuar sobre um ambiente dinâmico. Desta maneira, não é necessária uma

entidade externa que forneça exemplos ou um modelo a respeito da tarefa a ser executada: a

única fonte de aprendizado é a própria experiência do agente de aprendizagem, cujo objetivo

formal é adquirir uma política de ações que maximize seu desempenho geral. Esses

algoritmos têm várias aplicações, da aprendizagem para otimização de operações em fábricas

a aprendizagem de jogos de tabuleiro, passando pela aprendizagem do controle de robôs

móveis.

Aplicações reais envolvem sistemas que são observados por sensores que possuem

limitações inerentes à sua construção mecânica, apresentando restrições de confiabilidade,

ruído e não-uniformidade nas medidas. Isto faz com que o verdadeiro estado do processo

dinâmico a ser controlado seja apenas indicado de forma grosseira. O problema da

observabilidade parcial, isto é, a descrição incompleta dos estados, é que ela anula a suposição

de Markov, uma das bases teóricas mais importantes para a operação confiável dos algoritmos

de aprendizagem por reforço. A suposição de Markov estabelece que qualquer estado futuro

do sistema depende apenas do valor atual do estado, e não da seqüência de estados passados.

Esta dissertação apresenta um estudo do desempenho de algoritmos de aprendizagem

por reforço em um problema de navegação robótica, de modo a permitir uma análise do seu

comportamento sob condições do mundo real. Algoritmos de aprendizagem largamente

estudados na literatura – a saber: Q-learning, Sarsa e Peng-Williams – foram implementados

em dois robôs móveis, um mini-robô Khepera e um robô Magellan Pro. A tarefa de

aprendizagem era sempre bastante simples: partindo de um ponto de referência inicial, o robô

deveria aprender uma trajetória de navegação de modo a atingir um ponto alvo, e ao mesmo

tempo, desviar dos obstáculos do ambiente. Experimentos utilizando o robô Khepera

Page 14: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

12

envolveram simulações e testes no sistema real, utilizando informações externas ao robô. No

robô Magellan, implementou-se, inicialmente, um algoritmo de aprendizagem de mapas

cognitivos para adquirir modelos do ambiente real, que serviram como base para simulações

dos algoritmos de aprendizagem por reforço.

As seções a seguir apresentam a motivação, o objetivo e a organização desta

dissertação de mestrado.

I.1 Motivação

A principal motivação deste trabalho foi o desafio de estudar algoritmos de

aprendizagem, tanto em simulação como em sistemas reais, utilizando dois robôs móveis com

diferentes características, um mini-robô Khepera e um robô Magellan.

Outra motivação importante foi realizar pesquisas utilizando o robô Magellan, que

possui poucos resultados de trabalhos científicos divulgados até o momento da redação desta

dissertação, e gerar uma base para testes, implementando um método de aprendizagem de

mapas cognitivos de resolução variável, que poderá, inclusive, ser futuramente utilizado por

outros pesquisadores, em atividades relacionadas à navegação robótica baseadas neste robô.

I.2 Objetivos

Os objetivos principais da pesquisa apresentada nesta dissertação são:

Ø Verificar a sensibilidade dos algoritmos de aprendizagem por reforço a

observabilidade parcial dos estados.

Ø Avaliar os algoritmos de aprendizagem por reforço em um sistema real.

Ø Verificar se os resultados de testes de algoritmos de aprendizagem por reforço obtidos

em simulação podem ser considerados válidos como indicativos para os resultados

esperados de testes utilizando o robô real (experimentos robô Khepera).

Ø Implementar um algoritmo de aquisição de mapas cognitivos no robô Magellan,

permitindo, assim, o estudo dos algoritmos de aprendizagem com dados realísticos, e

ainda tornando os experimentos menos dependentes de conhecimentos prévios, sobre

o ambiente, introduzidos pelo pesquisador.

Page 15: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

13

I.3 Organização da dissertação

Esta dissertação está organizada em capítulos, agrupados em quatro partes.

A primeira parte trata da introdução.

A segunda parte contém toda a fundamentação teórica dos conceitos concernentes à

pesquisa realizada e é composta pelos capítulos 2 e 3.

A terceira parte apresenta os experimentos práticos, mostrando os testes realizados e

os resultados da pesquisa conduzida. É formada pelos capítulos 4 e 5.

Finalmente, a quarta parte trata das conclusões.

Segue um breve resumo dos capítulos:

Ø O Capítulo I contém uma breve introdução ao assunto tratado na dissertação e

apresenta o conteúdo do trabalho.

Ø O Capítulo II apresenta os conceitos de aprendizagem por reforço concernentes à

pesquisa realizada, abordando os fundamentos teóricos e características dos algoritmos

utilizados nos experimentos.

Ø O Capítulo III contém a teoria utilizada para a construção do verificador de

desempenho dos algoritmos de aprendizagem, apresentando um algoritmo para gerar

mapas cognitivos de resolução variável. Estes conceitos foram utilizados nos

experimentos com o robô Magellan, apresentados no Capítulo V.

Ø O Capítulo IV descreve as experiências realizadas utilizando o mini-robô Khepera.

Analisa a sensibilidade de um algoritmo de aprendizagem por reforço submetido a

observabilidade parcial, e confronta resultados obtidos em simulação com obtidos em

sistema real.

Ø O Capítulo V descreve as experiências realizadas utilizando o robô Magellan.

Apresenta a construção do gerador de mapas cognitivos, no sistema real, e analisa os

resultados obtidos na aplicação dos algoritmos de aprendizagem por reforço para

aprendizado de uma tarefa simples, em simulação.

Ø O Capítulo VI apresenta as conclusões e propostas para futuros trabalhos.

Page 16: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

14

Capítulo II Aprendizagem por Reforço

Aprendizagem permite a um agente adquirir um procedimento, uma capacidade ou

conhecimento que não estava disponível antes, no estágio de projeto. Se uma estrutura fixa

para implementar uma capacidade não puder ser identificada em tempo de projeto,

aprendizagem é uma maneira de estabelecer esta competência desejada, posteriormente,

através de interações com o ambiente [18].

O problema da “aprendizagem de máquina” (machine learning), trata do problema de

como atingir um objetivo bem definido a partir do estado atual bem definido do sistema. Em

outras palavras, o problema da aprendizagem de máquina pode ser descrito como: o problema

de adquirir uma política que produzirá a máxima recompensa cumulativa, à medida que o

agente se move de estado para estado do sistema.

Existem três tipos de aprendizado, classificados com base na informação de

treinamento:

Ø Supervisionado, no qual os valores de treinamento da função de controle alvo são

apresentados ao mecanismo de aprendizagem externamente;

Ø Auto-supervisionado, no qual a realimentação fornece apenas uma avaliação da ação

tomada, mas sem indicar a ação correta. Esta avaliação é realizada por uma estrutura

interna conhecida como crítico;

Ø Não-supervisionado, que explora a estrutura básica dos dados de entrada, sem utilizar

pares de treinamento entrada-saída e sem uma estrutura de recompensa.

A aprendizagem que utiliza o processo auto-supervisionado de treinamento é

comumente chamada de aprendizagem por reforço. Aprendizagem por reforço teve origem

em dois campos de pesquisa principais, que se desenvolveram independentemente, antes de se

combinar no que é conhecido atualmente como aprendizagem por reforço. Um campo

originou-se nos primeiros trabalhos em inteligência artificial e refere-se à aprendizagem

através de tentativa e erro, baseada na psicologia de aprendizagem animal. O outro campo

Page 17: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

15

trata do problema do controle ótimo e suas soluções utilizando funções de utilidade e

programação dinâmica. Um terceiro campo, menos independente e mais relacionado a este

último, trata dos métodos de diferenças temporais. Estas três abordagens diferentes se uniram

para produzir o moderno campo de aprendizagem por reforço [25].

Aprendizagem por reforço é uma aproximação computacional de aprendizagem

através da qual um agente tenta maximizar uma medida total de recompensas que recebe

quando interage com um ambiente complexo e incerto.

A aprendizagem por reforço utiliza uma estrutura formal composta por estados, ações

e recompensas, para definir a interação entre o agente de aprendizado e seu ambiente,

conforme ilustra a Figura 1.

Figura 1 - Um agente interagindo com seu ambiente

O agente existe em um ambiente descrito por um conjunto de possíveis estados e pode

executar uma ação dentro de um conjunto de ações possíveis. O agente recebe um valor de

recompensa a cada vez que executa uma ação, indicando o valor imediato desta transição

estado-ação. Isto produz uma seqüência de pares estado-ação, e respectivos valores de

recompensa. A tarefa do agente é aprender uma política de controle que maximize a soma

esperada destas recompensas, descontando exponencialmente as recompensas futuras pelo seu

atraso. Em aprendizagem por reforço, os termos: recompensa, reforço e custo, são utilizados

para indicar uma medida de desempenho do agente na execução da tarefa. Ao executar uma

ação o agente pode receber reforço positivo, uma recompensa, reforço negativo, um custo, ou

nenhum reforço, zero.

A estrutura apresentada pretende ser uma forma simples de representar as

características essenciais do problema da aprendizagem por reforço. Essas características

incluem, ainda, um sentido de causa e efeito, a ação tomada pelo robô afeta o seu ambiente,

um sentido de incerteza e não-determinismo, proveniente do ambiente ou de modelos do

mesmo, e a existência de objetivos explícitos de longo prazo a serem atingidos pelo robô.

Estado Recompensa Ação

Agente

Ambiente

Page 18: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

16

Existem algumas considerações importantes a serem feitas quando se lida com

problemas de aprendizagem por reforço [15]:

Ø Recompensa atrasada. O agente tem que lidar com o problema da atribuição de crédito

temporal (temporal credit assignment), isto significa determinar quais das ações da

seqüência devem ser creditadas como produtoras das eventuais recompensas, uma vez

que o treinador fornece apenas recompensas imediatas quando o agente executa suas

ações.

Ø Exploração. O agente deve lidar com o problema de haver um compromisso em

escolher favorecer a exploração de estados e ações desconhecidas, de modo a coletar

nova informação, ou explotação de estados e ações que já foram aprendidos e que irão

render altas recompensas, de modo a maximizar sua recompensa acumulada.

Ø Estados parcialmente observáveis. Em muitas situações do mundo real os sensores dos

agentes, na melhor das hipóteses, fornecem informações parciais sobre os estados do

ambiente. Esta dificuldade resulta no que foi denominado de perceptual aliasing,

problema que é abordado mais detalhadamente na seção II.2.

As seções II.1 e II.2, a seguir, detalham os processos decisórios de Markov e o

problema do perceptual aliasing, conceitos relevantes que afetam diretamente a pesquisa. A

seção II.3 apresenta uma definição formal da aprendizagem por reforço. E as seções II.4, II.5

e II.6 apresentam os algoritmos de aprendizagem implementados, Q-leaning, Sarsa e Peng-

Williams, respectivamente.

II.1 Processos decisórios de Markov

A maior parte da teoria atual de aprendizagem por reforço é restrita a processos

decisórios de Markov, apesar de as idéias e métodos poderem ser aplicados de forma mais

genérica. Esta seção apresenta a propriedade de Markov e os processos decisórios de Markov.

Um ambiente satisfaz a propriedade de Markov se o seu estado resume o passado de

forma compacta, sem perder a habilidade de prever o futuro. Isto é, pode-se predizer qual será

o próximo estado e próxima recompensa esperada dado o estado e ação atuais [25].

Um processo de Markov é uma seqüência de estados, com a propriedade de que

qualquer valor de predição futuro de estado dependerá apenas do estado e ação atuais, e não

da seqüência de estados passados [18].

Page 19: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

17

Por exemplo, em um placar de futebol, não importa quantas jogadas foram realizadas

para que o placar estivesse naquele valor de estado, se for marcado um gol, apenas deverá ser

acrescido ao estado atual do time que marcou o gol, e sabe-se qual será o novo placar. Esta

propriedade é conhecida como independente do caminho, porque o que importa é o estado

atual, seu significado independe do caminho, ou histórico, de estados que levaram a ele.

Um processo de aprendizagem por reforço que satisfaz a propriedade de Markov é

chamado de processo decisório de Markov (Markov Decision Process). Se o espaço de

estados e ações for finito, então ele é chamado de processo decisório de Markov finito, base

para a teoria de aprendizagem por reforço que assume o ambiente como sendo deste tipo.

Um processo decisório de Markov é definido por uma quádrupla RPAS ,,, , onde: S

é um conjunto finito de estados do sistema, A é um conjunto finito de ações, P é um modelo

de transição de estados, que mapeia os pares estado-ação em uma distribuição de

probabilidades sobre o conjunto de estados, e, finalmente, R é uma função de recompensa,

que especifica a recompensa que o agente recebe por tomar uma determinada ação Aa ∈ em

um estado específico Ss ∈ . Como se trata de um processo “Markoviano”, o conhecimento do

estado s e da ação a atuais é suficiente para determinar a probabilidade do novo estado s’,

{ }aassssP ttta

ss ==== + ,'Pr 1' , e para calcular a recompensa r esperada ao mover-se para o

novo estado, { }',, 11' ssaassrER ttttass ==== ++ .

Programação dinâmica [2] descreve um conjunto de algoritmos para resolver

problemas modelados como processos decisórios de Markov. A idéia básica da programação

dinâmica e da aprendizagem por reforço, de modo geral, é o uso de funções de valor para

organizar e estruturar a busca por boas políticas. A diferença principal entre a programação

dinâmica e a aprendizagem por reforço é que a programação dinâmica assume existir um

modelo completo do sistema, contendo a completa distribuição de probabilidades de todas as

possíveis transições, enquanto que em problemas de aprendizagem por reforço esta

distribuição de probabilidades nem sempre está disponível.

II.2 “Perceptual Aliasing”

Um problema comum em aplicações de robótica móvel é que, freqüentemente, o

estado não é totalmente observável, ou seja, não é sempre conhecido qual o estado atual em

que o sistema está. Nas situações práticas, os sensores do agente fornecem apenas

Page 20: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

18

informações parciais. Além disso, são ainda afetados por ruídos e leituras de sensores não

informativas ou não confiáveis.

Aplicações reais envolvem sistemas que fornecem apenas indicações grosseiras sobre

o estado verdadeiro e a dinâmica do processo a ser controlado. Observabilidade parcial de

estados implica em observações não Markovianas, inviabilizando uma das bases teóricas para

o bom comportamento dos algoritmos de aprendizagem por reforço [21].

A observabilidade parcial resulta no que foi denominado de perceptual aliasing [4] e

[28], situação na qual dois ou mais estados são perceptualmente idênticos, mas necessitam de

respostas (ações) diferentes. Um agente que aprende o seu comportamento como uma função

das percepções imediatas dos sensores para escolher uma ação, estará sujeito aos efeitos de

perceptual aliasing.

Problemas envolvendo perceptual aliasing podem ser formulados como “Processos

Decisórios de Markov Parcialmente Observáveis” [13]. Várias pesquisas vêm sendo

realizadas para resolver esta classe de problemas e existem vários métodos, geralmente

utilizando memória ou atenção para este fim [21].

Um dos objetivos da pesquisa realizada foi verificar os efeitos que o perceptual

aliasing pode causar em um algoritmo de aprendizagem por reforço, que possui um

desempenho teoricamente satisfatório, apenas para o caso em que é aplicado em condições

favoráveis de observação (observabilidade completa de estados).

II.3 Aprendizagem por reforço

Aprendizagem por reforço preocupa-se com o problema de um agente aprender a

atingir um objetivo interagindo com o seu ambiente [25]. O agente deve aprender, por

tentativa e erro, como se comportar de modo a obter a melhor recompensa, ao invés de lhe ser

apresentado exemplos com o comportamento desejado. O ambiente deve ser modelado como

um processo decisório de Markov, com um conjunto de estados S, e um conjunto de ações A.

O agente e o ambiente interagem em uma seqüência discreta de passos no tempo, K,2,1,0=t .

O estado e a ação em um passo do tempo, Sst ∈ e Aat ∈ , determinam a distribuição de

probabilidade para o estado no próximo passo do tempo, Sst ∈+1 , e, juntamente, a

distribuição para a próxima recompensa, Rrt ∈+1 . O objetivo do agente é escolher cada ta de

modo a maximizar uma soma descontada dos reforços subseqüentes:

Page 21: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

19

∑=

++=T

kkt

kt rR

01γ ,

onde a taxa de desconto, 10 ≤≤ γ , determina o peso temporal relativo. Existe a possibilidade

de 1=γ ou ∞=T , mas não ambos simultaneamente. A formulação sem taxa de desconto

( 1=γ ) é apropriada para os casos em que a tarefa de aprendizagem divide-se naturalmente

em uma seqüência de episódios separados, e a formulação descontada é apropriada para

tarefas em que a interação continua sem limite ( ∞=T ), não havendo episódios definidos.

As escolhas das ações do agente são feitas a partir de uma função estocástica do

estado, chamada política, )Pr(: AS aπ . O valor de um estado, dada uma política, é a

recompensa esperada partindo do estado e seguindo a política:

{ }ssREsV tt == ππ )( ,

e o melhor que pode ser feito em um estado é o seu valor ótimo:

)(max)(* sVsV π

π= .

Existe, sempre, pelo menos uma política ótima, *π , que atinge o máximo em todos os

estados Ss ∈ [2].

Paralelamente a essas duas funções de valor de estado, existem duas funções de valor

de ação,

{ }aassREasQ ttt === ,),( ππ e ),(max),(* asQasQ π

π= .

A partir de *Q , pode-se determinar uma política ótima, ),(maxarg)(* asQsa

=π . Em

razão disso, muitos algoritmos de aprendizagem por reforço preocupam-se em aproximar o

valor de Q*.

II.4 Q-learning

O método de aprendizagem por reforço mais popular é o Q-learning. Q-learning,

engenhosa técnica proposta por Watkins [28], é um método que permite estabelecer uma

política de controle de maneira interativa. O algoritmo Q-learning tem a vantagem de poder

ser empregado mesmo quando o agente não dispõe de uma tabela de probabilidades de

transição dos estados do sistema, isto é, não possui conhecimento de como suas ações afetam

o ambiente.

Page 22: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

20

Pode-se demonstrar que o algoritmo Q-learning converge para um procedimento de

controle ótimo, quando a hipótese de aprendizagem de pares estado-ação Q for representada

por uma tabela completa contendo a informação de valor de cada par. Pode-se demonstrar a

convergência tanto em processos decisórios de Markov determinísticos quanto não-

determinísticos.

Considere dois conjuntos discretos, um de estados Ss ∈ , e outro de ações Aa ∈ .

Entenda-se estado s como uma configuração relevante de parâmetros que afetam a operação

do robô móvel, por exemplo, leituras de sensores, localização física, etc, e S como o conjunto

finito de todos os possíveis estados. Ações a, referem-se a possíveis respostas do robô,

movimentos, saída acústica ou visual, etc, e A é o conjunto finito de todas as possíveis ações.

A idéia básica do Q-learning é que o algoritmo de aprendizagem aprende uma função

de avaliação ótima sobre todo o espaço de pares estado-ação AS × . A função Q fornece um

mapeamento da forma VASQ →×: , onde V é o valor esperado como recompensa de

realizar uma ação a no estado s. Uma vez que o particionamento do espaço de estados do robô

e o particionamento do espaço de ações não omitam informações relevantes nem introduzam

novas, desde que a função ótima Q seja aprendida, o robô saberá precisamente que ação

resultará na maior recompensa futura em uma situação particular s [18].

A função ),( asQ , da recompensa futura esperada ao se tomar a ação a no estado s, é

aprendida através de tentativa e erro segundo a equação a seguir:

)],(),(max[),(),( 11 asQasQrasQasQ tattttt −++← ++ γα (1)

onde α é a taxa de aprendizagem, r é a recompensa, ou custo, resultante de tomar a

ação a no estado s, γ é um fator de desconto que reduz a influência das recompensas

esperadas futuras, com valor entre 0 e 1 ( 10 << γ ), e o termo ),(max 1 asQ ta + é a utilidade do

estado s resultante da ação a, obtida utilizando a função Q que foi aprendida até o presente.

A função Q representa a recompensa descontada esperada ao se tomar uma ação a

quando visitando o estado s, e seguindo-se uma política ótima desde então, conforme ilustra o

diagrama de backup da Figura 2. Diagramas de backup foram sugeridos por Sutton [25] para

resumir graficamente os algoritmos de aprendizagem por reforço, de modo a representar por

meio de um diagrama os relacionamentos básicos das operações de atualização, ou backup,

presentes nos métodos. Estas operações transferem informações de volta (back to) ao estado

(ou par estado-ação) a partir de seus estados sucessores (ou pares estado-ação). Nos

diagramas de backup, estados são representados por círculos claras, e pares estado-ação por

Page 23: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

21

bolas escuras menores; a seqüência de leitura do diagrama é sempre de cima para baixo, setas

são omitidas; e, diferentemente de grafos de transição, os nós não necessariamente

representam estados distintos, pode ser que o estado seja seu próprio sucessor, por exemplo.

Figura 2 - Diagrama de backup Q-learning

A Figura 3 apresenta o algoritmo Q-learning. Uma vez que todos os pares estado-

ação tenham sido visitados infinitamente e os parâmetros α e γ satisfaçam algumas condições

(ver [28]), garante-se que o método gerará uma estimativa de tQ que converge para o valor de

Q.

Figura 3 - Algoritmo Q-learning

O processo de aquisição de valores Q através do recebimento de reforços pelo agente

gera uma das principais complicações com a observabilidade parcial: mesmo que uma dada

observação defina perfeitamente um estado, se a próxima observação de estado for

equivocada o erro no reforço da ação poderá ser propagado para pares estado-ação

correspondentes a visitações anteriores. Este processo de propagação de erro corresponde ao

problema de perceptual aliasing. Por exemplo, um robô móvel tipicamente precisa percorrer

longas distâncias dentro de ambientes como salas e escritórios para executar uma tarefa,

s,a

r

s’

a’

max

Para cada s,a inicialize o item Q(s,a) na tabela arbitrariamente Repita (para cada episódio) Inicialize s Repita (para cada passo do episódio)

• Selecione uma ação a de s usando uma política derivada de Q • Execute a ação a • Receba a recompensa imediata r • Observe o novo estado s’ • Atualize o item Q(s,a) na tabela como segue

)],()','(max[),(),( ' asQasQrasQasQ a −++← γα • 'ss ←

Até que s seja terminal Até um critério de parada

Page 24: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

22

devido a erros na sua percepção de localização, regiões diferentes do ambiente podem parecer

iguais. Se a ação esperada do robô nesses locais for a mesma, não há problema, mas existe o

caso em que a ação é particular em cada local, neste caso haverá um erro no valor de

atualização de Q do par estado-ação local, podendo ser propagado para pares vizinhos, e

prejudicando o desempenho do aprendizado.

II.5 Sarsa

O algoritmo Sarsa [23] é um Q-learning modificado que utiliza um mecanismo de

iteração de política. A função de atualização do algoritmo Sarsa obedece à equação a seguir:

)],(),([),(),( 111 ttttttttt asQasQrasQasQ −++← +++ γα (2) ,

que difere do Q-learning na escolha da próxima ação 1+ta , que pode ser feita de forma

randômica com uma probabilidade predefinida, e não apenas a melhor política estimada até

então.

O nome SARSA é um acrônimo dos termos em inglês State-Action-Reward-State-

Action, estado-ação-recompensa-estado-ação, que são utilizados devido ao fato de uma

atualização típica neste algoritmo envolver o estado ts , a ação ta , a recompensa 1+tr , o

próximo estado 1+ts , e a próxima ação 1+ta . Conforme ilustra o diagrama de backup da Figura

4.

Figura 4 - Diagrama de backup Sarsa

A forma procedimental do algoritmo Sarsa é apresentado na Figura 5. Idealmente, o

algoritmo Sarsa converge para uma política e valor de função de ação ótimos assim que todos

os pares estado-ação tenham sido visitados um número infinito de vezes e a política de

escolha da próxima ação convirja, no limite, para uma política que utilize a melhor ação (ou

seja, aquela que maximize a recompensa futura esperada).

s,a

r

s'

a'

Page 25: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

23

Figura 5 - Algoritmo Sarsa

II.6 Peng-Williams

O algoritmo proposto por Peng e Williams [19] é conhecido também como Q(λ)-

learning, é denominado pelos seus autores de Q-learning multi-passo incremental, e se

caracteriza por ser uma combinação de traços de elegibilidade com o Q-learning.

Traços de elegibilidade, sob um ponto de vista mecanicista, são registros temporários

da ocorrência de um evento, como por exemplo, a visita a um estado ou a execução de uma

ação. O traço marca os parâmetros de memória associados com o evento como estados

elegíveis para passar por mudanças no aprendizado. Quando um passo de aprendizado ocorre,

apenas os estados ou ações elegíveis recebem o crédito pela recompensa ou a culpa pelo erro.

Traços de elegibilidade ajudam a suprir o vazio entre eventos e informações de treinamento, e

são um mecanismo básico de atribuição de crédito temporal.

De um ponto de vista teórico, traços de elegibilidade são como uma ponte entre os

métodos de Monte Carlo e de diferenças temporais, onde se enquadram o Q-learning e o

Sarsa. Quando métodos de diferenças temporais são incrementados com traços de

elegibilidade, eles produzem uma família de métodos atravessando um espectro que tem

métodos de Monte Carlo em uma ponta e métodos de diferenças temporais na outra. Neste

intervalo estão métodos que herdam vantagens de ambos os métodos dos extremos,

freqüentemente apresentando melhor desempenho.

Métodos de Monte Carlo podem apresentar vantagens para lidar com processos não-

Markovianos, porque eles não atualizam suas estimativas baseados em outras estimativas

Para cada s,a inicialize o item Q(s,a) na tabela arbitrariamente Repita (para cada episódio) Inicialize s Selecione uma ação a de s usando uma política derivada de Q Repita (para cada passo do episódio)

• Execute a ação a • Receba a recompensa imediata r • Observe o novo estado s’ • Selecione uma ação a’ de s’ usando uma política derivada de Q • Atualize o item Q(s,a) na tabela como segue

)],()','([),(),( asQasQrasQasQ −++← γα • 'ss ← , 'aa ←

Até que s seja terminal Até um critério de parada

Page 26: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

24

(bootstrapping). Métodos usando traços de elegibilidade possuem grande complexidade

computacional para cada passo, porém, em contrapartida, eles oferecem aprendizado

significativamente mais rápido, particularmente quando reforços são atrasados por muitos

passos. Assim, métodos de traços de elegibilidade são indicados para processos que sejam,

pelo menos, parcialmente não-Markovianos e para processos que apresentem reforços muito

atrasados [25].

O algoritmo Q(λ)-learning utiliza, conceitualmente, a mistura de backup’s mostrado

na Figura 6. O método observa o futuro por todo o caminho até o final do episódio no seu

backup. Permite que correções sejam feitas de forma incremental para as predições de

observações feitas no passado, propagando a informação para onde ela é importante.

Diferentemente do Q-leaning, não existe distinção entre ações exploratórias e ações greedy.

Cada componente de backup é terminado a muitos passos das experiências reais, e os pares

mais recentes são recompensados com uma maximização sobre as ações. Os componentes não

são nem dependentes nem independentes da política, são um meio termo. As primeiras

transições de cada componente são dependentes da política, enquanto a última transição

(fictícia) utiliza a política greedy. Como conseqüência, para uma política fixa o método não

converge nem para πQ nem para Q* mas para um híbrido dos dois. Entretanto, se a política

for gradualmente tornada mais greedy então o método pode convergir para Q*.

Figura 6 - Diagrama de backup Q(λ)-learning de Peng e Williams

λ−1

λλ)1( −

2)1( λλ−

1−−tTλ

Page 27: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

25

O algoritmo Q(λ)-learning é apresentado na Figura 7. O fator Tr(s,a) é o traço de

elegibilidade do par estado-ação (s,a). Esta descrição não especifica como as ações são

escolhidas durante os episódios. Uma boa abordagem, sugerida por Peng, é escolher ações

randomicamente com uma tendência em direção da ação aparentemente ótima. Um método

comumente usado é fazer a escolha randômica de acordo com a distribuição de Boltzmann,

com a probabilidade de escolher uma ação a no estado s proporcional a

TasQ ),(exp , onde

T é um parâmetro de temperatura.

Neste algoritmo, diferentemente do algoritmo Q-learning de um passo, não se pode

esperar a sua convergência para o valor correto de *Q sob uma política arbitrária que tente

todas as ações em todos os estados, apesar da estratégia óbvia de reduzir gradualmente o valor

de λ ou de baixar gradualmente a temperatura de Boltzmann no decorrer do aprendizado

provavelmente permitiria tal convergência. Esta prova exigiria argumentos mais complexos

que a prova do Q-learning e ainda não foi realizada, até o momento da redação deste trabalho.

No entanto, o método apresenta bom desempenho empírico [25].

Figura 7 - Algoritmo Q(λ) de Peng e Williams

Para cada s,a: 0),( ←asQ e 0),( ←asTr Repita (para cada episódio) Inicialize s Repita (para cada passo do episódio)

• ←s estado atual • Selecione uma ação a que maximize Q(s,a) sobre todo a • Execute a ação a • Receba a recompensa imediata r • Observe o novo estado s’ • ),()','(max' ' asQasre a −+← γ • ),(max)','(max ' asQasre aa −+← γ • Para cada par estado-ação faça: ),(),( asTrasTr γλ←

easTrasQasQ ),(),(),( α+← • '),(),( easQasQ α+← • 1),(),( +← asTrasTr

Até que s seja terminal Até um critério de parada

Page 28: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

26

II.7 Dyna

Dyna foi utilizado com a intenção de aumentar a velocidade de aprendizado dos

algoritmos de aprendizagem por reforço, uma vez que os experimentos iriam ser realizados

em sistemas reais e o longo tempo necessário para a convergência dos algoritmos de

aprendizagem torna-se ainda mais crítico.

O termo Dyna foi introduzido por Sutton em [25], e define uma arquitetura simples

que integra funções de aprendizado, planejamento e atuação, conforme ilustrado na Figura 8.

Figura 8 - Relações entre aprendizado, planejamento e atuação na arquitetura Dyna

Na arquitetura Dyna, observe que o a agente continua interagindo com o ambiente,

gerando uma experiência real. Esta experiência real é utilizada para melhorar diretamente as

funções de valor e política usando algum tipo de método de aprendizagem por reforço e

melhorar um modelo do ambiente, que o agente pode usar para prever como o ambiente

responderá a suas ações. Além disso, a experiência é utilizada para melhorar as funções de

valor e política também indiretamente, via planejamento sobre o modelo.

O método de aprendizagem por reforço a ser utilizado em associação com o Dyna

pode ser qualquer um dos discutidos nas seções anteriores.

Após cada transição 11,, ++→ tttt rsas , o modelo armazena em uma tabela para o valor

de tt as , a predição que 11, ++ tt rs seguirá, deterministicamente. Desta forma, se o modelo for

questionado sobre um par estado-ação que já foi experimentado anteriormente, ele retorna

como sua predição simplesmente a última observação de próximo estado e próximo reforço.

Durante o planejamento, o algoritmo de planejamento, inicialmente, escolhe amostras

aleatórias de pares estado ação que foram experimentados anteriormente, ou seja, contidos no

modelo. A seguir, realiza experiências simuladas nestes pares estado-ação selecionados.

Política/Valor

Experiência Modelo

Planejamento Atuação Aprendizagem

por Reforço

Aprendizado do Modelo

Page 29: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

27

Finalmente, o planejamento é obtido pela aplicação de métodos de aprendizagem por reforço

sobre essas experiências simuladas como se elas tivessem realmente ocorrido. Tipicamente, o

mesmo método de aprendizagem por reforço é utilizado tanto para o aprendizado a partir da

experiência real quanto para o planejamento das experiências simuladas.

A Figura 9 ilustra a arquitetura Dyna aplicada ao algoritmo Q-learning, chamada de

Dyna-Q. Neste algoritmo, assume-se que existe tempo para processar, em cada passo, após a

atuação: a aplicação direta da aprendizagem por reforço, o aprendizado do modelo, e N

iterações completas do algoritmo de planejamento.

Figura 9 - Algoritmo Dyna-Q

Para cada s,a inicialize o item Q(s,a) e Modelo(s,a) na tabela arbitrariamente Repita (para cada episódio) Inicialize s Repita (para cada passo do episódio)

• s ← estado atual (não terminal) • Selecione uma ação a de s usando uma política derivada de Q • Execute a ação a • Receba a recompensa imediata r • Observe o novo estado s’ • Atualize o item Q(s,a) na tabela como segue

)],()','(max[),(),( ' asQasQrasQasQ a −++← γα • Modelo(s,a) ← s’, r (assumindo ambiente determinístico) • Repita N vezes:

s ← estado aleatório observado anteriormente a ← ação aleatória executada anteriormente em s s’, r ← Modelo(s,a) )],()','(max[),(),( ' asQasQrasQasQ a −++← γα

Até que s seja terminal Até um critério de parada

Aprendizagem por reforço direta

Aprendizagem do modelo

Planejamento

Page 30: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

28

Capítulo III Construção de Mapas

Este capítulo trata de um dos principais objetivos da pesquisa de robôs móveis, a

criação de mapas a partir de dados sensoriais locais coletados à medida que o robô se move

por um ambiente desconhecido. Utilizando algoritmos para aprendizagem de mapas, pode-se

adquirir um modelo do mundo ao redor do robô. Mapas aprendidos, utilizando uma técnica

específica, foram utilizados como base nos experimentos do robô Magellan para testar os

algoritmos de aprendizagem por reforço analisados nesta dissertação.

Segundo Thrun [27], o problema de adquirir modelos torna-se muito difícil e está

longe de ser resolvido devido a uma série de fatores que impõem limitações práticas ao

aprendizado de mapas precisos e sua utilização:

Ø Limitações sensoriais: O alcance dos sensores é, normalmente, limitado a uma região

pequena ao redor do robô. O robô precisa explorar ativamente o ambiente para

adquirir informações globais.;

Ø Ruídos nas leituras dos sensores: As leituras são geralmente afetadas por ruídos de

distribuição desconhecida;

Ø Tipo de informação fornecida pelos sensores: A informação que realmente interessa

freqüentemente não está acessível diretamente. Para sua navegação, um robô estaria

interessado na afirmação “existe uma porta à frente”, no entanto, câmeras, por

exemplo, fornecem apenas informações de luz, cor, brilho e saturação.;

Ø Erros de odometria: O movimento do robô é impreciso, e o erro em medidas baseadas

em odometria (dead reckoning) é cumulativo no tempo. Por exemplo, na estimação da

posição do robô, até mesmo pequenos erros na rotação têm grande efeito nos erros de

translação subseqüentes;

Ø Complexidade e dinâmica do ambiente: Os ambientes do robô são complexos e

dinâmicos, dificultando o trabalho de manter modelos e fazer previsões precisas;

Page 31: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

29

Ø Exigências de tempo de resposta: O processamento deve ser rápido o suficiente para

permitir escolha de ações em tempo real, logo o modelo precisa ser simples e de fácil

acesso. Modelos detalhados de ambientes fechados complexos feitos em CAD, por

exemplo, geralmente não são apropriados para gerar ações em tempo real.

Existem muitos tipos diferentes de mapas usados para localização de robôs em

ambientes fechados, baseados na forma da informação sensorial e nos requisitos de

representação da localização. Pesquisas na área produziram duas abordagens principais: o

modelo métrico e o modelo topológico.

A seção a seguir apresenta uma comparação entre os paradigmas mais comuns de

métodos de aprendizagem de mapas. Logo depois, é apresentado o algoritmo efetivamente

utilizado na pesquisa.

III.1 Aprendizagem de mapas: modelo métrico versus modelo topológico

Mapas podem ser construídos baseados em informações topológicas ou métricas, ou

ainda uma combinação das duas [27].

O modelo métrico, ou geométrico, permite a construção de um modelo que é uma

representação geométrica do mundo. Um exemplo desta abordagem é um sistema de grades

de ocupação, na qual grades de duas dimensões espaçados de forma simétrica apresentam a

probabilidade de ocupação de cada célula da grade em correspondência àquela área no

mundo. Neste modelo, as grades de ocupação distinguem lugares diferentes baseado na

posição geométrica do robô dentro de uma estrutura de coordenadas globais. A posição do

robô é estimada de maneira incremental, baseado na informação de odometria e nas leituras

sensoriais do robô. A resolução da grade deve ser fina o suficiente de modo a capturar todos

os detalhes importantes do mundo. Um exemplo é ilustrado no item a da Figura 10.

Já o paradigma topológico é mais qualitativo. Consiste de um grafo no qual os nós

representam regiões sensorialmente diferentes do mundo e os arcos indicam relações espaciais

entre eles. Neste modelo, a posição do robô relativa ao modelo é determinada principalmente

baseada em pontos de referência (landmarks) ou características sensoriais momentâneas

distintas. A resolução do mapa topológico é proporcional ao grau de complexidade do

ambiente, como mostra o grafo do item b da Figura 10.

Page 32: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

30

Figura 10 - a) Mapa métrico, baseado em grade; b) Mapa topológico, grafo topológico baseado em mapa

cognitivo

Ambos os modelos possuem vantagens e desvantagens distintas e complementares.

Um resumo dessas características é apresentado na Tabela 1.

Positivo Negativo

Fácil de construir, representar e manter

Planejamento ineficiente, apresenta alta complexidade de espaço e tempo (resolução não depende da complexidade do ambiente)

Reconhecimento de lugares (baseado em geometria) não ambígua e vista independente de ponto

Necessita de determinação precisa da posição do robô

Modelo Métrico

Facilita cálculo do caminho mais curto Representação não natural, interface ruim para resolvedores de problemas e planejadores simbólicos

Permite planejamento eficiente, apresenta baixa complexidade de espaço e tempo (resolução depende da complexidade do ambiente)

Difícil de construir e manter em ambientes grandes se informação de sensores for ambígua

Não necessita determinação precisa da posição do robô

Reconhecimento de lugares sempre difícil, sensível ao ponto de vista Modelo

Topológico Representação conveniente para resolvedores de problemas / planejadores simbólicos, linguagem natural

Pode produzir caminhos sub-ótimos

Tabela 1 - Vantagens e desvantagens das abordagens métrica e topológica para aquisição de mapas

a) b)

Page 33: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

31

III.2 Algoritmo para gerar mapas cognitivos de resolução variável

Precisava-se de um método para aquisição de mapas que garantisse um aprendizado

eficiente e com qualidade, e que além disso, permitisse a construção de mapas de fácil

utilização e com parâmetros de qualidade variável, para comportar os testes dos algoritmos de

aprendizagem por reforço. Escolheu-se um método adaptativo para o aprendizado de mapas

cognitivos.

Utilizou-se integralmente a abordagem proposta por Arleo, Millan e Floreano [1], que

apresenta um algoritmo para o aprendizado eficiente de mapas cognitivos de resolução

variável para navegação autônoma de robôs em ambientes fechados. O método proposto é

uma combinação dos paradigmas métrico e topológico para construção de mapas, o que

permite extrair o melhor dos dois métodos.

O modelo gerado consiste de partições de resolução variável, isto é, o ambiente é

dividido em sub-áreas de diferentes tamanhos que representam regiões sensorialmente

homogêneas. O mapa resultante é uma representação reduzida da estrutura geométrica do

mundo, permitindo uma otimização no uso dos recursos de memória e tempo. Nenhum

sistema de visão computacional é utilizado, apenas sonares e atuadores, sendo a localização

baseada em odometria.

O método proposto utiliza um conjunto de partições de resolução variável P para

modelar qualquer ambiente fechado estruturado, entenda-se, ambientes com área finita para

navegação não desorganizada ou variável no tempo e, ainda, formando apenas ângulos retos.

Áreas sensorialmente homogêneas são modeladas como uma partição, assim, cada partição

Pp ∈ consiste de um modelo local que codifica o conhecimento do robô sobre aquela região

do mundo. Esta abordagem permite a construção de um modelo simplificado do mundo,

sendo que as partições de resolução variável possuem apenas o formato geométrico

retangular. Isto reduz a complexidade de atualização e manutenção das partições P , no

entanto, parte da suposição de que todos os obstáculos são paralelos ou perpendiculares uns

aos outros de modo que suas bordas estejam alinhadas com os eixos x e y, o que nem sempre

é a realidade.

O processo de aprendizagem do mapa pode ser descrito como um algoritmo cíclico

composto de atividades de exploração e atualização do modelo. O robô permanece

continuamente explorando o ambiente, baseado no conhecimento adquirido, e apenas

Page 34: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

32

interrompe a exploração para incorporar um obstáculo desconhecido ao modelo, atualizando a

resolução das partições.

O algoritmo é apresentado na Figura 11.

Figura 11 - Algoritmo de aprendizagem de mapas cognitivos de resolução variável

Este algoritmo para aprendizagem de mapas cognitivos de resolução variável consiste

de uma estrutura que pode ser organizada de forma modular, sendo identificados seis módulos

principais:

Ø Interpretação neuronal dos sensores;

Ø Identificação dos limites do obstáculo;

Ø Atualização das partições;

Ø Exploração do ambiente;

Ø Planejamento e ação;

Ø Controle de baixo nível.

Estes módulos são explicados em detalhes nas subseções a seguir.

Início Repetir 1. Exploração: Seleção do próximo alvo.

2. Planejamento: Cálculo de uma trajetória para o alvo através das partições atuais. 3. Ação: Realiza o movimento do robô através de controladores de baixo nível. 4. Se o robô atinge o alvo, então ele explora esta região exaustivamente.

5. Atualização do mapa: Se uma incoerência foi detectada, então o robô desiste da exploração e modela o obstáculo desconhecido.

5.1. Aproxima-se do obstáculo 5.2. Enquanto o robô não visita uma canto conhecido do obstáculo

5.2.1. Alinha-se com um dos limites do obstáculo 5.2.2. Analisa o limite e o aproxima a uma linha reta utilizando uma

interpretação neuronal dos sensores. 5.2.3. Move-se até o final do limite 5.2.4. Memoriza o canto do obstáculo 5.3. Aumenta a resolução da partição.

5.4. Atualiza o banco de dados de experiências negativas 5.5. Remove partições redundantes do conjunto de partições 5.6. Abstrai um novo grafo topológico. Até que o mapa esteja construído. Fim

Page 35: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

33

III.2.a Interpretação neuronal dos sensores

Os dados provenientes dos sensores do robô são interpretados através de uma rede

neuronal feed-forward, resultando em uma grade de ocupação local que melhora a percepção

local do robô.

Para a interpretação neuronal dos sensores utilizou-se o método proposto,

originalmente, por Moravec [16] e Elfes [5], com o objetivo de realizar uma leitura mais

confiável dos sensores (geralmente afetada por ruídos de distribuição desconhecida), além de

permitir uma interpretação da leitura de todos os sensores simultaneamente.

A partir das leituras dos sensores, a rede neuronal feed-forward N permite desenhar

uma grade de ocupação local constituído de nn × células. Esta grade de ocupação é uma

visão do mundo ao redor do robô, que se move e gira junto com ele.

Para cada célula Gji ∈),( , a entrada da rede N consiste de um vetor de dados

constituído pelas leituras ),( 21 sss = de dois sensores orientados na direção de ),( ji e pelas

coordenadas polares do centro da célula ),( ji em relação ao robô, sendo ijθ o ângulo relativo

ao primeiro dos dois sensores mais próximos da célula e ijd a distância relativa ao centro do

robô. A saída da rede é um valor de probabilidade )|(Prob soccij que indica a probabilidade

de a célula estar ocupada. Este cenário é ilustrado na Figura 12 e na Figura 13. A razão de

termos utilizado apenas dois sonares para a interpretação neuronal, diferentemente do método

proposto em [1], é apresentada detalhadamente na seção V.2.a, do capítulo V.

Figura 12 - Leituras dos sonares e a distância e o ângulo em relação ao centro do robô, para uma célula

(i,j)

s1

(i,j)

θ

s2

s3

Robô

d

Page 36: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

34

Figura 13 - Rede neural que interpreta as leituras dos sensores como uma probabilidade de ocupação

O robô utiliza a rede neuronal N enquanto acompanha os limites do obstáculo. A

partir disso, as leituras consecutivas das interpretações neurais dos sensores podem ser

integradas no tempo com o objetivo de melhorar a confiabilidade da grade de ocupação G .

Assim, sejam M leituras consecutivas dos sensores Msss ,,, 21 L . A probabilidade de

ocupação da célula ),( ji pode ser vista como ),,,|(Prob 21 Mij sssocc L . A integração no

tempo é obtida aplicando-se a regra de Bayes para estimar esta probabilidade [27]. Tem-se: 1

1

21

)|(Prob1)|(Prob

11),,,|(Prob−

=

−+−= ∏

M

mm

ij

mijM

ij soccsocc

sssocc L

A interpretação neuronal pode compensar eventuais erros devido à reflexão de sinal do

sonar, e a integração no tempo de interpretações consecutivas produz uma reconstrução

aceitável apesar da limitada informação sensorial produzida pelos sonares.

III.2.b Identificação dos limites do obstáculo

A partir da grade de ocupação local obtido pela interpretação neuronal dos sensores, os

limites do obstáculos são aproximados para uma linha reta que será utilizada para construir o

conjunto de partições P .

Um limite consiste de células ),( ji com ε−> 1)(Prob ijocc e que estão mais próximas

do robô. O parâmetro ε permite definir um limiar acima do qual as leituras de probabilidade

Camada de Saída

Camada Escondida

Camada de Entrada

)(Prob soccij

s1 s2 d θ

Page 37: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

35

de ocupação da célula obtidas pela rede neuronal podem ser entendidas como indicando que

ela está ocupada.

Para calcular a linha reta que define o limite do obstáculo utilizou-se uma versão do

método 2χ [20].

Seja uma janela M dentro da grade G indicando a presença do limite de um

obstáculo, conforme ilustra a Figura 14. Cada célula desta janela pode ser vista como um

ponto ),( yx )1,1( yx MyMx LL == . Considere, para cada xm Mx ≤ , o valor mínimo de

my que mantém verdadeira a expressão ε−> 1)(Prmm yxoccob . Isto produz um conjunto de

pontos ),( mm yx . Utiliza-se o método 2X para calcular a melhor linha reta

bxabaxyxy +== ),;()( que aproxima este conjunto de pontos.

Figura 14 - a) Exemplo de obtenção da grade local para identificação de limite de obstáculo; b) Uma

janela é definida por um conjunto de células próximas ao robô e com alta probabilidade de ocupação, para fazer a aproximação por uma linha reta

Após isso, o robô adota a seguinte estratégia. Verifica-se, para cada nova linha reta 1l

encontrada ao se modelar um novo obstáculo, a existência de uma linha reta 2l previamente

modelada que pode ser alinhada com ela. Caso exista esta linha, e a distância ortogonal d

entre 1l e 2l seja menor que um limiar εd , então o robô faz o alinhamento da linha 1l com a

linha 2l . Isto permite manter tão baixa quanto possível a complexidade do conjunto de

partições P , além de criar mapas ajustados às regularidades estruturais do ambiente (duas

paredes alinhadas segurando uma porta, por exemplo).

A precisão das partições P depende de dois fatores: resolução da grade local e

precisão das linhas retas que aproximam os obstáculos.

0 y

x

My

Mx

a) b)

Page 38: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

36

III.2.c Atualização das partições

Para cada novo obstáculo encontrado pelo robô ele realiza uma aproximação dos

cantos do obstáculo desconhecido modelando-os como linhas retas. Uma vez modelado todo

o perímetro do obstáculo, a resolução das partições P é aumentada na região que contém o

obstáculo, de modo que as novas partições modelem o obstáculo.

Ao se aproximar de um obstáculo desconhecido, o robô se aproxima dele e se alinha

com um dos seus limites. Então, acompanha esse limite e começa a utilizar a grade local G e

o método 2χ . Assim que o robô encontra a linha reta que aproxima este primeiro limite, ele

pára de utilizar a grade local G , isto é, a interpretação neuronal dos sensores. A seguir, ele se

move ao longo da linha até o final do limite utilizando apenas as leituras brutas dos sensores.

Então, o robô gira para se alinhar ao novo limite e começa a modelá-lo seguindo a borda e

usando a grade local G e o método 2χ . Novamente, assim que a linha reta que aproxima o

limite é encontrada, o robô pára de utilizar a interpretação neuronal dos sensores. Neste ponto,

ele calcula a intersecção entre a linha reta atual e a anterior para identificar o canto visitado. A

seguir, ele repete o processo de seguir este limite até o final, girar, e modelar o novo canto.

Ele continua repetindo este processo até que todo o perímetro do obstáculo tenha sido

percorrido. A condição de parada é reconhecida levando em conta as duas linhas retas que

modelam o primeiro e segundo limites do obstáculo. Toda vez que o robô atinge o final de um

limite, ele verifica se ele está encontrando a linha que modela a primeira borda do obstáculo.

Se este for o caso, ele gira para alinhar com o novo limite, modela o limite e continua até o

fim da borda. Se ele encontrar a linha que aproxima a segunda borda do obstáculo, ele

considera o obstáculo inteiro como modelado.

Uma vez que todos os cantos de um obstáculo tenham sido memorizados, é possível

aumentar a resolução das partições P para modelar o novo obstáculo. Cada novo canto é

conectado à borda perpendicular mais próxima de uma das partições existentes, criando, desta

forma, partições retangulares.

Pode acontecer que o aumento na resolução de P produza redundâncias. Duas

partições adjacentes são consideradas redundantes se ambas representarem ou obstáculo ou

espaço livre e elas puderam ser fundidas para produzir uma partição retangular, como mostra

a Figura 15. Após atualizar P , remove-se as partições redundantes de todo conjunto de

partições P .

Page 39: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

37

Figura 15 - Redundâncias em partições devem ser eliminadas produzindo partições retangulares. No

exemplo, pode-se fundir as partições a ou b

Após a atualização das partições P , o robô armazena o conhecimento a respeito das

transições físicas entre as novas partições. Se as novas partições representam uma área

ocupada, um obstáculo, então o robô será proibido de visitá-las, a partir de partições vizinhas

a elas. Este conhecimento é armazenado em um banco de dados D de experiências negativas

memorizando as transições proibidas entre as novas partições contendo o obstáculo e as

partições adjacentes. Uma experiência negativa entre duas partições α e β é armazenada na

forma de uma tripla ),,( falsoβα . O banco de dados D é a memória de longo prazo do robô a

respeito do relacionamento espacial existente entre as partições.

III.2.d Exploração do ambiente

A partir do conjunto de partições P atualmente modelado, a região menos conhecida

do ambiente é escolhida como alvo pelo módulo de exploração. O mapa atual do ambiente é

aperfeiçoado pela exploração contínua do ambiente pelo robô.

O robô inicia o processo de exploração do ambiente escolhendo uma trajetória

aleatória e seguindo em linha reta, uma vez que inicialmente o ambiente é desconhecido e P

é vazio. Assim que um objeto é detectado, inicia-se o processo de criação da partição de

resolução variável para modelá-lo. Quando P não for vazio, a exploração é feita

selecionando-se uma partição alvo, movendo o robô através do ambiente para alcançá-la, e

fazendo a exploração da partição alvo exaustivamente. A exploração é sempre interrompida

assim que um objeto desconhecido é detectado, para realizar a sua modelagem, somente a

seguir a exploração é retomada, através da escolha de uma nova partição alvo.

Utiliza-se uma técnica de aprendizagem ativa para a escolha da partição alvo [3]. A

exploração ativa é baseada em uma estimativa de valor de utilidade de exploração eU , que é

b) Partições redundantes

a) Partições redundantes

Partições adjacentes mas não redundantes

Page 40: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

38

uma função heurística de valor real que mede o quanto uma partição merece ser explorada,

calculada para cada partição e escolhida aquela que maximiza o valor da função de utilidade.

Utiliza-se a técnica de exploração baseada em contagem com deterioração (counter-based

exploration with decay) [27]. Ela fornece um valor de utilidade mais elevado para as partições

que foram visitadas uma menor quantidade de vezes e há mais tempo. Um contador )( pc

mantém a informação do número de visitações para cada partição Pp ∈ . Para considerar

quando a partição foi visitada, o contador é multiplicado por um fator de deterioração 1≤λ .

Desta forma, o explorador atualiza a função de utilidade como segue:

)()( pcpc ⋅= λ Pp ∈∀

=

>=

0)(

0)()(

1)(

pcK

pcpcpU e

onde 1>K é uma constante.

Finalmente, o explorador escolhe como alvo a partição que maximiza eU :

)(maxarg pUalvo ePp∈=

III.2.e Planejamento e ação

O módulo planejador calcula o caminho ótimo através das partições P para atingir a

partição alvo escolhida pelo explorador. A partir daí controladores de baixo nível conduzem o

robô até lá.

O planejador deriva um grafo topológico a partir do conjunto de partições P atuais.

Neste grafo, os nós correspondem às partições e os arcos são obtidos a partir da memória de

longo prazo D . O nó correspondente à partição α está conectado ao nó correspondente à

partição adjacente β se Dfalso ∉),,( βα , isto é, a transição βα → não é caracterizada por

uma experiência negativa.

Partindo do nó correspondente à partição atual, o planejador procura no grafo o menor

caminho que leva ao nó associado ao alvo.

Uma vez determinado o caminho ótimo, um planejador de baixo nível calcula a

trajetória do robô entre partições adjacentes no caminho. Se o robô tiver que se mover de uma

partição i para uma partição adjacente j , e l é a partição limite entre eles, o robô se move,

primeiro, paralelo a l até chegar em frente ao seu ponto central. Então, ele se move

perpendicularmente a l até cruzar o limite. Todas as trajetórias seguidas pelo robô são retas

Page 41: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

39

paralelas aos eixos x e y do ambiente, movimentos simples que permitem minimizar erros

de odometria no sistema de navegação.

III.2.f Controle de baixo nível

Um módulo reativo de baixo nível controla o deslocamento do robô, tratando

pequenas inconsistências do mapa (detalhes finos não modelados) e possíveis obstáculos

móveis (pessoas, por exemplo). Este módulo também é utilizado para fazer o robô seguir os

limites de novos obstáculos a serem modelados.

III.3 Considerações sobre o método de construção de mapas

O método proposto em [1] apresenta uma solução para a construção de mapas

cognitivos, possuindo um compromisso muito bom entre precisão do mapa gerado e

eficiência do algoritmo de aprendizado.

Uma forma simples de medir quantitativamente a precisão do mapa aprendido é

calcular a fração entre a área mal classificada da área total do mundo. Partições mal

classificadas são aquelas áreas livres classificadas como ocupadas, ou áreas ocupadas

classificadas como livres. Seja a soma das superfícies mal classificadas eA e a superfície total

do ambiente totA . Assim, o erro será:

tot

e

AAe =

O algoritmo para a construção dos mapas utiliza estruturas simples, o que permite a

sua implementação e utilização em um ambiente para aprendizagem de mapa em tempo real

utilizando os recursos computacionais disponíveis na instituição onde foi realizada a pesquisa,

atestado pela baixa complexidade do conjunto de partições de resolução variável (que permite

uma economia de recursos de memória e tempo de processamento) e pela simplicidade dos

grafos topológicos que permitem um planejamento de caminho barato. Além disso, a

interpretação neuronal dos sensores e conseqüente necessidade de integração no tempo é

bastante limitada, o que aumenta a eficiência computacional do algoritmo.

Existem algumas limitações no algoritmo. Primeiramente, a suposição de

ortogonalidade dos obstáculos que devem ser sempre paralelos ou perpendiculares entre si, de

modo a garantir a baixa complexidade ao tratar apenas de partições retangulares,

geometricamente simples. Segundo, a capacidade de auto-localização do robô precisa ser boa,

Page 42: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

40

sendo que o sistema de orientação e posicionamento utilizado é baseado apenas em

odometria, o que apresenta uma grande imprecisão, compensada por algumas estratégias

adotadas para melhorar a qualidade das medidas de distância (compensação off-line de erros

sistemáticos na modelagem de limites de obstáculos e geração de trajetórias retas no

planejamento e ação). Terceiro, o ambiente a ser modelado pressupõe-se estático. E

finalmente, a abordagem não é recomendada para áreas pequenas e não-estruturadas.

Page 43: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

41

Capítulo IV Estudo de Caso Robô Khepera

Este capítulo apresenta os experimentos realizados utilizando o mini-robô Khepera. Os

objetivos destes experimentos são:

Ø Verificar os efeitos que o perceptual aliasing pode causar em um algoritmo que possui

um desempenho teoricamente satisfatório quando é aplicado em condições favoráveis

de observação (observabilidade completa de estados); e;

Ø Verificar se a configuração dos resultados obtidos em simulação se repetiria depois em

um sistema real, de modo a validar os resultados obtidos em simulação.

As condições de observabilidade parcial foram introduzidas pela diminuição do grau

de discriminação dos estados (observados no robô real por uma câmera capaz de fornecer

informação global de posicionamento). Além disso, nos testes no robô real existem erros na

atuação das ações causados pelas imperfeições mecânicas deste, e erros de localização

causados por erros no reconhecimento de imagem da câmera, que podem causar,

naturalmente, o fenômeno do perceptual aliasing.

IV.1 Características do robô Khepera

O Khepera é um robô móvel em miniatura produzido pelo K-Team© [10], muito

utilizado em pesquisas e ensino utilizando robôs móveis, por reproduzir a funcionalidade de

robôs maiores em escala menor. Ele é pequeno, modular e de fácil utilização, permitindo

testes no mundo real de algoritmos desenvolvidos em simulação para uma vasta quantidade de

aplicações, como, por exemplo, planejamento de trajetória, desvio de obstáculos, pré-

processamento de informações sensoriais, teorias de processamento de comportamento, entre

outros.

A Figura 16 mostra uma foto do mini-robô Khepera e a Tabela 2 apresenta algumas de

suas especificações.

Page 44: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

42

Figura 16 - Robô Khepera

Elemento Informação Técnica

Tamanho Diâmetro: 55 mm Altura: 30 mm

Peso Aproximadamente 70 g

Sensores 8 sensores de infra-vermelho para proximidade e luz ambiente

Movimento 2 servo motores CC com codificador incremental

Processador Motorola 68331

RAM 256 Kbytes

ROM 128 Kbytes

Energia Via cabo ou utilizando baterias recarregáveis

Autonomia Com baterias, 30 minutos em movimento contínuo

Tabela 2 - Especificações do robô Khepera

IV.2 Implementação dos algoritmos de aprendizagem

O algoritmo utilizado como base para os testes no mini-robô Khepera foi uma variação

do algoritmo Q-learning, apresentado na seção II.4 do capítulo II.

Inicialmente, o algoritmo Q-learning foi alterado de modo a armazenar, também, uma

coleção de instâncias passadas de valores ( ttt arx ,, ) visitados pelo robô. Para cada passo de

aprendizagem, o algoritmo atualiza não apenas o estado da experiência atual, mas também

uma coleção de experiências passadas escolhidas aleatoriamente. Esta variante do algoritmo

Q-learning é denominada Dyna-Q [25], apresentada na seção II.7 do capítulo II.

Page 45: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

43

Para aumentar a capacidade de exploração do robô utilizou-se, também, o conceito de

espalhamento, esta variante é chamada de Dyna-QS [22]. A idéia é modificar o algoritmo de

modo que uma experiência (que corresponde a um loop do algoritmo) atualize mais que um

simples valor de ação. A conseqüência de tomar uma ação ta no estado tx é espalhada para

outros pares ( ax, ) como se a experiência real no tempo t fosse ( arx t ,, ). Formalmente, o

espalhamento é feito alterando a equação (1) para:

)],()(ˆ)[,( tttttttt axQyVraxQ −+=∆ γσα (3)

onde 0 ≤ ),( axσ ≤ 1 é a função de espalhamento, que força uma atualização em pares de

estado ação que não estão envolvidos na experiência do tempo t. Q-learning corresponde à

equação 3 com ),(),(),( ttt aaxxax δδσ = , onde ),( yxδ é definido como: 1),( =yxδ , se

yx = , e 0),( =yxδ , para qualquer outro caso.

IV.3 Descrição dos experimentos

Os testes foram realizados utilizando o mini-robô Khepera. O objetivo do treinamento

era controlar o robô para uma tarefa de aproximação de um alvo e, ao mesmo tempo, desviar

dos obstáculos do ambiente. A esta tarefa básica foi introduzida a observabilidade parcial.

Primeiramente foram realizadas simulações em computador utilizando o simulador do

Robô Khepera [11], e a seguir foram feitos testes no robô real, comandados pelo mesmo

algoritmo básico, mas com algumas alterações no código para a identificação das informações

globais, que passaram a ser obtidas através de uma câmera de vídeo.

O robô pode realizar três ações: ir adiante, virar à direita e virar à esquerda. A primeira

ação movimenta o robô a uma distância correspondente a meio diâmetro de sua base física.

As ações de virar à direita e à esquerda correspondem a giros de 90 graus, se o robô estiver

apontando para o norte, por exemplo, ele irá girar 90 graus para leste ou para oeste,

respectivamente.

O robô real foi controlado por comandos de baixo nível enviados via porta serial do

computador (Pentium II – 400Mhz, 128Mb RAM) utilizando o programa simulador que

permite a conexão e controle do robô real. Os comandos são traduções das instruções para

seleção da velocidade das rodas ou controle de posição, cuja sintaxe é definida no próprio

simulador. As leituras dos sensores para detecção de obstáculos foram feitas de forma

semelhante. O movimento de ir adiante foi feito pela ativação de um controlador de posição

Page 46: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

44

baseado em odometria (dead-reckoning). As ações de virar foram feitas através da aplicação

direta de controle de velocidade das rodas, com uma realimentação de erro de orientação

realizado com a ajuda de uma câmera, interfaceada com o computador via uma placa de

captura de vídeo colorida Smart Video Recorder III, utilizando-se o driver bt848,

desenvolvido por Luca Iocchi ([email protected]). Além de prover a realimentação para

o controle de giro, a câmera também indica a posição do robô em relação a uma grade

retangular.

Considerou-se que a informação global obtida a partir da grade de localização está

disponível para o robô. Inicialmente, na simulação a grade era uma matriz 8x10, conforme a

ilustração da Figura 17 (a), e introduziu-se a observabilidade parcial através de uma

diminuição do grau de discriminação de estados, fazendo a matriz 2x3, ilustrado na Figura 17

(b). Além disso, no eixo X os dois valores foram divididos, com o primeiro ficando com 40%

do espaço e o segundo com os 60% restantes, de modo a dificultar ainda mais a tarefa de

navegação para o algoritmo neste ambiente, que possui dois obstáculos simétricos em relação

ao centro do mapa. Devido à ambigüidade gerada nos estados não- simétricos produzidos por

esta divisão, passa-se a identificar obstáculo e vazio como sendo um mesmo estado. Um

terceiro teste foi realizado com a introdução de um erro de medida, através da permuta nos

valores Q dos estados da linha 1 da grade de localização. Os valores de Q da linha de 0 a 3

foram trocados com os valores de 4 a 7, no eixo X (horizontal), conforme ilustra a Figura 17

(c). Um quarto teste foi realizado semelhante ao anterior, desta vez permutando a linha 4 da

grade de localização.

Figura 17 - Partições da grade de localização para simulação, Khepera. a) Padrão, grade 8x10; b)

ObsParcial, grade 2x3, não simétrico c) Permuta 1, grade 8x10 com permuta de valores de Q da linha 1

a) b) c)

0

1

2

3

4

5

6

7

8

9 0 1 2 3 4 5 6 7

Page 47: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

45

Finalmente, a Figura 18 apresenta o ambiente utilizado nos teste em simulação,

mostrando a posição inicial do robô, o local alvo a ser atingido, a fonte de luz, e os

obstáculos.

Figura 18 - Ambiente para testes em simulação

No robô real, a câmera captura a imagem do ambiente em frames de 320x240 pixels,

alinhados com os eixos vertical e horizontal do ambiente retangular, gerando a grade. A grade

inicial era 12x12, e para o teste foi reduzido para uma grade 2x3. O robô era sempre iniciado

a partir de uma posição de referência.

O ambiente real era uma área retangular de 50,5cm x 40cm, com um obstáculo de

9,8cm x 2cm posicionado conforme mostra a Figura 19.

Figura 19 - Ambiente para testes com o robô real

Os parâmetros dos algoritmos de aprendizagem por reforço utilizados nos testes estão

apresentado na Tabela 3. Os valores de distância de obstáculos são obtidos pelas leituras dos

sensores de infra-vermelho. A fonte de luz foi simulada como uma função de decrescimento

Fonte de Luz

Obstáculos

Paredes (obstáculos)

Robô (posição inicial)

Robô (posição inicial)

Fonte de luz (simulada)

Paredes (obstáculos)

Obstáculo

Cabo de comunicação

Page 48: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

46

linear a partir do local onde a fonte estaria posicionada, fornecendo valor máximo de reforço,

até uma distância máxima de alcance da luz emitida pela fonte, fornecendo o valor mínimo de

reforço, próximo de zero.

Parâmetro Simulador Robô Real r=-1 quando o robô se aproximar demais de um obstáculo

r=-1 quando o robô se aproximar demais de um obstáculo

Reforços r=+1 quando o robô estiver próximo da fonte de luz, zero em qualquer outro caso

r=+1 quando o robô estiver próximo da fonte de luz, e uma função de decrescimento linear dependendo da distância do alvo

Desconto temporal γ = 0,95 γ = 0,9, se o controlador de desvio de obstáculo estiver ativo γ = 0,1

Taxa de aprendizado α = 0,9 α = 0,9

Espalhamento 1 < σ < 0, decrescente em função da distância, atuando somente em estados próximos

1 < σ < 0, decrescente em função da distância, atuando somente em estados próximos

Número de experiências atualizadas pelo Dyna-Q 30 experiências por passo 40 experiências por passo

Tabela 3 - Parâmetros de aprendizagem – Khepera

Em simulação, cada treinamento consistiu de 100 episódios, e cada episódio era

terminado quando o robô atingia uma região próxima à fonte de luz, reforço superior a 0,65, e

realizava mais 25 passos adicionais para permitir a exploração dessa região. Além disso, o

algoritmo básico utiliza uma política balanceada: o fator de espalhamento é, inicialmente,

),( axσ =1 e atua até o episódio 30, quando passa a ),( axσ =0, deixando-se o algoritmo

treinar sem espalhamento. O fator de exploração inicial é de 20%, no episódio 50 passa a 10%

e na 80 passa a 1%, de modo a termos uma boa exploração do ambiente no início dos

episódios e no final uma maximização nos reforços através da utilização dos melhores valores

de ação.

No robô real, o treinamento consistia de duas partes totalizando quatro episódios. Na

primeira eram executados três episódios com uma política balanceada de aprendizagem e com

espalhamento. Na segunda etapa, o robô era forçado a realizar ações seguindo uma política

greedy (não exploratória) sem espalhamento, utilizando a política aprendida nos episódios

anteriores, com o objetivo de gerar uma trajetória final mais limpa. Para cada episódio, a

Page 49: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

47

aprendizagem era encerrada uma vez que o robô explorasse a região próxima do alvo. Isto foi

feito deixando o robô treinar mais 50 passos, após alcançar uma posição com reforço superior

a 0,6.

IV.4 Resultados obtidos

Na parte de simulação, a média de 10 treinamentos completos é apresentada, para cada

um dos testes. A Figura 20 mostra os gráficos de aprendizado de 100 episódios dos

experimentos realizados, em azul está a curva de aprendizagem e os traços verticais em

vermelho são o desvio padrão encontrado em cada episódio do treinamento.

Page 50: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

48

Figura 20 - Curvas de aprendizagem - Simulação

A Figura 21 e a Figura 22 apresentam um comparativo dos reforços dos experimentos

em seu último episódio, uma média dos 10 treinamentos, e um exemplo ilustrativo da

trajetória típica aprendida, para cada caso, mostrando o caminho percorrido pelo robô, os

obstáculos e o alvo (fonte de luz).

Aprendizado Simulado - Padrão

0200

400600

8001000

12001400

16001800

2000

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95Episódio

Pass

o

Aprendizado Simulado - Observabilidade Parcial

0

200400

600800

1000

12001400

16001800

2000

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95Episódio

Pass

o

Aprendizado Simulado - Permuta linha 1

0

200400

600

800

10001200

1400

16001800

2000

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95Episódio

Pass

o

Aprendizado Simulado - Permuta linha 4

0

200

400600

800

1000

1200

14001600

1800

2000

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95Episódio

Pass

o

Page 51: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

49

Figura 21 - Padrão vs. Observabilidade Parcial. Comparativo do resultado da aprendizagem, no último

episódio: a) Gráfico ilustrativo de trajetória ; b) Curva de reforços

Figura 22 - Permuta Linha 1 vs. Permuta Linha 4. Comparativo do resultado da aprendizagem, no último

episódio: a) Gráfico ilustrativo de trajetória ; b) Curva de reforços

A seguir, os resultados dos experimentos com o robô real são apresentados, calculados

pela média de cinco treinamentos completos. Cada episódio era realizado no tempo médio de

10 minutos. No total, cada treinamento demorava em média 50 minutos para ser realizado,

devido ao tempo para retornar à posição inicial. A Figura 23 mostra as curvas de aprendizado

em quatro episódios dos experimentos realizados.

Média dos Reforços do último episódio

-2

-1

0

1

2

3

4

0 20 45 70 95 120 145 170 195 220 245 270

P asso

Padrão

ObsParcial

a) b)

Média dos Reforços do último episódio

-2

-1

0

1

2

3

4

0 20 45 70 95 120 145 170 195 220 245 270

P asso

Permuta1

Permuta4

a) b)

Page 52: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

50

Figura 23 - Curvas de aprendizagem – Robô real

A Figura 24 mostra um comparativo dos reforços dos experimentos em sua última

realização, uma média dos cinco treinamentos no robô real. Ilustra-se a seguir um gráfico de

trajetória, uma das melhores aprendidas para cada caso no último episódio utilizando o robô

real.

Figura 24 - Resultados robô real: a) Gráfico ilustrativo de trajetória e gráfico de reforços; b)Curva de

Reforços

IV.5 Considerações

Nota-se que a observabilidade parcial realmente afeta negativamente o desempenho do

algoritmo de aprendizagem por reforço. O reforço cumulativo é menor e o robô precisa de

mais passos para atingir a meta. Além disso, ocorrem colisões com obstáculos pelo caminho,

o que evidencia um processo de tentativa e erro para ultrapassá-los. Isto é provocado pela

discretização inadequada dos estados, que faz com que regiões como parede e vazio sejam

mapeadas como sendo um único estado. Isto gera uma ambigüidade que provoca a escolha de

ações nem sempre ótimas.

Aprendizado Robô Real - Padrão

0

50

100

150

200

250

300

350

1 2 3 4Episódio

Pass

o

Aprendizado Robô Real - ObsParcial

0

50

100

150

200

250

300

350

1 2 3 4Episódio

Pass

o

a) b)

0

240

0 320

Padrão

ObsParcial

Média dos Reforços do último episódio

-1

0

1

2

3

4

5

6

1 41 81 121 161

Passo

Refo

rço

Padrão

ObsParcial

a) b)

Page 53: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

51

Os algoritmos de aprendizagem têm dificuldade de cumprir o seu objetivo quando

deparados com problemas de perceptual aliasing. Os testes realizados, tanto em simulação

quanto no robô real, mostraram que a política de ações aprendida pelo algoritmo é prejudicada

quando da introdução da observabilidade parcial. De modo geral, com o perceptual aliasing o

algoritmo demorou mais para aprender e não aprendeu tão bem quanto deveria.

Nos experimentos em simulação, ficou evidente a dificuldade do robô em manter

reforços positivos em face à observabilidade parcial, apesar de conseguir aprender uma

política de controle visando a fonte de luz.

No caso da permuta de valores, o efeito no desempenho global no algoritmo foi

pequeno. Como era esperado, a trajetória do robô foi afetada nas linhas onde ocorreu a

mistura dos valores. A permuta na linha 1 provocou maior variação no desempenho do

algoritmo, observado pelo desvio padrão nas curvas de aprendizado da Figura 20, do que a

permuta da linha 4. Este comportamento pode ser explicado pela proximidade da linha 1 com

o alvo, onde os reforços positivos são maiores. Isto torna a diferença relativa entre os valores

dos pares estado-ação também maiores, dificultando, desta forma, a “recuperação” do

aprendizado após a permuta.

No robô real, como o ambiente era mais simples, a aprendizagem do caminho para

atingir o alvo teve desempenho equivalente em ambos os níveis de observabilidade, mas ainda

assim os reforços eram piores no caso de menor observabilidade. A trajetória aprendida não

foi tão boa quanto no caso de melhor observabilidade. Outra causa para um aparente

desempenho parecido na curva de aprendizado foi o número pequeno de episódios dos

treinamentos, não alcançando uma boa convergência, e de casos para tirar a média estatística,

dificuldade proveniente da lentidão dos experimentos no robô real. Os resultados alcançados

em simulação foram observados também no robô real, mantendo-se o mesmo padrão de

curvas, mesmo em se tratando de um ambiente um pouco diferente.

Os resultados indicam que o algoritmo pode controlar o robô para a tarefa desejada,

em virtude do robô ter conseguido, em todos os casos, aprender um caminho para alcançar

alvo, apesar da trajetória nem sempre ótima. A observabilidade parcial provoca o

aparecimento de reforços negativos indesejados provocados por colisão nas paredes ou nos

obstáculos. Comprovou-se que o simulador do robô Khepera fornece uma estimativa

confiável do que se pode esperar quando da utilização dos algoritmos para controle do robô

em sistemas reais.

Page 54: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

52

Capítulo V Estudo de Caso Robô Magellan

Este capítulo apresenta os experimentos realizados utilizando o robô Magellan Pro. Os

objetivos destes experimentos são:

Ø Comparar o desempenho de três algoritmos de aprendizagem por reforço – Q-

learning, Sarsa e Peng-Williams – em uma tarefa simples de aprendizagem de

navegação robótica;

Ø Implementar um procedimento para adquirir informações sobre o ambiente ao redor

do robô, gerando um mapa cognitivo. O objetivo é fazer o robô autônomo, isto é, não

necessitar de conhecimentos prévios dos ambientes fornecidos por um agente externo.

Para isso, ele deve poder adquirir, sem auxílio externo, todas as informações

necessárias para uma navegação segura através de um ambiente fechado estruturado;

Ø Avaliar o impacto de variações na qualidade dos mapas cognitivos adquiridos pelo

próprio robô sobre o desempenho dos algoritmos de aprendizagem. O objetivo é

verificar de que forma os algoritmos de aprendizagem por reforço são afetados quando

submetidos a informações de localização global de qualidade alterada.

Os experimentos para aprendizagem dos mapas cognitivos foram realizados no

sistema real. A partir dos mapas adquiridos do ambiente real, os algoritmos de aprendizagem

por reforço foram implementados e testados em um simulador.

V.1 Características do robô Magellan

O robô utilizado foi o Magellan Pro [9], fabricado pela empresa norte-americana

Real World Interface, Inc. Trata-se de um robô móvel de pesquisa para ambientes fechados. É

um robô cilíndrico de tamanho compacto, portável e relativamente leve, apresentando alto

desempenho e qualidade.

Page 55: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

53

O Magellan tem 40,6 cm de diâmetro e 25,4 cm de altura. Possui 16 sonares,

distribuídos de maneira simétrica, 8 na parte frontal e 8 na parte traseira, o que lhe permite

uma percepção de 360 graus do ambiente, conforme mostra a Figura 25. O robô é também

dotado de dois motores DC de alto torque que permitem movê-lo para frente, para trás e girar.

A determinação de posição e orientação é feita por odometria. Possui, ainda, um computador

Pentium-III 400 MHz, 32MB RAM a bordo, utilizando o sistema operacional Linux para

controle do robô. Permite comunicação sem fio com outro computador desktop, utilizando

ondas de rádio, podendo ser programado, operado e monitorado à distância.

Figura 25 - Sensores do Robô Magellan e visão esquemática. Somente os sonares foram utilizados para os

experimentos descritos nesta dissertação

A Tabela 4 apresenta um resumo das especificações do robô Magellan.

Elemento Informação Técnica

Tamanho Diâmetro: 40,6 cm Altura: 25,4 cm, sem os acessórios (sensor laser, câmera) Altura livre do solo: 5,7 cm

Peso Aproximadamente 22,7 kg Carga útil: 9,1 kg

Sensores

Sonares: 16, um em cada painel de perímetro Infra-vermelho: 16, um em cada painel de perímetro Táteis: 16, na borda inferior de cada painel de perímetro Câmera digital e Laser montados em cima do robô, na parte dianteira

Movimento 2 rodas (16,5 cm de diâmetro), acionadas por 2 motores 24V CC de alto torque

Velocidade Translação: 2,5 metros por segundo Rotação: 270 graus por segundo

Processador Pentium III – 400Mhz

Sonares

Motores

Câmera

Sensor Laser

Sonares

Sensores de Infra-vermelho

Sensores Táteis

Page 56: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

54

Elemento Informação Técnica

RAM 32 Mbytes

Energia 2 Baterias de 12V

Autonomia 8 a 10 horas, sem acessórios ligados

Tabela 4 - Especificações do robô Magellan Pro

V.2 Implementação do gerador de mapas cognitivos de resolução variável

O procedimento para aprendizagem de mapas cognitivos de resolução variável foi

descrito no Capítulo III. Para melhor apresentar os resultados referentes à implementação do

algoritmo de aquisição de mapas, dividiu-se esta seção em duas partes, a primeira

apresentando a implementação de mapas locais ao redor do robô utilizando uma rede neuronal

que realiza a interpretação dos dados dos sonares (referente aos sub-itens III.2.a e III.2.b), e a

segunda parte descrevendo o aprendizado dos mapas cognitivos globais, propriamente ditos

(referente ao item III.2 como um todo).

V.2.a Obtenção de mapas locais a partir de leituras de sonares

Para realizar o treinamento da rede neural foi necessário obter uma base de dados com

informações reais dos sensores do robô Magellan. Os sonares foram escolhidos pelas suas

características de alcance de medida máximo de quatro metros, faixa de operação mais

indicada para o tamanho de grade escolhido.

Inicialmente, a grade local para o robô Magellan foi definido como sendo de 28 x 28

células, sendo 10cm x 10cm o tamanho de cada célula. O robô ocupa as 16 células centrais da

grade, conforme mostra a figura 26.

Montou-se um setup experimental para aquisição de dados baseado naquele utilizado

por Faceli [6]. Apesar da estratégia para obtenção dos dados ser semelhante, introduziram-se

modificações na abordagem. Utilizou-se um obstáculo móvel sendo conduzido sobre

marcações indicadas no solo, de maneira a permitir maior rapidez na aquisição das leituras

dos sonares e precisão nas medidas de ângulos e distâncias.

Construiu-se um ambiente reproduzindo apenas um dos quadrantes da grade local ao

redor do robô. Pode-se verificar que os valores de distância e ângulos obtidos a partir das

Page 57: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

55

células deste quadrante reproduzem todos os valores possíveis em qualquer um dos outros

quadrantes, considerando pequeno o erro produzido pela imperfeita simetria da construção do

robô.

Uma representação em tamanho real do primeiro quadrante da grade local foi

construído manualmente usando cartolina, e montado sobre o piso da sala com alinhamento

perpendicular às paredes. Este modelo visual serviu como régua de referência para o

obstáculo móvel. O ângulo das células em relação aos sensores e a sua distância em relação ao

centro do robô foram calculadas diretamente a partir das medidas de distância realizadas.

Montou-se um obstáculo de papelão azul claro de formato cilíndrico, com raio igual ao

raio da célula e 60 cm de altura. Os dados foram obtidos colocando-se o obstáculo em

posições igualmente espaçadas. Uma ilustração da grade local é mostrada na figura 26.

Figura 26 - Grade local 28x28 para o robô Magellan e locais onde foi posicionado o obstáculo

O posicionamento do robô alinhado com a grade foi feito usando-se dados obtidos

através do sensor laser, o que permitiu o alinhamento do robô com relação às paredes e,

conseqüentemente, à grade.

Para cada posição, coletou-se 10 amostras de dados dos sensores, sendo cinco com o

obstáculo e cinco sem o obstáculo, correspondendo a probabilidades de ocupação 1 e 0,

respectivamente. Foram consideradas 96 posições com 10 amostras cada, totalizando 960

exemplos.

Os gráficos a seguir apresentam os dados não processados de leitura de sonar obtidos

experimentalmente com o robô Magellan, a partir do posicionamento dos obstáculos nas

posições da grade. O eixo x representa o ângulo existente entre o centro do obstáculo e o

primeiro sonar anterior a ele no sentido anti-horário (veja Figura 12), variando, desta forma,

Células

Robô

Locais do obstáculo

Page 58: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

56

de 0 graus a 22,5 graus (distância entre os sonares). O eixo y representa as distâncias entre o

centro do obstáculo e o centro do robô, tal como medida pelo sonar. A curva Distância

(Célula-robô) indica a distância entre o centro do obstáculo e o centro do robô que

corresponde à medida real de distância da célula em que o obstáculo se encontra, valor

previamente calculado. A Figura 27 apresenta as leituras medidas pelo primeiro sonar. A

Figura 28 e a Figura 29 apresentam as leituras obtidas pelos próximos dois sonares após o

primeiro, respectivamente.

Leituras de Sonar 1 - Magellan

0.0

0.5

1.0

1.5

2.0

2.5

0.00 1.46 6.01 9.26 12.53 16.16 20.21Ângulo (graus)

Distân

cia

(met

ros)

Sonar #1Distância (Cel-robô)

Figura 27 - Gráfico das leituras do primeiro sonar para a grade local do robô Magellan

Leituras de Sonar 2 - Magellan

0.0

0.5

1.0

1.5

2.0

2.5

0.00 1.46 6.01 9.26 12.53 16.16 20.21Ângulo (graus)

Distân

cia

(met

ros)

Sonar #2Distância (Cel-robô)

Figura 28 - Gráfico das leituras do segundo sonar para a grade local do robô Magellan

Page 59: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

57

Leituras de Sonar 3 - Magellan

0.0

0.5

1.0

1.5

2.0

2.5

0.00 1.46 6.01 9.26 12.53 16.16 20.21Ângulo (graus)

Distân

cia

(met

ros)

Sonar #3Distância (Cel-robô)

Figura 29 - Gráfico das leituras do terceiro sonar para a grade local do robô Magellan

Através dos gráficos, nota-se que apenas os dois primeiros sonares conseguem detectar

os obstáculos, não simultaneamente e com uma diferença constante de alguns centímetros

para menos em relação à medida real de distância do obstáculo. O primeiro sonar detecta os

obstáculos que se encontram a poucos graus de distância angular em relação ao sonar de

referência, que no caso é ele próprio. A partir do ângulo de aproximadamente 6 graus começa

a haver perdas na leitura da posição de distância do obstáculo, e, a partir de 7,4 graus, este

sonar não detecta mais nenhum obstáculo. Existe uma região de sombra, aproximadamente

entre 7,5 graus e 13,5 graus, na qual os obstáculos não são detectados por nenhum sonar.

Somente a partir do ângulo 13,6 graus o segundo sonar começa a perceber a presença de

obstáculos, e continua com boa precisão até o fim do intervalo de observação desse grupo de

obstáculos, em 22,5 graus. O terceiro sonar não consegue perceber o obstáculo em nenhuma

medida de distância ou posição de ângulo, mantendo uma leitura de distância constante de 2m

indicando sempre vazio. Vale ressaltar que estes valores apresentados são específicos para o

tamanho de célula escolhida, características físicas do obstáculo utilizado para a aquisição de

dados experimental e características de alcance dos sonares do robô Magellan.

Para treinamento da rede neural (baseado em processamento off-line dos dados

adquiridos) foi utilizado o software NevProp3 [7].

Logo no início dos treinamentos, o software não aceitava os dados de treinamento

obtidos experimentalmente para realizar a simulação da rede neural. Analisando as

informações estatísticas referentes às variáveis de predição, fornecidas como saída pelo

simulador, verificou-se que a informação do terceiro sonar era a variável que estava

prejudicando a realização do treinamento, por possuir valor sempre constante. Assim, para o

Page 60: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

58

treinamento da rede foi utilizada somente informação dos dois sonares mais próximos ao

obstáculo, a distância do centro da célula ao centro do robô e o ângulo do centro da célula em

relação ao feixe do primeiro sonar na direção da célula, conforme mostra a Figura 13. Esta

definição da entrada para a rede contrasta com a que foi utilizada por Thrun[27], que propõe a

utilização da leitura dos quatro primeiros sonares, e Arleo, Millan e Floreano [1] , que

propõem a utilização da leitura dos três primeiros sonares.

O método para o treinamento foi o gradient descent. Os dados foram previamente

normalizados para valores no intervalo [0,1] e embaralhados de forma aleatória. A rede

neuronal feed-forward foi treinada usando back-propagation com termo de momento usando

o critério de cross-entropy.

A função utilizada para a ativação dos neurônios foi a função logística. Para os

neurônios da camada escondida utilizou-se uma função logística simétrica com valores de

saída no intervalo [-0.5, +0.5]: 5.01

1)( −+

=− ye

yσ . Para a saída da rede neuronal utilizou-se

a função logística assimétrica produzindo valores no intervalo [0,1]: yey

−+=

11)(σ ,

indicando a probabilidade de ocupação da referida célula para o dado padrão sensorial.

Para os demais parâmetros do simulador foram utilizados os valores default do próprio

programa:

Pesos dos neurônios inicializados entre ± 0,001;

Taxa de aprendizagem = 0,01;

Valor máximo de variação de magnitude dos pesos = 1,75;

Fator momento = 0,01;

Fator de decaimento dos pesos = -0,001;

O Apêndice A apresenta uma listagem do arquivo de parâmetros contendo a

configuração utilizada no treinamento da rede neuronal e uma listagem do arquivo de saída

obtido mostrando alguns passos do treinamento. Devido ao tamanho do arquivo de resultado

do treinamento muitas linhas foram omitidas, mantendo-se apenas as partes com informações

relevantes.

As primeiras redes neuronais treinadas apresentavam uma característica indesejada: as

redes estavam muito sensíveis à presença de obstáculos e não mapeavam corretamente as

distâncias dos obstáculos. Qualquer obstáculo na frente de um sonar já provocava uma

Page 61: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

59

probabilidade de ocupação altíssima em todas as células referentes à aquele sonar,

independente da distância.

Após analisar o problema, percebeu-se a necessidade de um conjunto adicional de

informações de treinamento. Os dados adquiridos experimentalmente retratavam apenas os

casos em que as células ou estavam ocupadas ou em vazio total, não incluindo os casos em

que, apesar de algumas células estarem ocupadas, as que estão mais próximas ao robô, antes

do obstáculo, estão vazias. Estes dados poderiam ter sido facilmente adquiridos durante os

procedimentos experimentais descritos previamente. Porém, como o ambiente para a

aquisição de dados já havia sido desmontado, decidiu-se, por comodidade, acrescentar

artificialmente os dados de treinamento que estavam faltando, sem prejuízo na validade do

método ou da qualidade da rede neuronal treinada.

Assim, com o objetivo de melhorar o desempenho da rede, adicionou-se alguns casos

ao conjunto de dados de treinamento da rede neuronal, baseados nos valores obtidos

experimentalmente. Utilizou-se a seguinte heurística. Para uma dada célula, definida pela sua

distância d e angulo θ, e um conjunto de leituras de sonar (s1, s2) indicando ocupação da

célula. Baseado nos valores de leitura de sonar reais, gerou-se aleatoriamente cinco novos

valores de distância. O limite inferior para os valores gerados era a distancia real adicionada

do tamanho de uma célula, e o limite superior era a maior leitura de sonar possível, alcance

dos sonares. O novo conjunto possui probabilidade de ocupação 0, indicando que a célula está

vazia. Este procedimento vislumbrou os casos esquecidos na aquisição experimental: quando

uma célula está vazia, não necessariamente todas as células posteriores a ela estão também

vazias, podem estar ocupadas. A ocupação ou não é verificada a partir da leitura de distância

dos sonares.

Foram tentadas diversas configurações de rede, iniciando pelas mais simples com

apenas um neurônio na camada escondida, e acrescentando-se mais neurônios até o limite de

nove, e depois mais camadas escondidas até o limite de três. A rede que obteve melhor

desempenho – e que foi utilizada nos experimentos relatados a seguir – era constituída de uma

única camada escondida com quatro neurônios. Mesmo redes mais complexas tiveram

desempenhos no máximo equivalentes a esta.

O Apêndice A apresenta, também, uma listagem de saída do conjunto de pesos dos

neurônios da rede neuronal calculados através da simulação.

Aplicou-se a rede neuronal treinada a um programa de aquisição da grade local

implementada no robô Magellan.

Page 62: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

60

A figura 30 mostra as leituras cruas de distância dos sonares para uma configuração de

ambiente com parede e obstáculo. O item a é uma janela do software WinMom® de

visualização dos estados dos objetos do robô Magellan que apresenta um gráfico com o

alcance dos sonares, o item b é uma ilustração do ambiente físico em que foi realizada a

leitura.

Figura 30 - a) Gráfico de alcance de segmentos de leituras de sonares Magellan b)Ilustração do ambiente

real

Observe que, apesar da precisão verificada nas leituras de distância, alguns obstáculos,

como por exemplo trechos da parede, não são capturados pelos sonares, devido aos problemas

intrínsecos de reflexão.

Para cada célula aplicou-se o conjunto de pesos obtidos no treinamento da rede neural

calculando-se, assim, a probabilidade de ocupação de cada célula.

A figura 31 é uma ilustração da grade local ao robô, correspondente às leituras da

figura 30, construída a partir dos dados de probabilidade de ocupação obtidos pela aplicação

da rede neural ao conjunto de informações dos sonares do robô. No gráfico, quanto mais

elevado o ponto maior a probabilidade de ocupação.

a) b)

Parede

Robô Obstáculo

Page 63: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

61

Figura 31 - Grade local obtido pela interpretação neural dos sensores, robô Magellan

Para a aproximação de obstáculos mapeados pela grade local para uma linha reta,

realizou-se vários testes e verificou-se que uma grade com menos células obtinha um

comportamento melhor no cálculo da reta, levando em consideração o tamanho da sala e a

distância de segurança do robô em relação aos obstáculos. Assim, passou-se a utilizar uma

grade local de 14 x 14 células, cada célula cobrindo uma área de 10 x 10 cm. Desta forma, o

robô continuou ocupando as 4 x 4 células centrais. Note que, no exemplo ilustrado na Figura

32, apesar do obstáculo ser uma parede localizada ao lado direito do robô, a lateral da grade

não está totalmente preenchida, indicando que houve reflexão do sinal de alguns dos sonares.

Mesmo com esse problema, o método conseguiu aproximar uma linha reta modelando o

obstáculo com boa precisão.

Figura 32 - Exemplo de grade de ocupação, após interpretação neural, integração no tempo e

aproximação por reta

Robô

Células Ocupadas

Reta Calculada

Page 64: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

62

V.2.b Obtenção dos Mapas Cognitivos Globais

Os experimentos foram conduzidos em uma sala fechada preparada com obstáculos,

conforme mostra a Figura 33. A sala media aproximadamente 3 x 3,5 m.

Figura 33 - Ambiente para experimentos com robô Magellan

Adotou-se um procedimento de calibração para diminuir os erros na leitura de

odometria. Verificou-se que ao seguir linhas retas o erro era pequeno, porém, ao realizar giros

de 90 graus, o erro existente entre o ângulo calculado por odometria e o efetivamente obtido

pelo movimento do robô era considerável. Este erro, cumulativo, afetava a trajetória do robô,

que deveria ser sempre ortogonal aos eixos do ambiente.

Realizou-se uma série de n testes em que o robô deveria realizar giros de 90 graus.

Observou-se o erro entre o ângulo lido por odometria e o ângulo real. Então, calculando a

média de todos os n testes realizados temos uma estimativa da incerteza esperada do ângulo:

∑ ==

n

i iene1

)/1( . Este fator foi utilizado para compensar o ângulo observado no giro do robô

no programa de controle de baixo nível e no cálculo baseado em odometria.

Para avaliar o desempenho do método na construção de mapas, experimentos foram

realizados dispondo obstáculos em diferentes configurações. Note que neste momento são

outros obstáculos com tamanho e forma diferentes dos usados durante o treinamento da rede

neuronal. Como a resolução das partições varia em função da complexidade do ambiente,

variou-se esta última com o objetivo de obter particionamentos distintos. Gerou-se, então,

mapas para quatro diferentes configurações de obstáculos no ambiente. Nos gráficos

ilustrativos dos mapas, apresentados a seguir, os obstáculos reais são representados por linhas

Paredes Obstáculos

Robô

Page 65: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

63

pretas e áreas escuras, as partições cognitivas obtidas são traçadas em linhas azuis sobrepostas

às outras linhas, e a área em cinza é a área mal classificada. Os grafos topológicos

correspondentes aos mapas foram omitidos nas ilustrações por não terem sido utilizados

durante as experiências realizadas, mas podem facilmente ser derivados a partir das partições.

A Figura 34 apresenta um mapa inicial da sala sem obstáculos. Este teste foi realizado

com o objetivo de verificar a precisão do método em percorrer e calcular a área da sala.

Figura 34 - Mapa 1 – Sala sem obstáculos

Os mapas apresentados a seguir foram gerados com diferentes configurações de

obstáculos. Para cada configuração, armazenou-se, com o objetivo de realizar os testes

seguintes com algoritmos de aprendizagem por reforço, dois exemplares de mapas. Um

representando o melhor particionamento obtido, isto é, o mapa obtido pelo robô Magellan que

melhor representou o ambiente real da sala. E outro representando o pior particionamento

obtido, ou seja, o mapa em que os obstáculos foram mapeados com maior erro relativo aos

valores reais.

A Figura 35 apresenta os mapas obtidos da sala com apenas um obstáculo lateral. A

Figura 36 apresenta mapas com dois obstáculos nas extremidades da sala. E, finalmente, a

Figura 37 apresenta mapas com um obstáculo no centro da sala.

Nas ilustrações, os mapas aparecem com uma tendência a apresentar maior erro na

região direita e superior. Este comportamento deveu-se ao fato do ponto de origem (0,0) dos

eixos x e y de referência ter sido corrigido durante a aquisição dos mapas pelo robô, de modo

que os mapas fossem descritos como estando sempre no primeiro quadrante. Assim, nos

mapas gerados o erro aparece deslocado, a partir da origem, para a direita e para cima.

Page 66: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

64

Figura 35 - Mapa 2 – Sala com um obstáculo lateral. Particionamento: a) Melhor b) Pior

Figura 36 - Mapa 3 – Sala com dois obstáculos nas extremidades. Particionamento: a) Melhor b) Pior

Figura 37 - Mapa 4 – Sala com um obstáculo no centro. Particionamento: a) Melhor b) Pior

a) b)

a) b)

a) b)

Page 67: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

65

V.3 Implementação dos algoritmos de aprendizagem por reforço

Os algoritmos de aprendizagem por reforço implementados são os apresentados no

capítulo II: Q-learning, Sarsa e Peng-Williams.

O projeto inicial da pesquisa previa testes utilizando o robô Magellan com os

algoritmos de aprendizagem por reforço aplicados diretamente às partições dos mapas

cognitivos adquiridos. No entanto, no decorrer dos experimentos práticos decidiu-se fazer

duas alterações no projeto inicial.

Primeiramente, decidiu-se realizar os testes com os algoritmos de aprendizagem por

reforço em simulação e não mais no robô Magellan real. Esta decisão foi tomada em virtude

dos erros de odometria cumulativos observados durante o processo de aprendizado dos mapas.

Sabe-se que os algoritmos de aprendizagem por reforço necessitam interagir bastante com o

ambiente, visitando diversas vezes os pares estado-ação do sistema, para que se observe uma

convergência satisfatória dos algoritmos. Como o sistema de localização do robô Magellan se

baseia apenas em odometria, a exploração do ambiente exigida pelos algoritmos de

aprendizagem por reforço acrescentaria aos experimentos um erro cumulativo de observação

de estados, desvirtuando o objetivo principal da pesquisa que era verificar a sensibilidade dos

algoritmos em relação à qualidade dos mapas.

O simulador Saphira [12] foi escolhido para realizar a simulação. O Saphira

compreende uma aplicação cliente para robôs móveis e um ambiente de desenvolvimento,

tendo sido desenvolvido originalmente para permitir o controle e desenvolvimento de

software para o robô Pioneer. Funciona como um servidor para a aplicação de controle cliente

do usuário, substituindo o robô real, e possuindo o mesmo o protocolo de comunicação, de

modo que o programa cliente não precise de nenhuma alteração se tiver que ser executado no

robô real ou em simulação [11].

Os fatores que levaram à escolha deste software simulador foram:

a) Reproduz com fidelidade os erros das leituras dos sonares e dos codificadores das

rodas;

b) Aceita alterar os parâmetros do robô a ser simulado permitindo a simulação de outros

robôs com características físicas diferentes do robô Pioneer; e;

c) As características sensoriais, utilização de sonares, e de movimento – duas rodas

laterais com motores – do robô Pioneer são semelhantes ao do robô Magellan,

resguardadas as especificações de cada robô.

Page 68: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

66

De fato, o código do programa para os experimentos utilizando o robô Magellan real

foi semelhante ao utilizado para simulá-lo no Saphira, as diferenças residiram apenas nos

trechos de código referentes à obtenção das leituras sensoriais e aos comandos de atuação dos

motores, que utilizam estruturas distintas.

O Apêndice B apresenta uma listagem do arquivo de parâmetros do robô Magellan

para o simulador do Saphira.

A Figura 38 apresenta um exemplo de uso do Saphira, mostrando a tela do programa

servidor (a) com os parâmetros do robô Magellan e o mapa da sala real carregados na

memória, e a do programa cliente (b) rodando o algoritmo Q-learning tendo como base as

partições do mapa cognitivo obtido no Magellan real.

Figura 38 - Exemplo de uso do Saphira. a) Servidor: Simulador Magellan; b) Cliente: Aplica ção de

aprendizagem Q-learning

A segunda alteração em relação ao projeto inicial foi referente aos mapas que seriam

utilizados para realizar os testes comparativos dos algoritmos de aprendizagem por reforço.

Inicialmente, a intenção era comparar o desempenho dos algoritmos aplicados a mapas de

diferentes qualidades. No entanto, os resultados preliminares dos testes realizados utilizando

os mapas da sala com um obstáculo lateral (Figura 35) não foram conclusivos.

Comparou-se os resultados do aprendizado do Q-learning utilizando três mapas de

diferentes qualidades: o melhor mapa gerado, o pior mapa gerado e um mapa perfeito, e

obteve-se o gráfico da Figura 39. Comparou-se os três algoritmos utilizando o melhor dos

mapas, obteve-se o gráfico da Figura 40. Os detalhes do método para a realização desses

experimentos são semelhantes aos descritos na próxima seção.

a) b)

Page 69: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

67

Curva de Aprendizagem - Q-Learning, Mapa 2

0

50

100

150

200

250

1 6 11 16Episódios

Pass

os

PerfeitoMelhorPior

Figura 39 - Curvas de Aprendizagem para o Q-Leaning, utilizando o Mapa 2

Curva de Aprendizagem - Mapa 2 Melhor

0

50

100

150

200

250

300

350

1 6 11 16Episódios

Pass

os

Q-LearningSarsaPeng-Williams

Figura 40 - Curvas de Aprendizagem utilizando o Mapa 2 e o Melhor particionamento

Observou-se pouca diferença entre as curvas de aprendizagem, tanto ao variar a

qualidade do mapa ou mesmo com diferentes algoritmos de aprendizagem.

A idéia de manter os particionamentos obtidos pelo robô real era com objetivo de não

acrescentar nenhum conhecimento externo a respeito do ambiente que não pudesse ser

capturado pelo robô de forma autônoma, através de exploração do ambiente. Mantendo esta

linha de pensamento, estudou-se uma heurística para variar a qualidade das partições de modo

a obter um aprendizado com maior qualidade que permitisse uma melhor análise dos

resultados.

Levantou-se a suspeita de que, como a observabilidade parcial dos estados era

agravada devido ao tamanho das partições, o aprendizado não era bom em nenhum caso,

conforme indicaram as experiências com o robô Khepera apresentadas no capítulo anterior, o

que nivelava os resultados por baixo, isto é, todos os algoritmos em qualquer mapa aprendiam

a tarefa de forma aceitável mas não tão bem quanto poderiam. Além disso, suspeitava-se do

Page 70: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

68

fato de que o tamanho exagerado das partições estava filtrando os reforços errados gerados

nas áreas mapeadas de forma incorreta pelos mapas de pior qualidade, não permitindo

diferenciar o desempenho da sua aprendizagem da realizada utilizando os mapas de melhor

qualidade.

Desta forma, decidiu-se dividir as partições obtidas pelo algoritmo de aprendizagem

de mapas cognitivos em partições menores, o que permitiria uma discretização mais detalhada

do ambiente e, por conseguinte, um melhor aprendizado de política de ações. O critério

adotado foi dividir as partições originais nos eixos x e y, gerando partições menores,

mantendo os limites da partição original e observando a seguinte regra: uma subpartição não

poderia ter tamanho, em cada eixo, menor que três vezes o raio do robô, uma vez que o

comando de movimento avança o robô a uma distância de um raio a cada ação “seguir em

frente”. Assim, obteve-se um conjunto de mapas e particionamentos que permitiu executar os

experimentos descritos a seguir.

V.4 Descrição dos experimentos

Os experimentos foram realizados no simulador Saphira utilizando os parâmetros do

robô Magellan e os mapas cognitivos obtidos no robô real. A tarefa a ser aprendida pelo robô

foi aproximar-se de um alvo, no caso uma fonte de luz simulada, e ao mesmo tempo desviar

dos obstáculos, caixas e paredes.

A Figura 41 ilustra o ambiente de simulação para um dos casos testados. A fonte de

luz é calculada de modo a fornecer um reforço ao robô inversamente proporcional à distancia,

quanto mais próximo da luz menor será a distância do alvo e maior o reforço. Na figura, o

ponto “c” indica o ponto de origem do robô, os pontos azuis ilustram as leituras dos sonares,

os nomes “corr 1”, “corr 3”, etc., são representações que reproduzem as paredes e obstáculos

da sala real, utilizados como pontos de referência para o simulador. O Saphira simula os erros

de leitura de sonar e odometria, replicando o problema de estimação de localização que é

observado no robô real. No entanto, o Saphira possui uma propriedade que permite corrigir os

erros de odometria utilizando pontos de referência no ambiente. Ele utiliza leituras

consecutivas de sonares armazenadas em um buffer e faz aproximações dos obstáculos

encontrados com os valores esperados como pontos de referencia, atualizando e corrigindo

sua localização.

Page 71: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

69

Figura 41 - Ambiente para simulação Saphira

Os estados do robô para os testes dos algoritmos foram definidos utilizando as

partições dos mapas cognitivos gerados com o robô na sala real. Um estado para o robô foi

definido como sendo a combinação de duas informações: a sua localização (partição em que

ele se encontra), e a sua direção (para qual lado ele está virado: norte, sul, leste ou oeste). Para

cada estado, é permitido ao robô a execução de ações, compondo, assim, os pares estado-ação

a serem utilizados pelos algoritmos de aprendizagem.

As ações possíveis de o robô realizar, em cada estado, são: "ir adiante", "virar à

direita" e "virar à esquerda". A ação "ir adiante" movimenta o robô a uma distância

correspondente a meio diâmetro de sua base física. A ação "virar à direita" corresponde a um

giro de 90 graus, para a direita, e a ação "virar à esquerda", de forma semelhante, gira o robô

90 graus para a esquerda.

Foram testados os três algoritmos descritos anteriormente: Q-learning, Sarsa e Peng-

Williams. A Tabela 5 apresenta os parâmetros utilizados nos experimentos realizados. Para os

três algoritmos utilizou-se os mesmos valores de reforços, aprendizagem e desconto. Esses

valores haviam demonstrado bom desempenho em testes anteriores de tarefas similares

utilizando o robô Khepera. Note que esses não são necessariamente os valores ótimos de

parâmetros dos algoritmos. Um estudo comparativo detalhado variando os valores dos

parâmetros poderia, talvez, obter valores que fornecessem melhor desempenho para cada

algoritmo específico.

Obstáculo

Fonte de Luz (calculada)

Paredes (obstáculos)

Robô Magellan (ponto inicial)

Page 72: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

70

Parâmetro Valores

r=-1 quando o robô se aproximar demais ou bater em um obstáculo

Reforços 0 ≤ r ≤ 1, obedecendo a uma função linear com valor inversamente proporcional à distância do alvo, em qualquer outro caso.

Desconto temporal γ = 0,95

Taxa de aprendizado α = 0,9

Número de experiências atualizadas pelo Dyna 30 experiências por passo

Decaimento do traço de elegibilidade λ = 0,5 , apenas usado no algoritmo Peng-Williams

Tabela 5 - Parâmetros de aprendizagem – Magellan

Partindo do ponto inicial, indicado na Figura 41, o robô utiliza os algoritmos de

aprendizagem por reforço para aprender uma política de ações que o conduzam ao alvo

maximizando os reforços recebidos e desviando dos obstáculos. Um episódio de

aprendizagem era terminado 25 passos após o robô atingir uma área em que recebesse um

reforço r > 0,65. Com o objetivo de fazer o robô explorar também a região próxima ao alvo,

não apenas o caminho até atingi-lo. Para cada experiência foram realizados 20 episódios de

aprendizagem.

Definiu-se a escolha das ações a serem tomadas através de uma política є-greedy. A

probabilidade de exploração era, inicialmente, de 20%, isto é, em cada escolha de ação

haveria 20% de chance de o algoritmo escolher uma ação totalmente aleatória, realizando

exploração. Para permitir a convergência dos algoritmos, a probabilidade de exploração

decaía ao longo do tempo, mantendo os outros parâmetros inalterados. No episódio 10

(metade do total de episódios), a probabilidade de exploração recebia o valor 5%, e no

episódio 16 (próximo ao término da experiência), recebia o valor 1%.

O mapa da sala sem obstáculos não foi utilizado nos experimentos, por apresentar

apenas uma partição única na sua forma original, o que não é indicado ao aprendizado da

trajetória. Os mapas utilizados foram os três que representam a sala com obstáculos.

Conforme explicado na seção anterior, foi realizado um subparticionamento das partições

inicialmente adquiridas.

Page 73: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

71

Para permitir uma comparação de desempenho dos algoritmos foram realizados

experimentos com três versões de particionamento, para cada um dos mapas:

Ø particionamento obtido no mundo real com o robô Magellan explorando a sala,

escolhendo-se o melhor dos mapas obtidos em várias tentativas de mapeamento, sem

subparticionamento;

Ø particionamento perfeito baseado nas partições obtidas pelo robô Magellan, ou seja, a

partir das partições originais, modificando-as para o tamanho exato a encaixar com os

obstáculos do mapa e subparticionando-as em partições menores; e;

Ø pior mapa obtido no ambiente real utilizando o subparticionamento em partições

menores.

Desta forma obteve-se os mapas e partições mostrados nas figuras a seguir. A Figura

42 apresenta as partições do mapa da sala com apenas um obstáculo lateral. A Figura 43, as

partições do mapa com dois obstáculos nas extremidades da sala. E, finalmente, a Figura 44,

as partições do mapa com um obstáculo no centro da sala.

Figura 42 - Mapa 2 – Sala com um obstáculo lateral. Particionamento: a) Original b) Perfeito c) Pior

Figura 43 - Mapa 3 – Sala com dois obstáculos nas extremidades. Particionamento: a) Original b) Perfeito

c) Pior

a) b) c)

a) b) c)

Page 74: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

72

Figura 44 - Mapa 4 – Sala com um obstáculo central. Particionamento: a) Original b) Perfeito c) Pior

Aplicando aos mapas a medida quantitativa de precisão apresentada na seção III.3 do

capítulo III, obteve-se a Figura 45.

0

0,05

0,1

0,15

0,2

0,25

0,3

Erro

Mapas

Gráfico Medida Quantitativa de Precisão dos Mapas

Erro A,original 0,1205 0,1139 0,1016

Erro B,perfeito 0,0035 0,0037 0,0035

Erro C,pior 0,2705 0,1428 0,1062

Mapa 2 Mapa 3 Mapa 4

Figura 45 - Medida quantitativa de precisão dos mapas aprendidos, tabela e gráfico. Valores menores

indicam melhor qualidade do mapa

Observe que mesmo no caso dos mapas tipo B, particionamento “perfeito”, existe um

pequeno erro, porém menor que 0,4% da área total. Este erro provém de uma pequena coluna

localizada no canto da sala que, pelo seu tamanho, não foi observada pelo robô. Manteve-se o

obstáculo, na representação simulada, apenas por fidelidade ao ambiente real. O

particionamento perfeito foi projetado sem levar em conta esta pequena imperfeição em

benefício da simplicidade da solução.

Observe, também, que a diferença existente entre o melhor mapa, tipo A, e o pior, tipo

C, foi maior no mapa 2, com apenas um obstáculo, sendo que no mapa 3 a diferença diminuiu

e no mapa 4 foi pequena, quase imperceptível. Este comportamento foi causado não pela

a) b) c)

Page 75: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

73

complexidade maior de um ambiente em relação ao outro, mas devido ao processo de

aprimoramento do programa que implementa o algoritmo de aprendizado de mapas

cognitivos. A seqüência de desenvolvimento natural iniciou com um mapa sem obstáculos,

passando para um obstáculo, e assim por diante, desta forma, os mapas seguintes foram

construídos de forma mais precisa, uma vez que o programa já estava bem ajustado e testado.

É evidente que a complexidade do ambiente afeta a qualidade do mapa aprendido, mas a

diferença entre várias tentativas de aquisição do mapa é pequena ao se utilizar a mesma

versão do programa, salvo mudanças nos parâmetros do algoritmo.

V.5 Resultados obtidos

Os resultados apresentados nesta seção são uma média de 10 repetições de

treinamentos completos para cada um dos 20 episódios de cada configuração. Este

procedimento foi adotado com a finalidade de amenizar o efeito do fator aleatório dos

algoritmos nos resultados.

Foram testados três algoritmos de aprendizagem por reforço, aplicados a três mapas de

ambientes distintos, utilizando três configurações diferentes de partições. Isto totaliza 27

configurações de experimentos. Como cada um é a média de 10 treinamentos completos,

contabilizou-se 270 experimentos.

Cada experimento – execução completa de 20 episódios de treinamento – demorou,

em média, 25 horas para ser concluído, sendo que cada episódio, por sua vez, demorava de 1 a

4 horas, dependendo do estágio do aprendizado. As experiências foram realizadas em vinte

microcomputadores, em sua maioria, com a seguinte configuração: Pentium 400 MHz

possuindo 128 MBytes de RAM.

Os resultados foram agrupados por Mapa para permitir a comparação entre mapas com

particionamento de qualidade diferente e entre os algoritmos.

V.5.a Resultados para o mapa 2, ambiente com um obstáculo

As figuras a seguir apresentam os gráficos de aprendizagem para os algoritmos

aplicados aos mapas do tipo 2, mostrados na Figura 42. Os gráficos indicam quantos passos,

em média, o robô realiza para concluir cada episódio no decorrer do experimento. Para cada

gráfico, foi traçada uma curva com a média de passos em cada episódio, e para cada episódio

o desvio padrão encontrado nas dez repetições do experimento. A Figura 46 apresenta os

Page 76: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

74

gráficos de aprendizagem do algoritmo Q-learning, a Figura 47, do algoritmo Sarsa, e, a

Figura 48, do algoritmo Peng-Williams.

Figura 46 - Gráficos de Curva de Aprendizagem. Q-learning, Mapa 2: a) Original b) Perfeito c) Pior

Figura 47 - Gráficos de Curva de Aprendizagem. Sarsa, Mapa 2: a) Original b) Perfeito c) Pior

Figura 48 - Gráficos de Curva de Aprendizagem. Peng-Williams, Mapa 2: a) Original b) Perfeito c) Pior

As próximas figuras apresentam gráficos com os reforços médios esperados para cada

passo do último episódio, juntamente com uma trajetória típica do robô no último episódio.

No gráfico de trajetória, o pequeno círculo representa a fonte de luz e o retângulo, o

obstáculo. A Figura 49 apresenta os resultados do algoritmo Q-learning, a Figura 50, os

resultados do algoritmo Sarsa, e, a Figura 51, os resultados do algoritmo Peng-Williams.

Peng-Williams - Mapa 2 A

-100

0

100

200

300

400

500

600

0 5 10 15

Episódio

Pass

o

Peng-Williams - Mapa 2 B

-100

0

100

200

300

400

500

600

0 5 10 15

Episódio

Pass

o

Peng-Williams - Mapa 2 C

-100

0

100

200

300

400

500

600

0 5 10 15

Episódio

Pass

o

Sarsa - Mapa 2 A

-100

0

100

200

300

400

500

600

0 5 10 15

Episódio

Pass

o

Sarsa - Mapa 2 B

-100

0

100

200

300

400

500

600

0 5 10 15

Episódio

Pass

o

Sarsa - Mapa 2 C

-100

0

100

200

300

400

500

600

0 5 10 15

Episódio

Pass

o

Q-learning - Mapa 2 A

-100

0

100

200

300

400

500

600

0 5 10 15

Episó dio

Q-learning - Mapa 2 B

-100

0

100

200

300

400

500

600

0 5 10 15

EpisódioPa

sso

Q-learning - Mapa 2 C

-100

0

100

200

300

400

500

600

0 5 10 15

Episódio

Pass

o

b) a) c)

b) a) c)

b) a) c)

Page 77: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

75

Figura 49 - Gráficos comparativos Q-learning Mapa 2. a) Gráfico da Curva da Média do Reforço

Esperado no último episódio em cada passo; b) Trajetória típica no último episódio

Figura 50 - Gráficos comparativos Sarsa Mapa 2. a) Gráfico da Curva da Média do Reforço Esperado no

último episódio em cada passo; b) Trajetória típica no último episódio

Figura 51 - Gráficos comparativos Peng-Williams Mapa 2. a) Gráfico da Curva da Média do Reforço

Esperado no último episódio em cada passo; b) Trajetória típica no último episódio

Peng-Williams Mapa 2

-6

-3

0

3

6

9

12

1 21 41 61 81 101 121 141

Passo

Refo

rço

A,original B,perfeito C,pior

Peng-Williams Mapa 2

0

2970

0 3450A,original B,perfeito C,pior

Sarsa Mapa 2

-6

-3

0

3

6

9

12

1 21 41 61 81

Passo

Refo

rço

A,original B,perfeito C,pior

Sarsa Mapa 2

0

2970

0 3450A,original B,perfeito C,pior

Q-learning Mapa 2

-6

-3

0

3

6

9

12

1 21 41 61 81 101

Passo

Refo

rço

A,original B,perfeito C,pior

Q-learning Mapa 2

0

2970

0 3450A,original B,perfeito C,pior

b) a)

b) a)

b) a)

Page 78: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

76

V.5.b Resultados para o mapa 3, ambiente com dois obstáculos

Esta seção apresenta gráficos similares aos da seção anterior. Neste caso, resultados

obtidos na aplicação dos algoritmos de aprendizagem por reforço aos mapas do tipo 3, com

dois obstáculos nas extremidades, mostrados na Figura 43.

Figura 52 - Gráficos de Curva de Aprendizagem. Q-learning, Mapa 3: a) Original b) Perfeito c) Pior

Figura 53 - Gráficos de Curva de Aprendizagem. Sarsa, Mapa 3: a) Original b) Perfeito c) Pior

Figura 54 - Gráficos de Curva de Aprendizagem. Peng-Williams, Mapa 3: a) Original b) Perfeito c) Pior

Peng-Williams - Mapa 3 A

0

50

100

150

200

250

0 5 10 15Episódio

Pass

o

Peng-Williams - Mapa 3 B

0

50

100

150

200

250

0 5 10 15Episódio

Pass

o

Peng-Williams - Mapa 3 C

0

50

100

150

200

250

0 5 10 15Episódio

Pass

o

Sarsa - Mapa 3 A

0

50

100

150

200

250

0 5 10 15Episódio

Pass

o

Sarsa - Mapa 3 B

0

50

100

150

200

250

0 5 10 15Episódio

Pass

o

Sarsa - Mapa 3 C

0

50

100

150

200

250

0 5 10 15Episódio

Pass

o

Q-learning - Mapa 3 A

0

50

100

150

200

250

0 5 10 15Episódio

Pass

o

Q-learning - Mapa 3 B

0

50

100

150

200

250

0 5 10 15Episódio

Pass

oQ-learning - Mapa 3 C

0

50

100

150

200

250

0 5 10 15Episódio

Pass

o

b) a) c)

b) a) c)

b) a) c)

Page 79: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

77

Figura 55 -Gráficos comparativos Q-learning Mapa 3. a) Gráfico da Curva da Média do Reforço

Esperado no último episódio em cada passo; b) Trajetória típica no último episódio

Figura 56 - Gráficos comparativos Sarsa Mapa 3. a) Gráfico da Curva da Média do Reforço Esperado no

último episódio em cada passo; b) Trajetória típica no último episódio

Figura 57 - Gráficos comparativos Peng-Williams Mapa 3. a) Gráfico da Curva da Média do Reforço

Esperado no último episódio em cada passo; b) Trajetória típica no último episódio

Peng-Williams Mapa 3

0

2

4

6

8

10

1 21 41 61Passo

Refo

rço

A,original B,perfeito C,pior

Peng-Williams Mapa 3

0

2970

0 3450A,original B,perfeito C,pior

Sarsa Mapa 3

0

2

4

6

8

10

1 21 41 61Passo

Refo

rço

A,original B,perfeito C,pior

Sarsa Mapa 3

0

2970

0 3450A,original B,perfeito C,pior

Q-learning Mapa 3

0

2

4

6

8

10

1 21 41Passo

Refo

rço

A,original B,perfeito C,pior

Q-learning Mapa 3

0

2970

0 3450A,original B,perfeito C,pior

b) a)

b) a)

b) a)

Page 80: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

78

V.5.c Resultados para o mapa 4, ambiente com obstáculo no centro

Esta seção apresenta gráficos similares aos das seções anteriores. Neste caso,

resultados obtidos na aplicação dos algoritmos de aprendizagem por reforço aos mapas do

tipo 4, com um obstáculo no centro da sala, mostrados na Figura 44.

Figura 58 - Gráficos de Curva de Aprendizagem. Q-learning, Mapa 4: a) Original b) Perfeito c) Pior

Figura 59 - Gráficos de Curva de Aprendizagem. Sarsa, Mapa 4: a) Original b) Perfeito c) Pior

Figura 60 - Gráficos de Curva de Aprendizagem. Peng-Williams, Mapa 4: a) Original b) Perfeito c) Pior

Peng-Williams - Mapa 4 A

0

100

200

300

400

500

0 5 10 15Episódio

Pass

o

Peng-Williams - Mapa 4 B

0

100

200

300

400

500

0 5 10 15Episódio

Pass

o

Peng-Williams - Mapa 4 C

0

100

200

300

400

500

0 5 10 15Episódio

Pass

o

Sarsa - Mapa 4 A

0

100

200

300

400

500

0 5 10 15Episódio

Pass

o

Sarsa - Mapa 4 B

0

100

200

300

400

500

0 5 10 15Episódio

Pass

o

Sarsa - Mapa 4 C

0

100

200

300

400

500

0 5 10 15Episódio

Pass

o

Q-learning - Mapa 4 A

0

100

200

300

400

500

0 5 10 15Episódio

Pass

o

Q-learning - Mapa 4 B

0

100

200

300

400

500

0 5 10 15Episódio

Pass

o

Q-learning - Mapa 4 C

0

100

200

300

400

500

0 5 10 15Episódio

Pass

o

b) a) c)

b) a) c)

b) a) c)

Page 81: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

79

Figura 61 - Gráficos comparativos Q-learning Mapa 4. a) Gráfico da Curva da Média do Reforço

Esperado no último episódio em cada passo; b) Trajetória típica no último episódio

Figura 62 - Gráficos comparativos Sarsa Mapa 4. a) Gráfico da Curva da Média do Reforço Esperado no

último episódio em cada passo; b) Trajetória típica no último episódio

Figura 63 - Gráficos comparativos Peng-Williams Mapa 4. a) Gráfico da Curva da Média do Reforço

Esperado no último episódio em cada passo; b) Trajetória típica no último episódio

Peng-Williams Mapa 4

-6

-3

0

3

6

9

12

1 21 41 61 81 101

Passo

Refo

rço

A,original B,perfeito C,pior

Peng-Williams Mapa 4

0

2970

0 3450A,original B,perfeito C,pior

Sarsa Mapa 4

0

2

4

6

8

1 21 41 61 81Passo

Refo

rço

A,original B,perfeito C,pior

Sarsa Mapa 4

0

2970

0 3450A,original B,perfeito C,pior

Q-learning Mapa 4

0

2

4

6

8

1 21 41 61 81Passo

Refo

rço

A,original B,perfeito C,pior

Q-learning Mapa 4

0

2970

0 3450A,original B,perfeito C,pior

b) a)

b) a)

b) a)

Page 82: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

80

Para resumir as informações referentes aos resultados de todos os mapas e algoritmos,

as próximas figuras apresentam uma tabela e um gráfico com as médias dos valores absolutos

encontrados no último episódio das experiências. A Figura 64 apresenta a média de passos

realizados no último episódio até concluir a tarefa. A Figura 65 apresenta a média dos

reforços obtidos durante o percurso do último episódio.

Page 83: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

81

0

20

40

60

80

100

Passos

Média de Passos no último episódio

Q-learning 60,2 46,8 89,1 56,2 44,2 46,5 89,9 58,8 56,6

Sarsa 76,4 68,3 92,6 79,8 57,4 59 100,6 98,8 100,4

Peng-Williams 80,2 72 105,1 79,6 59,2 61,7 111,3 82,6 83,1

Map 2 A Map 2 B Map 2 C Map 3 A Map 3 B Map 3 C Map 4 A Map 4 B Map 4 C

Figura 64 - Tabela e Gráfico de barras da Média de Passos realizados no último episódio. Valores menores indicam melhor aprendizado

0,00

2,00

4,00

6,00

Passos

Média de Reforços no último episódio

Q-learning 3,59 5,79 0,45 4,31 4,71 3,80 2,07 3,87 3,70

Sarsa 3,87 3,39 3,57 4,08 4,04 3,76 3,68 3,89 3,45

Peng-Williams 3,79 3,24 3,03 3,40 3,43 2,81 2,68 3,24 3,03

Map 2 A Map 2 B Map 2 C Map 3 A Map 3 B Map 3 C Map 4 A Map 4 B Map 4 C

Figura 65 - Tabela e Gráfico de barras da Média dos Reforços obtidos durante a realização do último episódio. Valores maiores indicam melhor aprendizado

Page 84: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

82

V.6 Considerações

Os resultados apresentados nas seções anteriores fornecem embasamento para várias

considerações tanto referentes aos mapas quanto aos algoritmos de aprendizagem.

Dois comportamentos observados foram diferentes das previsões iniciais. Primeiro, na

utilização de mapas com particionamento perfeito, a melhora na qualidade do aprendizado

ficou aquém do esperado. E, segundo, o desempenho do algoritmo Peng-Williams não

superou o do Q-learning.

Estes comportamentos inesperados podem ser explicados pela quantidade de

parâmetros envolvidos no processo de aprendizagem, a escolha de parâmetros para o tipo de

partição e algoritmo de aprendizado adotado pode não ter sido a ótima. Além disso, existem

as ambigüidades dos sensores e atuadores do robô utilizado no aprendizado, mesmo em

simulação. Estes fatores inerentes ao mundo real prejudicam o aprendizado, como

demonstraram os testes com o Khepera. Todos os algoritmos foram afetados pela

observabilidade parcial dos estados.

Ainda assim, o desempenho da aprendizagem por reforço utilizando como base os

mapas cognitivos adquiridos originalmente pelo robô Magellan real foi satisfatório, de

maneira geral, para todos os mapas e variações testadas..

O mapa 2, com um obstáculo lateral, permitiu a melhor comparação dos algoritmos,

por possuir a maior variação na qualidade dos particionamentos. O maior erro do mapa está

localizado na região próxima ao ponto inicial do aprendizado e sua influência tende a

diminuir no decorrer do aprendizado, quando a escolha de ações torna-se mais greedy. Apesar

disso, a influência do erro no aprendizado foi marcante e pode ser observada claramente nos

gráficos

O mapa 3, com dois obstáculos nas extremidades, foi o que apresentou aprendizado

mais fácil para os algoritmos, uma vez que os obstáculos estavam longe da trajetória entre o

ponto inicial e o alvo. Desta forma, na região central do mapa o aprendizado estava sujeito

apenas aos fatores aleatórios dos algoritmos, razão por que as trajetórias variaram mais para

este mapa.

O mapa 4, com obstáculo central, era o mapa mais complexo. Devido a isso, a

complexidade das partições era maior também. Mesmo no mapa original obtido pelo robô, as

partições eram mais refinadas, tornando o aprendizado não tão penoso. Também devido ao

Page 85: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

83

fato deste ter sido o último mapa adquirido, após o algoritmo de aprendizagem de mapas ter

sido exaustivamente testado, não havia muita diferença na qualidade dos mapas, do original

ao pior.

Para cada configuração de mapa, havia o melhor, o perfeito e o pior. O melhor mapa

era mantido com as partições originais e, apesar da ambigüidade gerada pelo tamanho das

partições – que tornava indistinguíveis obstáculos de vazio, na passagem de uma partição à

outra – permitiu realizar o aprendizado da tarefa no ambiente quase tão bem quanto nos outros

casos. Isto possivelmente deve-se ao fato das partições maiores serem menos afetadas por

pequenas imperfeições no mapa, cujos efeitos são filtrados pelo próprio tamanho das

partições. O mapa perfeito, com as partições encaixando-se perfeitamente aos obstáculos e

ainda subparticionadas, realmente alcançou os melhores resultados, ainda que aquém do

esperado, provavelmente não por deficiência deste, mas pela qualidade dos outros

particionamentos. O mapa pior, também subparticionado, também permitiu bom aprendizado

e foi útil na comparação dos resultados, como ficou evidenciado.

O algoritmo Q-learning foi o que aprendeu a melhor política de ações em todos os

casos, ou seja, realizou menos passos para atingir o alvo, forneceu reforços maiores, e a

trajetória aprendida se aproximou mais da ótima.

O algoritmo Sarsa foi o menos afetado pelas variações de qualidade do mapa, obtendo

média de reforços no ultimo episódio sempre positivos. Este comportamento foi decorrente da

trajetória mais conservadora obtida pelo algoritmo, ou seja, como o robô aprendeu um

caminho mais distante dos obstáculos, recebe menos reforços negativos. O Sarsa é um

algoritmo muito sensível à política e provavelmente a obtenção de uma trajetória

conservadora decorreu da política pouco exploratória. No limite, se todos os pares estado-

ação fossem visitados infinitas vezes e a política continuasse convergindo para uma política

greedy, deveria ser encontrada a mesma política e trajetória ótimas obtidas pelo Q-learning.

O algoritmo Peng-Williams foi o algoritmo mais afetado pela variação na qualidade do

mapa. Apresentou também a pior trajetória, mesmo no final do aprendizado. Vários fatores

podem justificar este mau comportamento: parâmetros não ajustados corretamente, tamanho e

característica de partições inadequados, e tipo de tarefa e de estratégia de aplicação de

reforços não favorecendo o uso de traços de elegibilidade.

Como foi comentado na seção II.6 do capítulo II, algoritmos com traços de

elegibilidade são indicados para problemas modelados como processos decisórios de Markov

parcialmente observáveis. No entanto, a estrutura do problema testado nos experimentos

Page 86: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

84

prejudicou o desempenho do Peng-Williams. Primeiramente, os reforços positivos eram

distribuídos ao longo da trajetória, baseado em uma função proporcional à distância. Desta

forma, o robô não precisava atingir o alvo para receber reforços positivos. Isto acelerou o

aprendizado para todos os algoritmos, mas diminuiu a vantagem dos traços de elegibilidade

de distribuir o crédito do reforço para os pares estado-ação envolvidos na trajetória bem

sucedida.

Em segundo lugar, e mais importante, o tamanho das partições e a definição das ações

possíveis tornou freqüente o problema de o robô revisitar um par estado-ação antes que o

traço devido à primeira visita tivesse decaído totalmente a zero, provocando um incremento

no traço que freqüentemente tornava-se maior que um. Isto provocou problemas em casos em

que, estando em um estado, uma ação errada é escolhida pelo robô algumas vezes antes de

uma certa (assumindo como ação certa a proveniente de uma política ótima ideal). Assim, o

traço referente à ação errada está provavelmente maior que o referente à ação certa. Apesar da

ação correta ter sido tomada mais recentemente, a ação errada foi selecionada mais vezes.

Quando o reforço é recebido, o valor para a ação errada provavelmente será maior que o valor

para ação certa, fazendo com que posteriormente a escolha da ação errada seja tomada muitas

vezes antes da ação certa e tornando mais provável que a ação errada tenha traço maior

novamente. Desta forma, o robô entra em um círculo vicioso que eventualmente é quebrado,

mas atrasa o aprendizado. Isto poderia ser resolvido utilizando alguma estratégia como a

substituição de traços (replacing traces) sugerida por Singh e Sutton [24].

Page 87: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

85

Capítulo VI Conclusões

Os experimentos descritos nesta dissertação foram realizados com o objetivo de

avaliar o comportamento de três algoritmos de aprendizagem por reforço – Q-learning, Sarsa

e Peng-Willimas – quando aplicados ao aprendizado de uma tarefa de navegação em um

ambiente quase totalmente desconhecido e afetado por ambigüidades provenientes de fatores

do mundo real, como imperfeições de sensores e de atuadores.

Os objetivos foram atingidos uma vez que os algoritmos de aprendizagem por reforço

realizaram o aprendizado da tarefa escolhida com sucesso permitindo o estudo comparativo.

Além disso, um método para aquisição de um modelo do ambiente foi implementado e

comprovou-se a sua utilidade como verificador de desempenho dos algoritmos de

aprendizagem por reforço.

Quanto à aquisição de um modelo do ambiente pelo robô Magellan, o algoritmo

testado apresenta uma solução para a construção de mapas, possuindo um compromisso entre

precisão e eficiência. Utiliza estruturas simples, o que permite sua implementação e uso em

um ambiente para construção de mapas em tempo real com os recursos computacionais

atualmente disponíveis, conforme atestado pela baixa complexidade do conjunto de partições

de resolução variável e pela simplicidade dos grafos topológicos - que permitem um fácil

planejamento de caminho. A interpretação neuronal dos sensores e sua integração no tempo

são utilizadas por pouco tempo, apenas durante o início da observação de uma nova borda de

obstáculo, aumentando a eficiência computacional do algoritmo. Além disso, a rede neuronal

treinada com um obstáculo móvel e utilizando apenas dois sonares para interpretação de cada

célula da grade local permitiu uma modelagem confiável dos obstáculos reais testados.

Foi possível verificar que mesmo pequenas alterações na qualidade do mapa afetam o

desempenho dos algoritmos de aprendizagem por reforço devido ao problema da

observabilidade parcial dos estados. No entanto, em virtude de características das partições

Page 88: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

86

utilizadas, a qualidade geral da aprendizagem pode ser afetada em diferentes níveis de modo a

fornecer uma melhor ou pior medida de avaliação dos algoritmos. Mapas mais refinados, com

partições menores e mais precisas, permitem um aprendizado melhor e, portanto, variações na

sua qualidade e precisão tornam-se mais visíveis ao se avaliar o desempenho dos algoritmos

de aprendizagem por reforço.

Dos algoritmos avaliados, o Q-learning foi o que obteve melhor desempenho, em

termos de qualidade da aprendizagem, número de passos e reforços recebidos no último

episódio, mas foi o mais afetado pelas variações na qualidade dos mapas. O Sarsa realizou

uma aprendizagem que resultava na trajetória mais segura e, com isso, seu desempenho estava

menos sujeito a variações devido à qualidade dos mapas. O Peng-Williams não alcançou,

justificadamente, os resultados esperados, ainda assim conseguiu acompanhar os outros

algoritmos e até superar o Sarsa em alguns itens.

Estratégias visando tratar o problema da observabilidade parcial para melhorar o

desempenho dos algoritmos estavam fora do escopo do trabalho e ficam como sugestões para

trabalhos futuros.

VI.1 Contribuições

Uma contribuição deste trabalho foi o resultado positivo obtido por diferentes

algoritmos de aprendizagem por reforço, extensivamente estudados na literatura, quando

aplicados a uma tarefa de navegação robótica real.

Até o momento da elaboração desta dissertação, poucos experimentos haviam sido

divulgados pela comunidade acadêmica utilizando-se o robô Magellan, apesar de os

algoritmos de aquisição de mapas e de aprendizagem por reforço serem bem estudados e

testados inclusive em sistemas reais.

Outra contribuição deste trabalho está em indicar um caminho que permite a

integração em um mesmo experimento de um método para aquisição de mapas cognitivos de

ambientes reais e sua utilização como base para testes de algoritmos de aprendizagem por

reforço. Isto aponta para a possibilidade de tornar os experimentos de aprendizagem em robôs

móveis reais verdadeiramente autônomos, isto é, sem a interferência ou a introdução de

conhecimentos prévios a respeito do ambiente em que será testado o robô pelo pesquisador.

Nos experimentos descritos neste trabalho, a única informação prévia externamente

introduzida foi referente à tarefa a ser realizada, no caso, seguir uma fonte de luz simulada

Page 89: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

87

artificialmente, facilmente substituível por um fonte de luz verdadeira ou outra tarefa

específica.

VI.2 Trabalhos Futuros

Diversas possibilidades de trabalhos futuros podem ser vislumbradas a partir dos

resultados experimentais apresentados nesta dissertação.

Quanto ao algoritmo de aquisição de mapas cognitivos, uma possibilidade para futuros

trabalhos diz respeito à melhoria dos mapas adquiridos. Pode-se aprimorar a rede neuronal

utilizada com outros casos de treinamento, de modo a utilizar mais sensores e tornando-a

menos suscetível aos erros de leitura. Sugere-se a repetição da experiência utilizando uma

resolução de grade local e uma distância de aproximação (parâmetro empírico baseado nas

leituras dos sonares) para modelagem de limite de obstáculos diferentes, uma vez que a

precisão das partições depende desses dois fatores. Outra sugestão é testar o algoritmo

modelando ambientes maiores, o que permitiria observar a provável diminuição do erro das

áreas mal modeladas relativo à área total.

Uma outra possibilidade para trabalhos futuros envolve a investigação mais profunda

dos algoritmos de aprendizagem por reforço, buscando os melhores parâmetros para cada

algoritmo, ou testando variações de algoritmos específicos que tentam tratar o problema da

observabilidade parcial dos estados. No caso dos traços de elegibilidade que foram bastante

prejudicados nos experimentos, a estratégia de substituição de traços (replacing traces)

poderia ser facilmente implementada.

Finalmente, uma possibilidade para extensão deste trabalho é a implementação de uma

estratégia confiável de localização para o robô Magellan, utilizando, por exemplo, algoritmos

de localização por pontos de referência e outros sensores como bússola, infra-vermelhos, laser

ou câmera. Isto tornaria viável a realização dos experimentos inteiramente no sistema real,

deixando o emprego do simulador apenas para testes preliminares e depuração dos algoritmos.

Page 90: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

88

Referências [1] ARLEO, Ângelo, MILLÁN, José del R. e FLOREANO, Dario. Efficient Learning of

Variable-Resolution Cognitive Maps for Autonomous Indoor Navigation. IEEE

Transactions of Robotics and Automation. v. 15, n. 6, p. 990-1000, Dezembro, 1999.

[2] BELLMAN, R. E. Dynamic Programming. Princeton: Princeton University Press, 1957.

[3] COHN, D. A. Neural network exploration using optimal experiment design. Neural

Networks, vol. 9, p. 1071-1083, 1996.

[4] CHRISMAN, L. Reinforcement learning with perceptual aliasing: The perceptual

distinctions approach. In Procs. of the 10th National Conf. on artificial Intelligence, p.

183-188, 1992.

[5] ELFES, A. Sonar-based real-world mapping and navigation. IEEE Journal of Robotics

and Automation, RA-3(3):249-265, Junho, 1987.

[6] FACELI, Katti. Combinação de Métodos de Inteligência Artificial para Fusão de

Sensores. Dissertação de Mestrado. São Carlos: USP, 2001.

[7] GOODMAN, Philip H. NevProp software, version 3. Reno: University of Nevada, 1996.

URL: http://www.scs.unr.edu/nevprop/

[8] HAYKIN, Simon. Neuronal networks: a comprehensive foundation. 2ª ed. New Jersey:

Prenctice-Hall Inc., 1999.

[9] IS ROBOTICS, Inc. Magellan Pro Compact Mobile Robot User’s Guide. USA: Real

World Interface Division, 2000.

[10] K-TEAM. Khepera, User Manual. Version 5.02. Laussane: Março, 1999. URL:

http://www.k-team.com

[11] KONOLIGE, Kurt. Saphira Operations and Programming Manual Version 6.2.

ActivMedia Robotics, Agosto, 1999. Downloadable from WWW address

http://www.amigobot.com/amigo/sim.html

Page 91: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

89

[12] KONOLIGE, K. e MYERS, K. L. The Saphira Architecture for Autonomous Mobile

Robots. In AI-based Mobile Robots: Case studies of successful robot systems. MIT Press,

1996.

[13] LOVEJOY, William S. A survey of algorithmic methods for partially observed

Markov decision processes. Annals of Operations Research, n. 28:47-66, 1991.

[14] MICHEL, O. Khepera Simulator Package version 2.0. University of Nice Sophia-

Antipolis, 1996. Downloadable from WWW address http://wwwi3s.unice.fr/~om/khep-

sim.html.

[15] MITCHELL, Tom M. Machine Learning. Singapore: McGraw-Hill, 1997.

[16] MORAVEC, H. P. Sensor fusion in certainty grids for mobile robots. Artificial

Intelligence, v. 9, p. 61-74, 1988.

[17] MURPHY, Robin R. Introduction to AI Robotics. Massachusetts: The MIT Press,

2000.

[18] NEHMZOW, Ulrich. Mobile Robotics: a practical introduction. Londres : Springer-

Verlag, 2000.

[19] PENG, J. e WILLIAMS, R. J. Incremental multi-step Q-learning. In W. W. Cohen e H.

Hirsh (eds.), Proceedings of the Eleventh International Conference on Machine Learning,

p. 226-232. San Francisco: Morgan Kaufmann, 1996.

[20] PRESS, W. H., TEUKOLSKY, S. A., VETTERLING, W. T., e FLANNERY, B. P.

Numerical recipes in C. Cambridge: Cambridge Univ. Press, 1992.

[21] RIBEIRO, C. H. C. A Tutorial on Reinforcement Learning Techniques. CD-ROM

textbook version of the Supervised Learning track tutorials of the 1999 International Joint

Conference on Neuronal Networks. Washington: INNS Press, Julho, 1999.

[22] RIBEIRO, C. H. C. Embedding a priori knowledge in reinforcement learning. Journal

of Intelligent and Robotic Systems, n. 21 (1): 51-71, 1998.

Page 92: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

90

[23] RUMMERY, G.A., e NIRANJAN, M. On-line Q-learning using connectionist

systems. Technical Report CUED/F-INFENG/TR 166. Massachusetts: Engineering

Department, Cambridge University, 1994.

[24] SINGH, S. P., e SUTTON, R. S. Reinforcement learning with replacing eligibility

traces. Machine Learning, n. 22:123-158, 1996.

[25] SUTTON, R. S., e BARTO, A. G. Reinforcement Learning: An Introduction.

Massachusetts: MIT Press, 1998.

[26] SUTTON, R. S. Integrated architectures for learning, planning, and reacting based on

approximating dynamic programming. In Proceedings of the Seventh International

Conference on Machine Learning, p. 216-224. San Mateo: Morgan Kaufmann, 1990.

[27] THRUN, Sebastian. Learning maps for indoor mobile robot navigation. Artificial

Intelligence, v. 99, p. 21-71, 1998.

[28] WATKINS, C. J.C.H., e DAYAN, P. Q-learning. Machine Learning, n. 8(3/4):279-

292, 1992.

[29] WHITEHEAD, Steven D. e BALLARD, Dana H. Learning to perceive and act by trial

and error. Machine Learning, n. 7:45-83, 1991

Page 93: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

xci

Apêndice A Exemplo de Arquivos da Rede Neuronal para simulador NevProp3

A.1 Arquivo de parâmetros de entrada para treinamento da rede neuronal

FileFormat 3.0 # Treinamento para grid local do robo Magellan # por Sildomar Takahashi Monteiro # em Setembro/2001 # # NP FILE SETTINGS ResultsFile gridlocmag.res # ReadWeightsFile gridlocmag.wts SaveWeightsFile gridlocmag.wts # SaveTrainPrdFile gridlocmag.ptr # SaveTrainImputFile gridlocmag.itr # SaveTestImputFile gridlocmag.its SaveTestPrdFile gridlocmag.pts # DATA FILE SETTINGS ReadTrainFile gridlocmag.trn ReadTestFile gridlocmag.tst NHeaders 1 IDColumn NO StandardizeInputs 0 SaveStandWts NO InputColumns 1 2 3 4 OutputColumns 5 NVars 5 ShuffleData 0 # REPORTING SETTINGS DescribeVars YES NBoots 2 NEffectBoots 0 CalccIndex YES ScoreThreshold 0.5 OutputStatVars 0 # CONNECT CALLS Connect 1 4 5 8 Connect 5 8 9 9 # CONFIGURATION SETTINGS Ninputs 4 Nhidden 4 Noutputs 1 kNN 0 1ofN NO HiddenUnitType 1 OutputUnitType 2 WeightRange 0.001 # TRAINING SETTINGS TrainCriterion 2 BiasPenalty NO WeightDecay -0.001 OptimizeMethod 1 SigmoidPrimeOffset 0.0 QPMaxFactor 1.75 QPModeSwitchThreshold 0.0 Stochastic NO LearnRate 0.01 SplitLearnRate NO Momentum 0.01 # BEST-BY-HOLDOUT SETTINGS PercentHoldout 25 AutoTrain YES MinEpochs 200 BeyondBestEpoch 1.5 NSplits 10 SepBootXVal YES # AUTOMATIC RELEVANCE DETERMINATION SETTINGS UseARD FULL WhenARD auto ARDTolerance 0.02 ARDFreq auto GroupSelection Input BiasRelevance NO ARDFactor 1.0

Page 94: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

xcii

A.2 Arquivo de saída do treinamento da rede neuronal ###### NevProp (NP4r1) started on Tue Nov 13 20:26:55 2001 ... SEED=1005690415 using lrand48(),srand48() ... Read in 1777 TRAIN CASES [bottom 444 cases (24%) to a holdout subset] · · · ########### Descriptive Statistics on Output (Dependent) Variables ############ ------------------------------------------------------------------------------- variable n unique mean ^^^^^^^^^ ^^^^^^^^^ ^^^^^^ ^^^^^^ 1. Ocup 1777 2 0.3652 0.00( 1128, 63.5%) 1.00( 649 36.5%) ------------------------------------------------------------------------------- ########### Descriptive Statistics on Input (Predictor) Variables ############# ------------------------------------------------------------------------------- variable n missing unique mean ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^ ^^^^^^ 1. S1 1777 0 680 0.7841 percentile: 0.05 0.10 0.25 0.50 0.75 0.90 0.95 value: 0.2431 0.3540 0.5915 0.9340 1.0000 1.0000 1.0000 lowest: 0.1000 0.1000 0.1000 0.1000 0.1000 highest: 1.0000 1.0000 1.0000 1.0000 1.0000 ------------------------------------------------------------------------------- variable n missing unique mean ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^ ^^^^^^ 2. S2 1777 0 671 0.7919 percentile: 0.05 0.10 0.25 0.50 0.75 0.90 0.95 value: 0.2396 0.3699 0.6014 0.9593 1.0000 1.0000 1.0000 lowest: 0.1000 0.1000 0.1000 0.1000 0.1000 highest: 1.0000 1.0000 1.0000 1.0000 1.0000 ------------------------------------------------------------------------------- variable n missing unique mean ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^ ^^^^^^ 3. Dist 1777 0 51 0.5535 percentile: 0.05 0.10 0.25 0.50 0.75 0.90 0.95 value: 0.2264 0.2574 0.4138 0.5712 0.6792 0.8132 0.8839 lowest: 0.1275 0.1275 0.1275 0.1275 0.1275 highest: 0.9546 0.9546 0.9546 0.9546 0.9546 ------------------------------------------------------------------------------- variable n missing unique mean ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^ ^^^^^^ 4. Ang 1777 0 76 0.4306 percentile: 0.05 0.10 0.25 0.50 0.75 0.90 0.95 value: 0.0000 0.0000 0.1018 0.3303 0.7523 0.8800 0.9350 lowest: 0.0000 0.0000 0.0000 0.0000 0.0000 highest: 0.9852 0.9852 0.9852 0.9852 0.9852 ------------------------------------------------------------------------------- ####################### End of Descriptive Statistics ######################### ######################### Start of Model Fitting ############################ Start of Phase I: Find TRAIN-SUBSET error at best HOLDOUT-SUBSET criterion. ___TRAIN-SUBSET_( 1333)___ __HOLDOUT-SUBSET_( 444)__ Train LrnRat AvSqWt APnCrEn ACrEn AThEr 1-c APnCrEn ACrEn AThEr 1-c Epoch (e-3) (e-3) (e-3) (e-3) (e-3) (e-3) (e-3) (e-3) (e-3) (e-3) ------- ------ ------ ------- ------- ----- ----- ------- ------- ----- -----

Page 95: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

xciii

0 10.000 0.0004 693.273 693.273 637.7 251.1 693.265 693.265 626.1 213.9 200 2.9070 5368.2 314.727 314.687 92.27 6e+01 283.905 283.784 85.59 49.23 400 3.0455 7267.7 296.155 296.100 79.52 58.97 268.062 267.898 85.59 48.91 600 3.1906 10004. 267.002 266.927 78.02 52.60 243.412 243.187 78.83 43.86 800 3.8997 16491. 196.759 196.635 66.77 22.95 183.348 182.977 58.56 19.57 1000 3.5019 27106. 111.007 110.803 39.76 0.960 107.123 106.513 31.53 1.409 1200 4.2801 37661. 67.8288 67.5462 18.75 0.019 65.6950 64.8468 15.77 0.022 1400 4.4840 47428. 44.8377 44.4819 9.752 0.000 43.6400 42.5718 9.009 0.000 · · · 5000 85.419 152498 1.83175 0.68773 0.000 0.000 4.20620 0.77157 9e-15 0.000 (Up to) 10 BEST reports on HOLDOUT-SUBSET using Best-By criterion graphed: Epochs APCE (e-3) BEST <---- APnCrEn ----> WORST ------- --------- |-----------------------------------| 3200 6.2133437 ************************************* 3400 5.6626773 *************************** 3600 5.2642054 ******************* 3800 4.9656918 ************** 4000 4.7379495 ********** 4200 4.5625078 ******* 4400 4.4327243 ***** 4600 4.3356274 *** 4800 4.2627254 ** 5000 4.2062043 * *-----------------------------------------------------------------------------* For split #1 of 10, target error = 0.001832 from Epoch 5000. · · · REACHED TARGET ERROR = 0.002878 at Epoch 3800 *-----------------------------------------------------------------------------* Returning trained network from Epoch 3800. · · · ******************************************************************************* ... Weights saved to "gridlocmag.wts" ... Predictions saved to "gridlocmag.pts" On TEST SET (nCases=650; nOutputs=1): ACrEn=0.00151 R2-N=0.999 ASqEr=1.11e-05 AThEr= 0.00 C index=1.000 Key to indexes: ^^^^^^^^^^^^^^^ ACrEn (avg -log likelihood): max likelihood objective function (BEST=0). Nag-R2: 0-1 measure of uncertainty explained by the model (BEST=1). (A monotonic, but nonlinear transformation of the ACrEn.) ASqEr (Brier Score): joint error in calibration & discrimination (BEST=0). AThEr: fraction misclassified, outside ScoreThreshold*[dichot range] (BEST=0). C index (area under ROC curve): .5-1 nonparam discrimination measure (BEST=1). ********************************************************************** NevProp completed on Tue Nov 13 23:52:59 2001

Page 96: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

xciv

A.3 Arquivo de saída com os pesos obtidos da rede neuronal EpochSaved 3800 5 0 -4.65428 5 1 5.17 5 2 4.88979 5 3 -7.92122 5 4 0.632257 6 0 1.23035 6 1 16.8454 6 2 -2.97192 6 3 -14.3512 6 4 2.40182 7 0 -4.02739 7 1 6.3745 7 2 4.36639 7 3 -7.19874 7 4 -4.19361 8 0 2.77918 8 1 -2.61887 8 2 17.6797 8 3 -14.8748 8 4 -1.90044 9 0 3.11941 9 5 -10.8474 9 6 -23.658 9 7 -11.2034 9 8 -22.9575 TrainingPrior for output 1 is 0.365222

Page 97: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

xcv

Apêndice B Arquivo de parâmetros do robô Magellan Pro para o simulador Saphira ;; ;; Parameters for the Magellan robot ;; by Sildomar - March/2002 ;; Class Magellan Subclass ;; Base conversions ;; AngleConvFactor 0.001534 ; radians per angular unit (2PI/4096) DistConvFactor 1.0 ; mm returned by P2 VelConvFactor 1.0 ; mm/sec returned by P2 RobotRadius 203.0 ; radius in mm RobotDiagonal 90.0 ; half-height to diagonal of octagon Holonomic 1 ; turns in own radius MaxRVelocity 270.0 ; degrees per second MaxVelocity 2500.0 ; mm per second RangeConvFactor 0.268 ; sonar range returned in mm ;; These are for 16 sonars, spaced evenly around the body ;; ;; Sonar parameters ;; SonarNum N is number of sonars ;; SonarUnit I X Y TH is unit I (0 to N-1) description ;; X, Y are position of sonar in mm, TH is bearing in degrees ;; SonarNum 16 FrontBuffer 100 SideBuffer 100 ; number of echoes to keep ;; # x y th ;;------------------------- SonarUnit 0 0 0 0 SonarUnit 1 0 0 22.5 SonarUnit 2 0 0 45 SonarUnit 3 0 0 67.5 SonarUnit 4 0 0 90 SonarUnit 5 0 0 112.5 SonarUnit 6 0 0 135 SonarUnit 7 0 0 157.5 SonarUnit 8 0 0 180 SonarUnit 9 0 0 -157.5 SonarUnit 10 0 0 -135 SonarUnit 11 0 0 -112.5 SonarUnit 12 0 0 -90 SonarUnit 13 0 0 -67.5 SonarUnit 14 0 0 -45 SonarUnit 15 0 0 -22.5

Page 98: Estudo de Desempenho de Algoritmos de Aprendizagem sob ... · Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como um agente autônomo pode aprender

FOLHA DE REGISTRO DO DOCUMENTO

1. CLASSIFICAÇÃO/TIPO

TM

2. DATA

07 Junho 2002

3. DOCUMENTO N°

CTA/ITA-IEC/TM-002/2002

4. N° DE PÁGINAS

95

5. TÍTULO E SUBTÍTULO:Estudo de Desempenho de Algoritmos de Aprendizagem sob Condições de Ambigüidade Sensorial

6. AUTOR(ES):

Sildomar Takahashi Monteiro

7. INSTITUIÇÃO(ÕES)/ÓRGÃO(S) INTERNO(S)/DIVISÃO(ÕES): Instituto Tecnológico de Aeronáutica. Divisão de Ciência da Computação – ITA/IEC

8. PALAVRAS-CHAVE SUGERIDAS PELO AUTOR:

Aprendizagem por Reforço, Aprendizagem de Mapas, Redes Neurais, Robôs Móveis Autônomos,Inteligência Artificial

9.PALAVRAS-CHAVE RESULTANTES DE INDEXAÇÃO:

Redes neurais; Aprendizagem; Algoritmos; Robôs; Avaliação de desempenho; Cinemática; Inteligênciaartificial; Computação10. APRESENTAÇÃO: X Nacional Internacional

ITA, São José dos Campos, 2002. 95 páginas 11. RESUMO:

Algoritmos de aprendizagem autônoma têm sido propostos para lidar com a questão de como umagente autônomo pode aprender a realizar uma tarefa simples apenas interagindo com o seu ambiente.Existem muitos trabalhos apresentando resultados significativos, porém, apenas em simulação, o quefreqüentemente leva a críticas desfavoráveis a respeito da validade dos resultados obtidos. Aspectosinerentes ao mundo real são ignorados, dificultando a análise dos algoritmos sob condições suscetíveisao problema.

A proposta desta dissertação é analisar a sensibilidade de tais algoritmos a situações de ambigüidadede estados comumente produzidas pela baixa capacidade sensorial de robôs móveis. Tal sensibilidade éproduzida pela quebra de uma condição teórica (condição de Markov) importante para garantia deconvergência de tais algoritmos, mas as conseqüências práticas desta violação sobre sistemas reais nãoestão bem estabelecidas na literatura. Os algoritmos de aprendizagem alvos deste estudo foram: Q-learning, Sarsa e Peng-Williams. As experiências foram realizadas em simulação e em sistemas reaisutilizando dois robôs: o mini-robô Khepera e o robô Magellan. Durante os experimentos com o Magellan,implementou-se um método para gerar mapas cognitivos do ambiente com resolução variável, de modo aproduzir um verificador de desempenho dos algoritmos de aprendizagem.

Verificou-se que os algoritmos de aprendizagem implementados apresentaram desempenho satisfatórionos sistemas reais, apesar de perder um pouco a sua eficiência devido à ambigüidade dos estados,proveniente de características inerentes ao mundo real ou introduzida artificialmente. O algoritmo Q-learning obteve o melhor desempenho geral durante os experimentos, seguido pelo Sarsa. O algoritmoPeng-Williams teve seu desempenho prejudicado pelos parâmetros da experiência. O método paraaprendizagem de mapas cognitivos mostrou-se eficiente e permitiu avaliação adequada dos algoritmos. 12. GRAU DE SIGILO:

(X ) OSTENSIVO ( ) RESERVADO ( ) CONFIDENCIAL ( ) SECRETO