• Nenhum resultado encontrado

Uma Nova Metodologia para Avaliação de Desempenho de Algoritmos Baseados em Aprendizagem por Reforço

N/A
N/A
Protected

Academic year: 2021

Share "Uma Nova Metodologia para Avaliação de Desempenho de Algoritmos Baseados em Aprendizagem por Reforço"

Copied!
14
0
0

Texto

(1)

SEMISH XXXIII Seminário Integrado de Software e Hardware l

14 a 20 de julho de 2006 Campo Grande, MS Anais do XXVI Congresso da SBC

Uma Nova Metodologia para Avaliação de Desempenho de

Algoritmos Baseados em Aprendizagem por Reforço

Richardson Ribeiro, Alessandro L. Koerich, Fabrício Enembreck Programa de Pós-Graduação em Informática Aplicada (PPGIA)

Pontifícia Universidade Católica do Paraná Rua Imaculada Conceição, 1155, CEP 80215-901

Curitiba, Paraná – Brasil

{richard,alekoe,fabricio}@ppgia.pucpr.br

Abstract. This paper presents a novel methodology to evaluate the

performance of adaptive autonomous agents. Measuring the performance of a learning agent is not a trivial task and it generally requires lengthy simulations as well as knowledge about the domain. A generic evaluation methodology has been developed to precisely evaluate the performance of the Q-learning algorithm and estimation policy techniques based on instances learning. The experiments results achieved by the proposed methodology have been satisfactory, since they have allowed us to evaluate the performance of the learning algorithms without needing long learning cycles and requiring few adjustments of the learning parameters of the algorithms

Resumo. Este artigo apresenta uma nova metodologia para avaliação de

desempenho de agentes autônomos adaptativos. Medir o desempenho de um agente de aprendizagem é uma tarefa nada trivial e geralmente requer longas simulações bem como conhecimento do domínio. Uma metodologia genérica de avaliação foi desenvolvida para avaliar precisamente o desempenho do algoritmo Q-learning e de técnicas de estimação de políticas baseadas em aprendizagem por instâncias. Os experimentos com a metodologia proposta foram altamente satisfatórios, pois nos permitiram avaliar o desempenho dos algoritmos sem necessitar de longos ciclos de aprendizagem e nem tão pouco exaustivas configurações dos parâmetros de aprendizagem.

1. Introdução

A aprendizagem por reforço (AR) é um paradigma computacional de aprendizagem em que um algoritmo busca maximizar uma medida de desempenhobaseado nos reforços (recompensas ou punições) que recebe ao interagir com um ambiente desconhecido (Ribeiro 1999). Para isso, agentes inteligentes são inseridos nesses ambientes com a capacidade de perceber e agir de modo autônomo, para atingirem objetivos ou executar tarefas para os quais tenham sido modelados (Maes 1995).

Na literatura são encontrados diversos trabalhos que abordam AR e descrevem diferentes aplicações no uso de agentes inteligentes (Tesauro 1995) (Kaelbling 1996) (Mitchell 1997) (Sutton e Barto 1998) (Russel e Norvig 2004).

A avaliação de políticas de ações em sistemas baseados em aprendizagem é uma tarefa complexa devido à falta de mecanismos genéricos que permitem medir o desempenho de um agente de aprendizagem sem necessitar do conhecimento do domínio do problema (ou independentemente do domínio do problema). Além disso, as

(2)

técnicas existentes não permitem que políticas de ações sejam avaliadas em diferentes ambientes.

O objetivo deste trabalho é desenvolver uma nova metodologia genérica para avaliar o desempenhode agentes autônomos adaptativos que utilizam algoritmos de AR para melhorar seu comportamento em função de experiências anteriores. Essa metodologia permite que o desempenho de um agente seja estimado sem que longos períodos de simulação e conhecimento do domínio sejam necessários.

Neste artigo mostramos que mesmo em ambientes complexos é possível utilizar uma metodologia que consegue analisar o desempenho de algoritmos baseados em aprendizagem por reforço. A intenção é provar a capacidade de adaptação de um agente em ambientes parcialmente conhecidos e avaliar seu desempenho durante sua fase de aprendizagem.

Este artigo está organizado da seguinte maneira: a Seção 2 apresenta algumas metodologias propostas para avaliar o desempenho da aprendizagem em diferentes classes de problemas. A metodologia de avaliação proposta para analisar o desempenho de algoritmos baseados em aprendizagem é apresentada na Seção 3. Nesta Seção apresentamos também uma discussão sobre os algoritmos Q-learning e K-NN (K Nearest-Neighbor), e a descrição do ambiente simulado. A Seção 4 apresenta os resultados obtidos com os algoritmos Q-learning e K-NN e uma comparação entre essas técnicas, demonstrando e validando a metodologia proposta. Finalmente, na última Seção apresentamos nossa conclusão e perspectivas para trabalhos futuros.

2. Mecanismos de Avaliação de Políticas

Medir o desempenho de um agente de aprendizagem é uma tarefa nada trivial. O desempenho de um agente pode ser medido conforme suas tarefas propostas e principalmente quanto ao objetivo almejado. Para isso, são utilizadas algumas medidas como velocidade de convergência para o comportamento ótimo ou quase-ótimo, reforços totais obtidos pelo agente e percentual de otimalidade (Kaelbling 1996).

Ernst et al. (2005) cita em seu trabalho uma métrica de qualidade da solução produzida por um agente, como mecanismo para avaliar o desempenho dos algoritmos de aprendizagem por reforço. Para isso é utilizada uma política estacionária que calcula os valores esperados e os compara com os algoritmos de regressão (KD-tree, CART, Tree Bagging) sobre um conjunto de exemplos de estados iniciais escolhidos de um conjunto de instâncias gerados com o algoritmo Q-learning. Assim, é calculada a média do valor esperado da política estacionária sobre o conjunto de estados iniciais.

No trabalho de Monteiro e Ribeiro (2004) foi implementado um método para criar mapas cognitivos que consistia de um conjunto de partições de resolução variável, que dividia o ambiente em subáreas de diferentes tamanhos e que representava regiões sensorialmente homogêneas correspondentes a modelos locais que representam o conhecimento do agente sobre as regiões, e finalmente, combinava os paradigmas métricos e topológicos para analisar o desempenho dos algoritmos de aprendizagem baseados em reforço. Neste trabalho a tarefa do agente foi partir de um ponto de referência inicial e aprender uma trajetória de navegação de modo a atingir um ponto alvo, e ao mesmo tempo, desviar dos obstáculos do ambiente. Com isso, eram obtidos pelo agente, valores que serviam como base para os estudos das simulações dos algoritmos e posteriormente as avaliações com os algoritmos propostos pelo autor.

(3)

Ramon (2005) propôs o uso de árvores de decisão para encontrar uma aproximação da função Q para garantir a convergência em uma política ótima. É proposto um algoritmo de aprendizagem que gera uma nova estimativa Q’ a partir de uma estimativa precedente Q. O autor emprega três tipos diferentes para avaliação de performance. Primeiramente, há a quantidade Q’(s, a) atualizada que se quer obter. Segundo, há uma estimativa q~(s,a) de Q’ que é medida durante a exploração executada pelo algoritmo. Terceiro, q~(c) em que c ⊆ SxA, que é uma média da função q~ sobre

uma abstração c, onde S é o conjunto de estados e A o conjunto de ações. O algoritmo proposto pelo autor armazena na memória os valores da terceira opção de forma a gerar estatísticas. Assim, é anotada uma média de tempo obtida pelo agente até seu objetivo e então relatado uma recompensa sempre depois do sucesso do episódio.

Observa-se no trabalho de Levner et al. (2002) o uso de uma função de valor heurístico, que avalia o desempenho do agente calculando os estados previstos por V~* e selecionando um operador que conduz ao estado mais promissor sendo V~* o valor ótimo da função.

Entretanto, estas políticas geralmente não possuem a eficiência esperada devido à diversidade de classes de problemas existentes. Além disso, elas requerem demasiado conhecimento do domínio para definir heurísticas relacionadas ao domínio do problema. Apesar disso, observa-se uma certa carência de trabalhos que tratem de mecanismos genéricos de avaliação em problemas que envolvem aprendizagem por reforço. Essa foi a principal motivação para o desenvolvimento da metodologia proposta neste artigo que é detalhada nas seções seguintes.

3. Metodologia Proposta

Nossa metodologia propõe analisar o desempenho de algoritmos baseados em aprendizagem por reforço. Esta metodologia calcula o desempenho de uma agente autônomo adaptativo simulado em uma ambiente de tráfego urbano, cujos detalhes serão apresentados dentro desta Seção. Para isso aplicamos o algoritmo Q-learning e o algoritmo K-NN. Utilizamos como referência na nossa metodologia o algoritmo chamado de A* (A - estrela), pois a busca pela melhor solução será ao mesmo tempo completa e ótima (Russel e Norvig 2004).

Uma vez que o A* produz a melhor política possível para uma dada heurística, a avaliação (medida de qualidade) entre políticas descobertas por algoritmos diferentes de aprendizagem pode ser feita comparando-as com a política do A*. Pode-se assim afirmar, que esta metodologia é capaz de demonstrar a proximidade que o agente simulado se encontra da política ótima. Chamamos de política ótima o máximo de acertos que o agente pode obter em um dado ambiente (Q*, K*). Um acerto é obtido quando o agente tem a capacidade de encontrar seu objetivo com seus custos otimizados. Os custos são divididos em: quantidade de passos que o agente leva para alcançar seu estado-meta; somatória dos custos existentes nos caminhos formados a partir de cada estado inicial até o estado-meta.

Para aplicar nossa metodologia na avaliação de desempenho dos algoritmos de aprendizagem, inserimos o agente em um ambiente parcialmente conhecido e ajustamos os parâmetros para cada situação possível aos estados iniciais. Em seguida, definimos os

(4)

valores para os parâmetros de aprendizagem do agente. Assim, é possível analisar a eficiência dos algoritmos analisando seus gráficos de aprendizagem.

A seguir, é apresentado o pseudocódigo que avalia o desempenho dos algoritmos Q-leaning e K-NN.

Figura 1. Pseudocódigo do algoritmo de avaliação de desempenho

Figura 2. Pseudocódigo do algoritmo de avaliação de uma política P

As Figuras 1 e 2 apresentam o pseudocódigo de avaliação de desempenho do algoritmo que compara a eficiência do algoritmo Q-learning e um algoritmo X de estimação de política. A Figura 1 mostra que a cada iteração é aplicada uma função de avaliação que computa a política atual. O passo 3 do algoritmo Avaliacao_algoritmo_X é usado para gerar novas políticas derivadas de PQ. Finalmente, a eficiência de PX é computada e o processo continua até alcançar uma condição de parada. A Figura 2 apresenta o algoritmo usado para medir a eficiência de uma dada política P. A função custo é utilizada para encontrar o melhor caminho entre os estados s e s_meta a partir de uma dada política.

3.1 Algoritmo Q-learning

O algoritmo Q-learning permite estabelecer de maneira autônoma uma política de ações iterativamente. Pode-se demonstrar que o algoritmo Q-learning converge para um

Algoritmo Politica_avaliacao(P)

1 Inicialize Acerto=0, Erro=0, CustoP=0, CustoA*=0 2 Para cada sS

CustoP = custo(s, s_meta, P); CustoA*= custo(s, s_meta, PA*); Se CustoP <= CustoA*

Acerto = Acerto+1; Senão

Erro = Erro+1;

3 Retorne (Acerto / (Acerto + Erro)) * 100 4 Fim

Algoritmo Avaliacao_algoritmo_X()

//PQ= Política de ações do algoritmo Q-learning //PX= Política de ações de um algoritmo X

1 Para um dado ambiente faça PQ=0, PX=0; 2 Para cada iteração do Q-learning repita:

eficiencia_Q_Learning = politica_avaliacao(PQ) Se condicao_parada() = falso então

Retorne ao 2 Senão

Vá ao passo 3

3 Para cada estado s aprendido pelo Q-learning repita: PX ← politica_gerada(PQ)

4 Eficiencia_X = politica_avaliacao(PX)

5 Retorne ao passo 2 se continuar aprendizagem do Q- learning

(5)

procedimento de controle ótimo, quando a hipótese de aprendizagem de pares estado-ação Q for representada por uma tabela completa contendo a informestado-ação de valor de cada par (Watkins e Dayan 1992). A fórmula da Equação 1 proposta por Waltkins e Dayan (1992), armazena os valores das recompensas das ações realizadas pelo agente em uma tabela Q.

Q(s,a)←Q(s,a)+α[r+γ.maxaQ(s,'a)−Q(s,a)] (1)

A função Q(s,a) é aprendida através de tentativa e erro, onde α é a taxa de aprendizagem, r é a recompensa, ou custo, resultante de tomar a ação a no estado s, γ é o fator de desconto e o termo maxaQ(s’,a) é a utilidade do estado s resultante da ação a,

obtida utilizando a função Q que foi aprendida até o presente. Uma boa descrição do algoritmo Q-learning é encontrada em (Sutton e Barto 1998).

3.2 Algoritmo K-NN

Os métodos de aprendizagem baseados em instâncias elaboram hipóteses diretamente a partir das próprias instâncias de treinamento. Dessa forma, o algoritmo K-NN (Aha et al. 1991), armazena instâncias de treinamento na memória como pontos no espaço n

-dimensional, definido pelos n atributos que os descrevem, e nunca mudam a

representação desses pontos. Quando uma nova instância precisa ser classificada a classe mais freqüente dentre os K vizinhos mais próximos é escolhida.

Utilizamos o algoritmo K-NN para estimar os valores da tabela de aprendizagem de um agente que utiliza o Q-learning (passo 3 da Figura 1). O algoritmo K-NN recebe como entrada um conjunto de instâncias geradas a partir de uma política de ação durante sua fase de aprendizagem. Desejamos com isso, gerar um novo conjunto de estados de aprendizagem, na tentativa de aproximar o agente de sua política ótima.

Definimos como arranjo o conjunto de instâncias gerado durante um ciclo de passos realizado pelo algoritmo Q-learning. É interessante notar que para cada estado do ambiente são geradas quatro tuplas (uma para cada ação) que representam os valores aprendidos pelo agente. Sendo assim, o nosso espaço de estados nunca muda e é independente do número de passos realizado pelo agente. Assim, cada instância de treinamento do arranjo possui os seguintes atributos: i) atributos para representação do estado na forma das recompensas esperadas para as ações: norte, sul, oeste e leste; ii) uma ação; iii) recompensa para esta ação. A Tabela 1 apresenta alguns exemplos de instâncias de treinamento.

Tabela 1. Atributos e valores do Arranjo[i...n] gerados pelo agente Q-learning

durante aprendizagem

Estado

(x,y) Norte R Sul R Oeste R Leste R Escolhida Ação Escolhida R Ação

1,1 -0.5 -0.9 -0.65 0.32 Norte -0.5

1,1 -0.5 -0.9 -0.65 0.32 Sul -0.9

1,1 -0.5 -0.9 -0.65 0.32 Oeste -0.65

(6)

1,2 -0.1 1 0.35 -0.9 Norte -0.1 . . . . . . . . . . . . . . . . . . . . .

Esses vetores serão comparados com uma função de similaridade (co-seno) e em seguida, as instâncias mais próximas serão encontradas. A Equação 2 descreve como o K-NN pode ser utilizado para gerar os valores estimados para o arranjo formado pelas instâncias de treinamento: K PQ a s Ktable K i i (.,.) ) , ( =1 (2) onde Ktable( as, ) representa os valores de recompensa estimados para um dado estado s e

uma ação a, K representa o número de vizinhos utilizados e PQi(.,.) representa um dos vizinhos mais próximos existentes no conjunto de instâncias de treinamento gerados à partir da política PQ .

Utilizamos nos experimentos diferentes maneiras dos arranjos com o algoritmo K-NN, na intenção de encontrar os melhores conjuntos de treinamento durante a fase de aprendizagem.

Inicialmente, utilizamos o arranjo completo do aprendizado adquirido pelo agente na seleção dos vizinhos mais próximos – A[n]. Em seguida foram utilizados os

arranjos formados por um número N de ciclo realizado pelo agente - A[n(ciclos)],

apontamos que cada ciclo realizado pelo agente gera um novo arranjo. Na seqüência testamos a eficiência somente com o arranjo formado pelo último ciclo de aprendizagem do agente – A[n(last)]. E finalmente, observamos a eficiência do agente utilizando o

último arranjo adquirido pelo agente calculado sobre o último arranjo estimado pelo algoritmo K-NN – A[n(last), n(K-NN)]. Os resultados são apresentados na Seção 4.

3.3 O Ambiente Simulado

O ambiente virtual apresentado ao agente possui seis características de comportamento de trânsito: livre, pouco congestionado, congestionado, muito congestionado, bloqueado e desconhecido. Cada comportamento tem um valor que representa o comportamento do ambiente em um determinado estado. Em cada estado o agente terá um conjunto de ações (movimentos) a serem tomados. Estas ações são representadas pelos seguintes movimentos: para frente, para trás, para direita e para esquerda. Após cada movimento (transição) o agente passará a ter um novo estado apresentado pelo ambiente e novas ações poderão ser tomadas. O agente saberá se a sua ação foi positiva ou negativa através de recompensas atribuídas pelo ambiente. A Equação 3 descreve o estado atual s atualizado pelo próximo estado somado a uma recompensa r.

Q(s,a)←∂(s,'a')+r (3) Em cada iteração, o agente recebe como entrada o estado atual do ambiente. Então, o agente escolhe uma ação gerada como saída indicada por a. Cada ação, muda o estado do ambiente e o valor desta transição de estado ∂ é calculado pelo agente por um sinal de reforço escalar. O agente deve escolher ações que tendem a aumentar, ao longo

(7)

do tempo, a soma dos valores do sinal de reforço r. Ele pode aprender a fazer isto com o passar do tempo através da sistemática tentativa e erro enquanto interage com o ambiente. Assim, o agente saberá se a sua ação foi positiva ou negativa através da mudança do comportamento do ambiente (trânsito). Se o agente encontra-se em um estado de trânsito congestionado e após a sua ação passou ao estado pouco congestionado, então ele recebe uma recompensa positiva, mas se a ação levou-o a um comportamento muito congestionado, este então, recebe uma recompensa negativa. A seguir apresentamos os resultados dos experimentos realizados.

4. Experimentos

4.1 Resultados do Q-learning

Os experimentos realizados com o algoritmo Q-learning avaliam sua eficiência considerando fatores como: o número de iterações necessárias para o agente atingir sua melhor eficiência; a política de qualidade de recompensas; variações na taxa de aprendizagem; fator de desconto e os valores das recompensas para as condições de congestionamento. Sendo assim, serão apresentados a seguir os experimentos realizados que permitiram identificar a importância de cada um destes fatores.

Para obtenção dos resultados da eficiência dos algoritmos, foram utilizadas 10 amostras diferentes para cada tipo de experimento. O aprendizado em cada amostra foi realizado 20 vezes por cada algoritmo, pois se observa que fazendo experimentos em um mesmo ambiente, com fatores iguais, podem ocorrer variações nas eficiências geradas pelos algoritmos. Isto ocorre porque as ações do agente são autônomas e os valores gerados durante sua aprendizagem são estocásticos. Portanto, a política de ações do agente pode variar de um experimento para outro. Com isso, as eficiências apresentadas nas tabelas representam a média de todos os experimentos gerados nas 10 amostras em 20 repetições. Esse número de repetições foi suficiente para avaliar com precisão a eficiência média1 dos algoritmos, pois observamos que a partir deste número,

os resultados dos experimentos começavam a se repetir.

4.1.1 Número de passos necessários para atingir a melhor eficiência

Foram realizados experimentos em ambientes de tamanho entre 16 e 64 estados, pois se observa em outros trabalhos que esses ambientes são os mais estudados pela comunidade cientifica (Harmon e Harmon 1996) (Sutton e Barto 1998) (Ribeiro 1999) (Abramson e Wechsler 2001) (Andre e Russell 2002). Nos primeiros testes realizados, observou-se que para cada tamanho de ambiente testado, o agente alcançava sua melhor eficiência em um determinado número de passos. A Figura 4 apresenta um comparativo entre: eficiência, quantidade de estados e quantidade de passos. É possível apontar que para ambientes menores que 25 estados são necessários aproximadamente 500 passos para conseguir sua melhor eficiência. Para ambientes de até 81 estados observamos que é preciso por volta de 5000 passos. Ambientes acima de 100 estados precisam de um número superior a 20000 passos para conseguir sua melhor eficiência.

1 A eficiência média de cada algoritmo é calculada pela somatória da eficiência final de cada amostra

(8)

Figura 3. Gráfico comparativo da aprendizagem do algoritmo Q-learning relacionando eficiência, número de estados e número de ciclos

Pode-se observar na Figura 3 que em ambientes com muitos estados, o agente necessita de um número de ciclos elevado, devido à necessidade do agente em visitar todo o seu espaço de estados para realizar o aprendizado.

4.1.2 Política de qualidade de recompensas

Foram utilizadas nos experimentos duas políticas de qualidade de recompensas com intenção de otimizar a qualidade da política de ações. A seguir são escritas as duas políticas de qualidade de recompensas:

1ª. A recompensa é igual à soma dos valores os estados vizinhos ao estado para qual o agente se moveu somada com o valor desse estado;

2ª. A recompensa é igual e ao valor do estado para onde o agente se moveu. Neste artigo, iremos citar somente os resultados gerados pela segunda política de qualidade apresentada acima, pois verificamos que a primeira política utilizada obteve um desempenho 25% inferior em média comparada à segunda. A política de qualidade de recompensas é indicada por: Q(s,a)←R, em que, Q( as, ) indica o estado atual do

agente e R indica a recompensa atribuída para este estado após sua ação. 4.1.3 Taxa de aprendizagem

Nos experimentos variando a taxa de aprendizagem, foram realizados em um ambiente de 64 estados com 4000 interações, e com o fator de desconto de 0,90. Os resultados são apresentados na Figura 4.

(9)

Figura 4. Gráfico da variação de eficiência em função da taxa de aprendizagem A Figura 4 mostra que os melhores valores a serem utilizados como taxa de aprendizagem para o algoritmo Q-learning estão entre 0,10 e 0,20. As taxas maiores que 0,20 fizeram com que o agente, ao estabelecer uma melhor ação em um determinado estado do ambiente, não efetuasse outras ações na busca de caminhos melhores.

Os valores menores que 0,10 tornaram a aprendizagem do agente mais demorada, sendo que o número de 4000 iterações foi insuficiente para que o agente alcançasse sua melhor eficiência. Devido a isto, foram realizados experimentos com as taxas de aprendizagem de 0,10 e 0,05 utilizando 8000 iterações.

Tabela 2. Eficiência média variando a taxa de aprendizagem com 8000 iterações

Eficiência Taxa de

aprendizagem Média (%) Desvio

Padrão (%)

0,05 89,63 0,94

0,10 97,74 2,36

A Tabela 2 apresenta a eficiência do agente realizando 8000 iterações. A taxa de aprendizagem de 0,10 foi a que obteve melhores resultados, mas para isso necessitou de um número maior de interação. Observou-se também que quanto menor a taxa de aprendizagem, menor são as variações nas amostras.

4.1.4 Fator de desconto

Os experimentos variando o fator de desconto foram realizados em um ambiente de 64 estados com 4000 iterações, utilizando taxa de aprendizagem de 0,20. Os resultados são demonstrados na Figura 5.

A Figura 5 indica que os melhores valores a serem usados como fator de desconto estão entre 0,85 e 0,95. Valores menores que 0,85 mostraram-se ineficientes para o algoritmo, tendo baixa relevância no aprendizado do agente, e assim este ao invés de escolher ações que o levem até o objetivo, escolhem ações que apenas o levam para estados com condições de congestionamento menores. Os valores maiores que 1,30 apresentam relevância excessiva no uso das recompensas dos estados vizinhos, e assim

(10)

o agente não procura os caminhos com menores níveis de congestionamento, mas sim os caminhos mais curtos até o objetivo.

Figura 5. Gráfico da variação de eficiência em função do fator de desconto

4.2 Resultados do K-NN

Os exemplos armazenados da aprendizagem do Q-learning foram abstraídos e estimados pela Equação 2 para a aplicação do algoritmo NN, denominado por nós como Table (tabela que armazena os exemplos de treinamento estimados pelo algoritmo do K-NN que será comparado com a melhor política descoberta pelo algoritmo A*).

Os experimentos com o algoritmo K-NN foram realizados em ambientes de 16 estados com 200 iterações, 25 estados com 500 iterações e ambientes de 64 estados com 3000 iterações. Os demais fatores utilizados serão os melhores encontrados nos experimentos com o algoritmo Q-learning, citados anteriormente.

Nos experimentos a seguir, foi avaliada a eficiência média do algoritmo K-NN quanto ao número de vizinhos utilizados.

As Figuras 6, 7 e 8 mostram que o algoritmo K-NN obtém, em geral, uma maior eficiência quando realiza seu aprendizado utilizando todos os conjuntos de instâncias geradas a partir do Q-learning – arranjo [n]. No entanto, para este tipo de aprendizado, quanto maior o número de vizinhos utilizados menor foi sua eficiência.

Para o tipo de aprendizado do K-NN onde é utilizado conjuntos de instâncias geradas nos últimos n ciclos - arranjo [n(ciclos)], a eficiência foi maior em alguns experimentos e menor em outros, não mantendo uma regularidade em sua eficiência, diminuindo a confiabilidade da técnica, pois não se consegue garantir eficiência média de melhor qualidade.

(11)

Figura 6. Eficiência do algoritmo K-NN em ambiente com 16 estados

Figura 7. Eficiência do algoritmo K-NN em ambiente com 25 estados

Figura 8. Eficiência do algoritmo K-NN em ambiente com 64 estados

No tipo de aprendizado utilizando somente o último conjunto de instâncias de aprendizado do agente Q-learning - arranjo [n(last)], a média da eficiência foi a menor comparada com os outros tipos. No entanto, apresentou as melhores eficiências utilizando 7 vizinhos. Já no tipo de aprendizado utilizando o último conjunto de instâncias – arranjo [n(last), n(K-NN)], a média de eficiência apresentou-se inferior a todos os outros métodos de aprendizado, e também diminuiu com o aumento de

(12)

vizinhos. A seguir, é apresentado um comparativo entre a eficiência do algoritmo Q-learning e o K-NN.

4.3 Algoritmo Q-learning vs. K-NN

Os experimentos para comparação da eficiência do algoritmo Q-learning e do algoritmo K-NN foram realizados em ambientes de até 64 estados com 1000 iterações. Para o algoritmo K-NN foi utilizado o tipo de aprendizado com todos os conjuntos de instâncias do agente Q-learning - A[n], sendo utilizado somente 1 vizinho mais próximo,

pois este fator foi o que apresentou os melhores resultados.

Tabela 3. Comparativo entre algoritmos Q-learning e K-NN

Eficiência Média (%) Quantidade de Estados Algoritmo Q-learning Algoritmo K-NN 16 98 94 25 95 93 64 91 89

A Tabela 3 demonstra que o algoritmo Q-learning tem desempenho superior ao algoritmo K-NN. Porém notamos que, em alguns momentos da aprendizagem, a eficiência do algoritmo K-NN foi maior que a do algoritmo Q-learning, e em alguns casos, conseguindo alcançar uma política melhor antes do algoritmo Q-learning, como apresentado no gráfico da Figura 9.

Figura 9. Gráfico comparativo dos algoritmos Q-learning e K-NN’s

O início da aprendizagem do algoritmo K-NN não é tão bom quanto ao do Q-learning. Essa inferioridade ocorre na primeira metade de passos do agente. Isso ocorre devido aos baixos valores da recompensa recebidos pelo agente no início da aprendizagem com o Q-learning que são utilizados pelo K-NN. Esses valores não permitem que melhores recompensas sejam estimadas pelo algoritmo K-NN.

Por outro lado, se em alguns momentos o algoritmo K-NN consegue ter melhor desempenho que o algoritmo Q-learning durante o ciclo de sua aprendizagem,

(13)

acreditamos que é possível utilizar estes dois algoritmos em conjunto para descobrir novas políticas de ação. Neste caso, durante a interação do agente com o ambiente, a base de conhecimento utilizada seria a do algoritmo que estivesse com a maior eficiência (Qtable(s,a) ou Ktable(s,a)), aplicando o algoritmo Q-learning na base de melhor desempenho.

5. Conclusão e Discussões

Os resultados apresentados pela metodologia proposta nos permitiram avaliar o desempenho dos algoritmos Q-learning e K-NN. Os experimentos realizados permitem-nos afirmar que a metodologia de avaliação proposta se mostra robusta em ambientes parcialmente conhecidos e complexos e pode auxiliar na determinação adequada dos parâmetros de algoritmos de AR. Isso é importante porque esses fatores têm grande relevância no desempenho da aprendizagem do agente.

Experimentos realizados com o algoritmo K-NN mostram que mesmo tendo um custo computacional mais elevado, seus resultados são satisfatórios, pois ele consegue estimar valores encontrando soluções superiores ao do Q-learning no decorrer de sua aprendizagem.

Apesar dos resultados obtidos com a metodologia serem satisfatórios, experimentos adicionais com os algoritmos são necessários para responder algumas questões em aberto. Por exemplo, a comparação de diferentes formas de atualização da política corrente poderia ser feita de forma parcial (apenas com os melhores valores de recompensa) e não integralmente como é feito atualmente. Uma função heurística poderia ser usada para a aceleração da AR (Bianchi e Ribeiro 2004), onde uma política heurística indicaria a escolha da ação tomada e limitaria assim, o espaço de busca do agente. O uso de uma arquitetura multiagente poderia ser utilizada para explorar regiões mais distantes do estado meta em que as recompensas dos estados são menores. Algumas dessas estratégias são encontradas em Almeida et al. (2004). Uma outra questão consiste em avaliar os algoritmos em ambientes dinâmicos e também em ambientes com ruído. Essas hipóteses e direcionamentos deverão ser verificados em pesquisas futuras.

6. Referências

Abramson, M., Wechsler, H. (2001) “Competitive reinforcement learning for combinatorial problems”, In Proceedings of the International Joint Conference on Neural Networks (IJCNN), vol. 4, pp. 2333-2338. Washington, DC, USA.

Aha, D.W., Kibler, D., Albert, M.K. (1991) “Instance-based Learning Algorithms”, Machine Learning. 6(1), pp. 37-66.

Almeida, A., Ramalho, G. L., Santana, H. P., Tedesco, P., Menezes, T. R., Corruble, V., Chevaleyre, Y. (2004). Recent Advances on Multi-Agent Patrolling. In Advances in Artificial Intelligence – SBIA 2004. Lecture notes on Artificial Intelligence 3171, pp. 474-483. Berlin: Springer.

Andre, D., Russell, S. J. (2002) ”State Abstraction for Programmable Reinforcement Learning Agents”, In Rina Dechter, Michael Kearns, and Rich Sutton, editors, Proceedings of the Eighteenth National Conference on Artificial Intelligence. AAAI Press, pp. 119-125.

(14)

Bianchi, R. A. C., Ribeiro, C. H. C., Costa, A. H. R. Heuristically Accelerated Q-learning: A New Approach to Speed Up Reinforcement Learning. (2004) XVII SBIA’04: pp. 245-254. São Luis, MA, Brasil.

Ernst, D., Geurts, P., Wehenke, L. (2005) ”Tree-Based Batch Mode Reinforcement learning”, Journal of Machine Learning Research Vol. 6 pp. 503-556.

Harmon, M. E., Harmon, S. S. (1996) ”Reinforcement learning: A Tutorial”. URL: http://citeseer.ist.psu.edu/harmon96reinforcement.html

Kaelbling, L. P., Littman, M. L, Moore, A. W. (1996) “Reinforcement Learning: A survey”, Journal of Artificial Intelligence Research . v. 4, pp. 237-285.

Levner, I., Bulitko,V., Madani, O. , Greiner, R. (2002) “Performance of Lookahead Control Policies in the Face of Abstractions and Approximations”, Publisher: Springer-Verlag. ISSN: 0302-9743. Vol. 2371, pp. 299-307.

Maes, P. (1995) ”Artificial Life Meets Entertainment: Lifelike Autonomous Agents”, Communications of ACM, v. 38, n. 11 (Nov), pp. 108-114.

Mitchell, T. (1997) “Machine Learning”, Boston:McGraw-Hill.

Monteiro, S. T., Ribeiro, C. H. C. (2004) ”Desempenho de algoritmos de aprendizagem por reforço sob condições de ambiguidade sensorial em robótica móvel”, Sba Controle & Automação, vol.15, no. 3, pp. 320-338.

Ramon, J. (2005) “On the convergence of reinforcement learning using a decision tree learner”, Proceedings of ICML-2005 Workshop on Rich Representation for Reinforcement Learning, Bonn, Germany (Driessens, K. and Fern, A., van Otterlo, M., eds.).

Ribeiro, C. H. C. (1999) ”A Tutorial on Reinforcement Learning Techniques”, Supervised Learning track tutorials of the 1999 International Joint Conference on Neuronal Networks. Washington: INNS Press.

Russel, S., Norvig, P. (2004) ”Inteligência Artificial”, Tradução da segunda edição. Rio de Janeiro: Elsevier.

Sutton, R.S., Barto, A.G. (1998) ”Reinforcement Learning: An Introduction”, Cambridge, MA. MIT Press.

Tesauro, G. (1995) “Temporal Difference Learning and TD-Gammon”, Communications of the ACM, Volume 38, no. 3, pp. 58-68.

Watkins, C. J. C. H., Dayan, P. (1992) “Q-Learning, Machine Learning”, 8 ed., pp. 279-292.

Referências

Documentos relacionados

Deste modo, verificou-se que, tanto para o Grupo A (p=0,49), como para o Grupo B (p=0,39) não existem diferenças estatisticamente significativas nas notas médias

Num primeiro momento, as informações levantadas para a descrição do caso dizem respeito às práticas de gestão do trabalho pedagógico que têm logrado o

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

 Rendimentos de trabalho por conta própria, os quais são os auferidos no exercício, de forma independente, de profissão em que predomine o carácter

Figura 14 Fotomicrografia de amostra de túnica vaginal parietal conservada em glicerina 98%, aos 30 dias, de ovinos da raça Santa Inês, no qual se observa uma

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

Apresenta-se neste trabalho uma sinopse das espécies de Bromeliaceae da região do curso médio do rio Toropi (Rio Grande do Sul, Brasil), sendo também fornecida uma chave

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam