Upload
dotuyen
View
216
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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.
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.
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.
x
Dedicatória
Dedico este trabalho a meus pais, Sildomar e Laura.
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
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.
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.
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
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
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].
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
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:
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.
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
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
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'
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
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λ
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
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
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
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;
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.
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)
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
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
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
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 θ
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)
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 .
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
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
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,
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.
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.
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.
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
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
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
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
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.
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
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)
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)
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.
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.
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
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
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
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
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
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
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.
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
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
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ô
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.
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)
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ô.
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)
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
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.
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)
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.
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)
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)
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
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)
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)
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)
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)
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)
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)
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.
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
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
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
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].
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
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
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.
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
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.
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
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
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) ------- ------ ------ ------- ------- ----- ----- ------- ------- ----- -----
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
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
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
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