37
Reinforcement Learning A.1 Introdução Reinforcement Learning é uma abordagem computacional que estuda o aprendizado a partir da interação entre agente e ambiente, que se tornou multi- disciplinar (inteligência artificial, psicologia, engenharia de controle, neurociência, redes neurais, algoritmos genéticos) nos últimos anos. É uma subdivisão do paradigma de aprendizado sem mestre (Haykin, 1998). Além disso, possibilita o aprendizado diretamente a partir da interação com o ambiente sem ter que considerar qualquer situação que não seja realmente experimentada e sem ter qualquer habilidade para predizer como o ambiente deve se comportar em resposta as suas ações. Existem grandes diferenças entre Reinforcement Learning e sistemas baseados em aprendizado supervisionado. A diferença mais importante está na ausência da apresentação de pares de entrada e saída, presentes em sistemas supervisionados. Em sistemas baseados em reforço, a avaliação do sistema acontece simultaneamente ao aprendizado e precisa explicitamente explorar seu ambiente. Reinforcement Learning é antes de tudo indicado quando se deseja obter a política ótima nos casos em que não se conhece a priori a função que modela esta política. O agente deve interagir com seu ambiente diretamente para obter informações, que serão processadas, através de um algoritmo apropriado, para produzir uma política ótima. Reinforcement Learning é o aprendizado do mapeamento de estados em ações para maximizar um recompensa ou um sinal de reforço. O aprendizado deve descobrir que ações resultam no maior retorno. O algoritmo de aprendizado é baseado na teoria da recompensa/punição, ou seja, o conhecimento é formado por tentativa e erro através da interação com o ambiente e, principalmente, sem ser necessário especificar como as tarefas devem ser executadas (Kaelbling et.al., 1996). No modelo padrão de Reinforcement Learning, um agente é conectado ao seu ambiente via sensores e motores (percepções e ações). A cada passo, a partir

Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning

A.1 Introdução

Reinforcement Learning é uma abordagem computacional que estuda o

aprendizado a partir da interação entre agente e ambiente, que se tornou multi-

disciplinar (inteligência artificial, psicologia, engenharia de controle,

neurociência, redes neurais, algoritmos genéticos) nos últimos anos. É uma

subdivisão do paradigma de aprendizado sem mestre (Haykin, 1998). Além disso,

possibilita o aprendizado diretamente a partir da interação com o ambiente sem ter

que considerar qualquer situação que não seja realmente experimentada e sem ter

qualquer habilidade para predizer como o ambiente deve se comportar em

resposta as suas ações.

Existem grandes diferenças entre Reinforcement Learning e sistemas

baseados em aprendizado supervisionado. A diferença mais importante está na

ausência da apresentação de pares de entrada e saída, presentes em sistemas

supervisionados. Em sistemas baseados em reforço, a avaliação do sistema

acontece simultaneamente ao aprendizado e precisa explicitamente explorar seu

ambiente.

Reinforcement Learning é antes de tudo indicado quando se deseja obter a

política ótima nos casos em que não se conhece a priori a função que modela esta

política. O agente deve interagir com seu ambiente diretamente para obter

informações, que serão processadas, através de um algoritmo apropriado, para

produzir uma política ótima.

Reinforcement Learning é o aprendizado do mapeamento de estados em

ações para maximizar um recompensa ou um sinal de reforço. O aprendizado deve

descobrir que ações resultam no maior retorno. O algoritmo de aprendizado é

baseado na teoria da recompensa/punição, ou seja, o conhecimento é formado por

tentativa e erro através da interação com o ambiente e, principalmente, sem ser

necessário especificar como as tarefas devem ser executadas (Kaelbling et.al.,

1996).

No modelo padrão de Reinforcement Learning, um agente é conectado ao

seu ambiente via sensores e motores (percepções e ações). A cada passo, a partir

Page 2: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

158

da interação, através dos sensores, o agente recebe a entrada i, que determina o

estado atual s do ambiente; o agente escolhe uma ação a para gerar uma saída, que

é executada pelos atuadores (figura A-1).

Figura A.1 – Agente

Com a execução de uma ou mais ações o agente teve o seu estado alterado e

o estado atual é avaliado e comunicado ao agente através de um valor escalar – o

reforço.

O módulo B, que determina o comportamento do agente, deve escolher

ações que aumentem o valor de reforço.

Dessa forma o modelo consiste em:

• Um conjunto de estados discretos S, onde s ∈ S.

• Um conjunto de ações discretas A, onde a ∈ A

• Os reforços escalares, valores tipicamente entre [0,1].

O trabalho do agente é encontrar a política π, definida como o mapeamento

de estados em ações, que maximize as medidas do reforço. O ambiente é definido

como estacionário, isto é, não é considerada a possibilidade de que uma mesma

Agente

PE R CE P Ç Õ E S

AÇÕES

Sensores Atuadores i

s Ba

Page 3: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

159

ação aplicada a um estado em duas ocasiões diferentes resulte em dois estados

diferentes. Esta suposição vai contra uma das principais motivações para a

construção de sistemas que apresentam características de aprendizado. No entanto,

alguns algoritmos podem ser efetivos em ambiente não estacionários, cuja

variação é lenta.

A.2 Características do Reinforcement Learning

Em um sistema de Reinforcement Learning existem duas características

fundamentais: o aprendizado por interação e por retorno atrasado. A seguir, são

descritas algumas características do RL:

Aprendizado por interação

Aprendizado por interação é a característica principal que define um

problema de Reinforcement Learning. O agente RL age no ambiente e aguarda

pelo valor de reforço que o ambiente deve lhe retornar em resposta a ação tomada,

guardando este valor para tomar decisões posteriores.

Retorno atrasado

O fato de o ambiente retornar ao agente um valor de reforço máximo não

quer dizer necessariamente que a ação tomada pelo agente foi a melhor. Uma ação

é produto de uma decisão local no ambiente, sendo seu efeito imediato de

natureza local, enquanto que, em um sistema Reinforcement Learning, busca-se

alcançar objetivos globais no ambiente. Assim, as ações tomadas devem

maximizar o retorno total, isto é, a qualidade das ações tomadas é vista pelas

soluções encontradas no longo prazo. Este problema foi tratado na tese de

Watkins (1989), onde ele conclui que, como a única informação que o agente

recebe do ambiente é o reforço imediato, a partir desse valor deve ser gerado

algum outro valor que permita obter uma visão da qualidade das ações efetuadas

em longo prazo.

Page 4: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

160

Orientado ao objetivo

Em Reinforcement Learning, o problema tratado é considerado como um

ambiente que dá respostas em função de ações efetuadas, não sendo necessário

conhecer detalhes da modelagem desse ambiente. Simplesmente, existe um agente

que atua dentro do ambiente desconhecido tentando alcançar um objetivo. O

objetivo é, geralmente, otimizar algum comportamento dentro deste ambiente.

Exploration x Exploitation Um agente RL procura sempre obter o valor máximo de retorno, escolhendo

ações que forneceram bons reforços no passado, através da exploração das boas

ações já descobertas. Todavia, para o agente ter encontrado essas boas ações, em

algum momento teve que escolher ações sem ter o conhecimento prévio da

qualidade dessas ações. Assim, para descobrir melhores ações, o agente não deve

deixar de procurar por alternativas. Este fato constitui o dilema exploration-

exploitation, bem conhecido na área de Algoritmos Genéticos (Goldberg, 1989),

que é o conflito entre tirar proveito das boas informações já descobertas

(cruzamento) e buscar novas informações (mutação) (Holland, 1975).

Existem vários métodos para abordar este problema, que são utilizados

pelos diferentes algoritmos desenvolvidos na área de Reinforcement Learning

(Kaelbling et. al., 1996) .

A.3 Fundamentos Matemáticos do RL

Existem dois conceitos que devem ser conhecidos para facilitar a

modelagem de um sistema baseado em Reinforcement Learning. A seguir,

apresentamos uma breve descrição destes conceitos.

Propriedade de Markov

Page 5: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

161

Quando a probabilidade de transição de um estado s para um estado s’

depende apenas do estado s e da ação a adotada em s, isso significa que o estado

corrente fornece informação suficiente para o sistema de aprendizado decidir que

ação deve ser tomada. Quando o sistema possui esta característica, diz-se que ele

satisfaz a propriedade de Markov (Bellman, 1957).

No caso mais geral, se a resposta em 1+t (estado seguinte) para uma ação

efetuada em t depende de todo o histórico de ações até o momento atual, a

dinâmica do ambiente é definida pela especificação completa da distribuição de

probabilidades, como mostra a equação abaixo:

{ }0011111 ,,,,,,,,,'Pr asrasrasrrss ttttttt K−−++ == A.1

onde a probabilidade (Pr), do estado 1+ts ser o estado s' e o reforço 1+tr ser

igual a r, é uma função que depende de todos os estados, ações e reforços

passados: ( 00111 ,,,,,,,, asrasras ttttt K−− ).

Propriedade de Markov: Se resposta do ambiente em 1+t depende

apenas dos estados e reforços em t . Assim, a probabilidade da transição para o

estado s’ é dada pela expressão da eq. A.2.

{ }ttttss asrrssap ,,'Pr)( 11', === ++ A.2

A probabilidade de transição do estado s para o estado s’ (Pr) satisfaz às

condições:

1. 0)(', ≥ap ss

2. 1)('

', =∑s

ss ap

A Propriedade de Markov é de fundamental importância no Reinforcement

Learning, uma vez que tanto as decisões como os valores são função apenas do

Page 6: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

162

estado atual, abrindo a possibilidade de métodos de soluções incrementais, onde

pode-se obter soluções a partir do estado atual e para cada um dos sucessivos

estados futuros, como é feito no método de Programação Dinâmica.

Processos de Decisão de Markov (PDM)

Um Processo de Decisão de Markov PDM (Markovian Decision Process)

(Bellman, 1957) é definido como um conjunto de estados Ss∈ , ações )(sAa∈ ,

um conjunto de transições entre estados associadas com as ações e um conjunto de

probabilidades P sobre o conjunto S que representa uma modelagem das

transições entre os estados. Assim, dado um par de estado e ação (s,a), a

probabilidade do estado s passar a um estado 's é:

{ }aassssP ttta

ss ==== + ,'Pr 1' A.3

onde Pr é o operador de probabilidade; neste caso representa-se a probabilidade

do estado 1+ts ser s', sempre que o estado ts tenha sido s e a ação tomada no

tempo t seja a ação a . Desta forma, a dependência que o seguinte estado 1+ts seja

o estado 's está relacionada a tomar a ação a no tempo t .

De forma análoga, dados um estado e ação atuais e um estado seguinte 's , o

valor esperado do retorno é:

{ }',, 11' ssaassrER tttt

ass ==== ++ A.4

onde { }E é o valor esperado do retorno 1+tr , sempre que o estado ts no tempo t

passe ao estado s' no tempo 1+t .

Os valores de probabilidade assP ' e retorno esperado a

ssR ' determinam os

aspectos mais importantes da dinâmica de um PDM finito. O processo de decisão

de Markov finito e discreto no tempo pode ser caracterizado da seguinte forma:

Page 7: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

163

• ambiente evolui probabilisticamente baseado num conjunto finito e

discreto de estados;

• para cada estado do ambiente, existe um conjunto finito de ações

possíveis, onde a mais adequada pode ser aprendida pelo sistema

ao longo do processo;

• a cada passo que o sistema de aprendizado executar uma ação, a

mesma é avaliada, ou seja, é verificado um custo positivo ou

negativo para o ambiente em relação à ação;

• estados são observados, ações são executadas e reforços são

relacionados.

Assim, para quase todos os problemas de Reinforcement Learning é suposto

que o ambiente tenha a forma de um Processo de Decisão de Markov, desde que

seja satisfeita a Propriedade de Markov no ambiente. Nem todos os algoritmos de

RL necessitam uma modelagem PDM inteira do ambiente, mas é necessário ter-se

pelo menos a visão do ambiente como um conjunto de estados e ações (Sutton &

Barto, 1998).

A.4 Elementos do Reinforcement Learning

Um sistema típico de Reinforcement Learning constitui-se basicamente de um

agente interagindo em um ambiente (

Figura A.2). O agente percebe as situações dadas no ambiente e, baseado nessas

sensações, seleciona uma ação a tomar no ambiente. A ação tomada muda de

alguma forma o ambiente, e as mudanças são comunicadas ao agente através de

um sinal de reforço. Existem quatro partes fundamentais no problema do RL: a

interface agente-ambiente, a política, o reforço e função de reforço e a função de

valor.

Page 8: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

164

AGENTE

AMBIENTE 1+ts1+tr

taAção

EstadoReforço ts

tr

Função de valorPolítica

Figura A.2 - Diagrama de um sistema básico de Reinforcement Learning.

Interface Agente - Ambiente

Qualquer sistema RL aprende a fazer um mapeamento de situações e ações

por meio da interação com um ambiente dinâmico. O ambiente deve ser

percebido, ao menos parcialmente, pelo sistema de aprendizado. A informação

pode ser do tipo leitura de sensores, descrições simbólicas, ou até mesmo

situações mentais. As ações tomadas podem ser de baixo nível, como valores de

tensão, ou de alto nível, como uma situação mental. Se o agente pode observar

toda a informação relevante do ambiente, então também pode fazer a seleção de

ações baseando-se em estados do ambiente. Este caso ideal é a melhor base

possível para RL. De fato, é uma condição necessária para grande parte da teoria

do RL.

A política

Uma política, expressa pelo termo π , representa o comportamento que o

sistema RL segue para alcançar o objetivo. Utilizando termos de RL, uma política

π é um mapeamento de estados s em ações a , tomadas naquele estado, em um

valor ),( asπ que representa a probabilidade de tomar a ação a quando se está no

estado s . Assim, se um agente RL muda a sua política, então as probabilidades de

seleção de ações sofrem mudanças e, conseqüentemente, o comportamento do

sistema apresenta variações. Portanto, o processo de aprendizado no sistema RL

pode ser expresso em termos da convergência até uma política ótima que conduza

Page 9: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

165

à solução do problema de forma ótima. Uma política ótima é denotada como

),(* asπ .

Corresponde em termos psicológicos ao conjunto de estímulos- respostas ou

associações. Em alguns casos a política pode ser uma função extensiva ou uma

tabela. Em outros, pode exigir processos computacionais mais extensos como os

algoritmos de busca. A política é o cerne do RL.

Reforço e Retorno

O Reforço é um sinal do tipo escalar representado por 1+tr que é devolvido

pelo ambiente ao agente assim que uma ação tenha sido efetuada e uma transição

de estado 1+→ tt ss tenha ocorrido. Existem diferentes formas de definir o reforço

para cada estado no ambiente, gerando-se funções de reforço que,

intrinsecamente, expressam o objetivo que o sistema RL deve alcançar. O agente

deve maximizar a quantidade total de reforços recebidos, o que nem sempre

significa maximizar o reforço imediato a receber, mas o reforço acumulado

durante a execução total.

O uso de um sinal de reforço é uma das características que distinguem os

métodos de Reinforcement Learning. Embora o aprendizado baseado em um

reforço pareça limitado, foi verificado na prática que o uso de reforços é bem

aplicável, obtendo-se bons resultados.

O retorno está relacionado ao valor geral esperado em longo prazo, definido

formalmente como um somatório dos reforços obtidos até um tempo t. De modo

geral, o sistema RL busca maximizar o valor esperado de retorno, onde o retorno é

definido como uma função da seqüência de valores de reforço até um tempo T

final. No caso mais simples é um somatório, como aparece na equação seguinte:

TtttT rrrrR ++++= +++ L321 . A.5

Em muitos casos a interação entre agente e ambiente não termina

naturalmente em um episódio, mas continua sem limite, por exemplo, como em

Page 10: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

166

tarefas de controle contínuo. São chamadas de tarefas contínuas. Para estas tarefas

a formulação do retorno é um problema pois T = ∞ , e o retorno que se deseja

maximizar também detenderá ao infinito.

Para estes problemas foi criada a taxa de desconto γ, que torna o cálculo do

retorno mais complexo conceitualmente, mas simplifica matematicamente.

A taxa de desconto γ determina o grau de influência que têm os valores

futuros sobre o reforço total, denotada pelo símbolo 10 ≤≤ γ . Assim, a expressão

do retorno aplicando taxa de desconto é expressa pela seguinte equação:

∑∞

=+++++ =+++=

013

221

kkt

ktttt rrrrR γγγ L A.6

onde se 0→γ , o agente tem uma visão míope dos reforços, maximizando apenas

os reforços imediatos, e se 1→γ , o agente abrange todos os estados futuros.

Um sistema de RL faz um mapeamento de estados em ações baseado nos

reforços recebidos. Assim, o objetivo do Reinforcement Learning é definido

usando-se o conceito de função de reforço, a qual é uma função dos reforços

futuros que o agente procura maximizar. Ao maximizar a função de reforço, o

objetivo será alcançado de forma ótima.

A função de reforço define quais são os bons e maus eventos para os

agentes. Em sistemas biológicos não seria inapropriado identificá-los com prazer e

dor.

Funções de Reforço

As funções de reforço podem ter diferentes graus de complexidade, mas

existem algumas formas básicas de defini-las: reforço só no estado final, tempo

mínimo até o objetivo, minimizar reforços e reforço imediato.

Page 11: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

167

a. Reforço só no estado final

Neste tipo de função de reforço, os valores de reforço são zero para todos os

estados, exceto no estado terminal em que o valor é 1. Adicionalmente, há

reforços para estados que devem ser evitados. Assim, o sinal do valor de reforço

indica se o estado é desejado ou deve ser evitado. Este tipo de definição de

função de reforço foi utilizada por Tesauro no jogo do Gamão (Backgammon)

(Tesauro, 1995), no qual o conjunto de posições no tabuleiro do jogo representa

os estados; o conjunto de movimentações permitidas, a partir de uma posição no

tabuleiro, define as ações disponíveis para esse estado; e a função de reforço é

definida como segue:

⎪⎩

⎪⎨

⎧+= +

+

+

casooutroqualquer 0jogooperderfazse1-jogooganharfazse1

11 t

1t

t ss

r

b.Tempo mínimo até o objetivo

As funções de reforço deste tipo fazem com que o agente execute ações que

forneçam os caminhos mais curtos ou os mais rápidos até um objetivo desejado.

c. Minimizar reforços

Nos dois casos anteriores é suposto que o agente tenta maximizar a função

de retorno. O agente, no entanto, também pode minimizá-la. Este é um caso onde

o reforço é obtido em função de recursos limitados no ambiente , e o agente deve

aprender a conservar esses recursos.

d. Reforço Imediato

Quando as ações do agente não influenciam a transição de estados, então o

ideal é escolher uma ação que maximize o retorno como uma função do estado

corrente do agente. A classe de problemas descritos dessa forma são chamados de

Reinforcement Learning Associativo.

Page 12: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

168

e. Função de Valor

Uma questão existente no Reinforcement Learning é saber com certeza se o

agente está aprendendo a escolher boas ações, ou seja, ter uma maneira de medir a

utilidade de uma ação a tomar. Define-se uma função de valor como o

mapeamento do estado ou par estado-ação em um valor que é obtido a partir do

reforço atual e dos reforços futuros.

Se a função de valor considera só o estado s ela é representada por )(sV .

Se ela considera o par estado-ação ),( as , então a mesma é representada por

),( asQ .

Uma vez que os reforços futuros mantêm dependência das ações futuras, as

funções de valor dependem também da política π que o agente RL segue. Em um

Processo de Decisão de Markov se define uma função de valor )(sV π dependente

da política π como a equação A.7:

{ }⎭⎬⎫

⎩⎨⎧

==== ∑∞

=++

01)(

ktkt

ktt ssrEssREsV γππ

π A.7

onde a função de valor )(sV π é o valor esperado de retorno para o estado sst =

(estado atual), isto é, o somatório dos reforços aplicando-se a taxa de desconto γ .

Se consideramos o par estado-ação, a equação para a função de valor ),( asQπ

será a seguinte:

{ }⎭⎬⎫

⎩⎨⎧

====== ∑∞

=++

01 ,,),(

kttkt

kttt aassrEaassREasQ γππ

π A.8

que é semelhante à eq. A.7, só que considerando o reforço esperado para um

estado associado a uma ação (estado sst = e ação aat = ).

As equações A.7 e A.8 representam funções de valor )(sV π e ),( asQπ que

dependem exatamente dos valores de reforço, o que implica no conhecimento

completo da dinâmica do ambiente como um PDM. Desse modo, não é necessário

obter os valores exatos, podendo as funções de valor ser aproximadas usando se

qualquer tipo de aproximador de função. Neste ponto podem ser aplicadas redes

Page 13: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

169

neurais (Haykin, 1998), ou algoritmos de predição a fim de obter-se uma

estimativa da função de valor.

A.5 Métodos do Reinforcement Learning

Para solucionar o problema de Reinforcement Learning, existem três classes

de métodos fundamentais: A Programação Dinâmica, Métodos de Monte Carlo e

Métodos de Diferenças Temporais.

Cada um destes métodos apresentam vantagens e desvantagens:

Programação Dinâmica (Bellman, 1957) possui um bom desenvolvimento

matemático, mas exige uma modelagem bem precisa do ambiente como um

Processo de Decisão de Markov. Os métodos de Monte Carlo (Rubinstein, 1981)

não precisam da modelagem do ambiente e se apresentam de forma simples em

termos conceituais. Entretanto, não são viáveis quando a solução do problema é

possível apenas de forma incremental (utilizando somente o estado atual e os

estados imediatos), porque para se atualizar os métodos de Monte Carlo exigem

que o estado final seja alcançado no processo. Os métodos de Diferenças

Temporais não exigem um modelo exato do sistema e permitem ser incrementais,

mas são complexos de se analisar. Nas subseções seguintes cada um dos métodos

será analisado separadamente.

Programação Dinâmica (DP)

Programação Dinâmica (Bellman, 1957) é uma coleção de algoritmos que

podem obter políticas ótimas sempre que existir uma modelagem perfeita do

ambiente como um Processo de Decisão de Markov (PDM), isto é, como um

conjunto de estados, ações, retornos e probabilidades de transição em todos os

estados. Os algoritmos clássicos de DP são usados de forma limitada no

Page 14: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

170

Reinforcement Learning, uma vez que a modelagem perfeita do ambiente como

PDM inclui um grande custo computacional. Porém, a Programação Dinâmica

fornece um bom fundamento para o conhecimento dos outros métodos usados na

solução do problema de RL.

Partindo do pressuposto de que o ambiente é completamente modelado

como um Processo de Decisão de Markov, isto é, como um conjunto de estados

S , ações )(sA , onde Ss∈ , as dinâmicas do sistema são dadas por um conjunto

de probabilidades de transição de estado, { }aassssP ttta

ss ==== + ,'Pr 1' , e por

um conjunto de reforços imediatos esperados, { }',,E 11' ssssaarR ttttass ==== ++ ,

para todo Sss ∈', , )(sAa∈ .

A Programação Dinâmica organiza e estrutura a busca de boas políticas a

partir das funções de valor. Deste modo, políticas ótimas são obtidas sempre que

funções de valor ótimas são obtidas. Usualmente, as funções de valor ótimas são

denotadas por )(* sV ou ),(* asQ , as quais satisfazem às equações de otimização

de Bellman (19l57), como é expresso nas eq. A.9 e eq. A.10, respectivamente:

{ }

[ ],)'(max

,)(max)(

'

*''

1*

1*

∑ +=

==+= ++

s

ass

assa

tttta

sVRP

aasssVrEsV

γ

γ A.9

{ }

[ ]∑ +=

=== ++

'

*

'''

1*

'1*

)','(max

,)',(max,),(

s a

ass

ass

tttat

asQRP

aassasQrEasQ

γ

γ A.10

Na eq. A.9 a função de valor ótimo )(* sV é encontrada como o máximo das

funções de valor esperadas segundo a ação selecionada, a .

Atualização da função de valor e da política

Page 15: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

171

Para atualizar as funções de valor com a finalidade de melhorar a política,

utiliza-se a iteração de valores (Sutton & Barto, 1998). A função de valor )(1 sVk+

do estado s para o passo 1+k de avaliação é dada pela eq. A.11:

{ }aasssVrEsV tttktak ==+= +++ ,)(max)( 111 γ A.11

onde o valor atualizado )(1 sVk+ é encontrado a partir dos valores armazenados no

passo k da seqüência de iterações, aplicando a equação de otimização de Bellman

(eq. A.9). Esta seqüência de iterações deve alcançar no ponto final a política ótima

)(* sV (Bertsekas, 1987).

O método de procura da política ótima da Programação Dinâmica exige a

varredura de todos os estados no espaço de estados do modelo PDM, tendo grande

custo computacional para modelagens complexas, o que torna o método

desvantajoso em muitos casos.

Métodos de Monte Carlo (MC)

Os métodos de Monte Carlo são uma forma de resolver o problema de

Reinforcement Learning, baseando-se no cálculo da média de uma amostra de

reforços. Para se assegurar que exista um valor de retornos bem definido, os

métodos de Monte Carlo são utilizados apenas para tarefas episódicas, isto é, se

assume que a experiência é dividida em episódios que de algum modo alcançam o

estado final sem depender das ações que foram selecionadas. Desta forma,

somente depois da conclusão de um episódio o valor de retorno é obtido e as

políticas são atualizadas.

Uma vantagem dos métodos de Monte Carlo é que necessitam apenas das

amostras da experiência como seqüências de dados, ações e reforços a partir de

uma interação real ou simulada com o ambiente.

O aprendizado a partir de experiência real é notável, dado que não exige o

conhecimento a priori das dinâmicas do ambiente e, ainda, pode levar a um

comportamento ótimo. Embora seja requerida uma modelagem, esta requer apenas

Page 16: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

172

que algumas transições de estados sejam geradas, sem precisar de todo o conjunto

de distribuições de probabilidade para todas as possíveis transições, como é

exigido para um modelo que aplica Programação Dinâmica.

Avaliação da política

Supondo-se que o método de Monte Carlo é considerado para obter uma

função de valor sob uma dada política, que é representada pelo retorno esperado,

isto é, a acumulação descontada dos futuros reforços desde o estado s até o estado

desejado, uma forma de se aproximar do valor de retorno esperado a partir da

experiência é calcular a média dos retornos após visitar esse estado. Na medida

em que mais retornos são observados, a média deve se aproximar do valor real

esperado, sendo esta conseqüência uma idéia própria dos métodos de Monte

Carlo.

Suponha )(sV π a função de valor sob a política π . Dado um conjunto de

episódios obtidos sob a mesma política π passando pelo estado s, existem duas

variantes do método de Monte Carlo: a primeira obtém a média dos retornos após

todas as visitas ao estado s, enquanto a segunda variante os obtém desde a

primeira vez que o estado s é visitado.

De qualquer forma, se o número de visitas for infinito, ambas as variantes

do MC convergem ao valor )(sV π .

Atualização da política

A fim de melhorar a política é necessário fazer com que esta seja mais

ambiciosa para a função de valor )(sV π atual. Neste caso é conveniente assumir

como valor de retorno a função de valor do par estado-ação ),( asQπ . Assim, uma

política ambiciosa para uma função de valor ),( asQ é aquela que, para um estado

s , toma a ação que maximiza o valor Q como na equação A.12

),(maxarg)( asQsa

=π A.12

Page 17: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

173

Desta forma, uma melhora na política pode ser obtida fazendo-se a política

1+kπ ser ambiciosa em respeito à função de valor kQπ , logo após a avaliação da

função de valor Q, como se vê na Figura A.3:

**110

10 QQQQ AMk

MAAMA k ⎯→⎯⎯→⎯⎯→⎯⎯→⎯⎯→⎯⎯→⎯⎯→⎯ + ππππ πππ LL

Figura A.3 - Seqüências de avaliação da função e melhora da política.

Aqui o processo começa com uma política aleatória 0π , obtendo uma

função de valor inicial 0πQ . O símbolo ⎯→⎯A representa a avaliação da política,

enquanto o símbolo ⎯→⎯M representa a melhora na política. Segundo este

processo, se o número de episódios é muito grande, a função de valor se

aproximará à função de valor ótima *Q .

Métodos de Diferenças Temporais

O método de Diferenças Temporais (TD) resulta da combinação das idéias

do método de Monte Carlo com as idéias da Programação Dinâmica. O

aprendizado é feito diretamente a partir da experiência, sem a necessidade de uma

modelagem PDM completa do ambiente, como característica do método de Monte

Carlo, e atualizar suas estimativas com base em outras estimativas já aprendidas

em estados sucessivos, nem necessitar alcançar o estado final de um episódio

antes da atualização, como é característico em DP.

Neste caso, a avaliação de uma política é abordada como um problema de

predição, isto é, de estimar a função de valor πV sob a política π .

Predição TD

Tanto TD como MC utilizam a experiência para resolver o problema da

predição. Dada certa experiência sob a política π , se um estado intermediário ts

é visitado ambos os métodos atualizam suas estimativas )( tsV baseando-se no

Page 18: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

174

acontecido depois de visitado o estado, sendo que o método de Monte Carlo

espera até que o retorno total seja conhecido. Dessa forma, esse retorno é pré-

requisito para a atualização de )( tsV , como aparece na equação A.13.

[ ])()()( tttt sVRsVsV −+← α A.13

onde tR representa o retorno real no tempo t , e o símbolo α é uma constante de

atualização. Para obter o valor de retorno tR é necessário alcançar o estado final

do episódio para logo depois, atualizar o valor )( tsV .

Os métodos de Diferenças Temporais não precisam alcançar o estado final

de um episódio, mas o estado seguinte no tempo 1+t . Em TD são utilizados o

valor de reforço imediato 1+tr e a função de valor estimada )( 1+tsV ao invés do

valor real de retorno tR do Método de Monte Carlo. Com estas condições, no

método de Diferenças Temporais a eq. A.13 converte-se na eq. A.14.

[ ])()()()( 11 ttttt sVsVrsVsV −++← ++ γα A.14

onde o objetivo para atualização é o valor )()( 11 ttt sVsVr −+ ++ γ que define

precisamente a diferença no tempo t e 1+t , característica esta que neste método

toma o nome de Diferenças Temporais. Como a atualização é feita somente a

partir do estado seguinte, os métodos TD são conhecidos como métodos single-

step.

Vantagens dos métodos de predição TD

Os métodos de TD apresentam vantagens sobre os métodos de Programação

Dinâmica e métodos de Monte Carlo.

A vantagem mais notável do método TD é a relacionada com o método de

Programação Dinâmica: TD não necessita uma modelagem PDM do ambiente, de

seus retornos e das distribuições de probabilidade das transições dos seus estados.

Page 19: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

175

A vantagem seguinte diz respeito ao método de Monte Carlo, visto que TD

pode ser implementado de forma totalmente incremental para aplicações On-Line;

os métodos de Monte Carlo devem aguardar até o final de um episódio para obter

o retorno verdadeiro, enquanto TD só necessita aguardar até o estado seguinte.

Em aplicações em que os ambientes são definidos como sendo contínuo, o

conceito de episódio não é aplicável com facilidade.

Embora as atualizações das funções de valor não sejam feitas a partir de

retornos reais, mas de valores supostos, é garantida a convergência até a resposta

correta. Tanto em TD como em MC a convergência às predições corretas tem

forma assintótica. Dentre os dois métodos, algum deles deve convergir mais

rápido; a resposta ainda não é dada formalmente, uma vez que até agora não existe

uma demonstração matemática de qual dos métodos é o mais rápido. Mesmo

assim, é demonstrado experimentalmente que os métodos TD são mais rápidos

para tarefas estocásticas (Tsitsiklis, 1994).

Q-Learning

Um dos mais importantes avanços na área de Reinforcement Learning foi o

desenvolvimento de um algoritmo baseado em Diferenças Temporais que

dispensa a política, (off-policy methods) conhecido como Q-Learning (Watkins,

1989). A versão mais simples, One-step Q-Learning, é definida pela seguinte

expressão:

)]a,s(Q)a,s(Qmaxr[)a,s(Q)a,s(Q tt1ta

1ttttt −++← ++ γα A.15

onde a função de valor do estado atual ),( tt asQ é atualizada a partir do seu valor

atual, do reforço imediato 1+tr , e da diferença entre a máxima função de valor no

estado seguinte (encontrando e selecionando a ação do estado seguinte que a

maximize) e o valor de função do estado atual no tempo atual. O fato de

selecionar a ação que maximize a função de valor seguinte permite achar de uma

forma simples a função de valor estimada.

Page 20: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

176

Uma característica do Q-Learning é que a função de valor Q aprendida

aproxima-se diretamente da função de valor ótimo *Q sem depender da política

que está sendo utilizada. Este fato simplifica bastante a análise do algoritmo e

permite fazer testes iniciais de convergência. A política ainda mantém algum

efeito ao determinar qual dos pares estado-ação deve-se visitar e atualizar. A

convergência exige que todos os pares estado-ação sejam visitados, fazendo com

que Q-Learning seja um método off-policy (Tsitsiklis, 1994).

O algoritmo Q-Learning é mostrado de forma seqüencial na figura seguinte:

Figura A.4 - Algoritmo Q-Learning

Q-learning foi o primeiro método RL a possuir fortes provas de

convergência (Jaakkola et. al., 1994). É uma técnica muito simples que calcula

diretamente as ações sem avaliações intermediárias e sem uso de modelo.

Dados os valores Q, existe uma política definida pela execução da ação a,

quando o agente está em um estado s, que maximiza o valor Q(s,a). Watkins

(1989) mostrou que se cada par estado-ação for experimentado um número

suficientemente grande de vezes e α decrescer apropriadamente, as funções de

valores-Q irão convergir com probabilidade um para Q* e a política irá convergir

para uma política ótima.

Inicializar ),( asQ em forma arbitrária

Repete (para cada episódio):

Inicializar s

Repete (para cada passo do episódio):

Escolher a para s usando política obtida dado Q

(p.e, ε -greedy)

Tomar a ação a , observar r , 's

⎥⎦⎤

⎢⎣⎡ −++← ++ ),(),(max),(),( 11 ttt

attttt asQasQrasQasQ γα

'ss ←

até s ser o estado final

Page 21: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

177

Alguns autores definem Q-learning como a fusão dos dois módulos do

método AHC (Kaelbling et. al., 1996), sendo por isso mais fácil de implementar

do que a arquitetura AHC.

A convergência do algoritmo Q-learning não depende do método de

exploração usado. Um agente pode explorar suas ações a qualquer momento – não

existem requisitos para a execução de ações estimadas como as melhores. No

entanto, para melhorar o desempenho do sistema é necessária, durante o

aprendizado, a busca das ações que maximizam o retorno.

Existem duas classes principais de algoritmos TD: on-policy e off-policy.

Métodos on-policy avaliam ou melhoram a política que está sendo usada para

tomar decisões, enquanto métodos off-policy avaliam ou melhoram uma política

diferente daquela que está sendo seguida. No aprendizado off-policy, a política

usada para selecionar as ações é chamada política de comportamento (behavior

policy) e a política que está sendo melhorada é chamada de política de estimação

(estimation policy). Em aprendizados on-policy existe uma única política que é

usada para escolher as ações durante o período em que está sendo aprimorada. Os

dois tipos de política usam métodos estocásticos para escolher ações, como por

exemplo a política ∈-greedy.

A política ∈-greedy é definida no algoritmo pela escolha da ação que possui

o maior valor esperado, com probabilidade definida por (1-∈), e de ação aleatória,

com probabilidade ∈ . Este processo permite que o algoritmo explore o espaço de

estados e esta é uma das condições necessárias para garantir que algoritmos RL

encontrem a ação ótima.

Resumidamente, pode-se enumerar os mais importantes aspectos do algoritmo

Q-Learning:

• O objetivo do uso do algoritmo Q-Learning é achar uma regra de

controle que maximize cada ciclo de controle.

• O uso do reforço imediato é indicado sempre que possível e necessário,

desde que ele contenha informação suficiente que ajude o algoritmo a

achar a melhor solução.

• Q-Learning é adotado quando o número de estados e ações a serem

selecionadas é finito e pequeno.

Page 22: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

178

SARSA - on-policy

O algoritmo TD mais simples considerando a política (on-policy) derivado

do método Q-learning chama-se SARSA (Sutton & Barto, 1998; Rummery &

Niranjan, 1994). Este nome tem origem em State, Action, Reward, State, Action,

que vêm a ser os elementos <st,at,rt+1,st+1,at+1> considerados na atualização do

valor Qs(s,a), como mostra a eq. A-16 abaixo:

)],(),(),([),(),( 11 ttttttttttt asQasQasrasQasQ −++= ++γα A.16

Figura A.5 - Algoritmo SARSA

SARSA converge com probabilidade 1 para a política ótima e para uma

função de valor da ação se cada par (estado-ação) for visitado um número infinito

de vezes e o valor da probabilidade ∈ for reduzido ao longo do aprendizado.

Sutton & Barto (1998) mostraram que sob as mesmas condições de ∈-greedy o

algoritmo SARSA apresenta desempenho on-line melhor do que o algoritmo Q-

learning. Se o parâmetro ∈ for reduzido gradualmente ambos os algoritmos (Q-

learning e SARSA) convergem assintoticamente para a política ótima.

Inicialize Q(s,a) de forma arbitrária

Repita para cada ciclo

Inicialize s

Repita para cada passo no ciclo

Escolha a ação a no estado s usando uma política derivada de Q (ex. e-greedy)

Execute a ação a, observe o retorno r e o estado s´

Escolha a ação a´em s´ usando uma política derivada de Q (ex. e-greedy) )],(´)´,([),(),( asQasQrasQasQ −++= γα

s ← s´ e a ← a´ até s seja o estado final ou objetivo

Page 23: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

179

Exploration/Exploitation

A busca de novas soluções alternativas pode representar um risco ao

desempenho desejado, mas a permanência em uma mesma política pode não levar

ao desempenho ótimo.

Métodos RL normalmente incluem um processo estocástico de seleção de

ações que permite exploração do espaço de estados (Sutton & Barto, 1998).

Pode-se distinguir duas formas básicas de exploração. Na primeira, os

sistemas exploram sem memória, ou seja, sem manter o conhecimento já

adquirido (exploration), não existindo tentativa de se usar o que foi aprendido

para melhorar a performance – o objetivo é aprender os valores de Q. Na segunda

forma, os sistemas exploram com memória, ou seja, usam o conhecimento já

adquirido (exploitive). Como ambas as formas trazem, em momentos específicos,

benefícios à solução dos problemas, uma boa estratégia é mesclar exploration e

exploitation. Sendo assim, um agente deve escolher suas melhores ações com

probabilidade px (exploitive) e escolher qualquer outra ação usando métodos que

visam exploration com probabilidade 1-px. O valor da probabilidade de

exploitation px deve aumentar lentamente ao longo do aprendizado.

O valor da probabilidade px pode ser definido de diversas forma. A forma

mais utilizada é a que usa a distribuição de probabilidade de Boltzmann. Nela, o

valor esperado para a ação a no estado s é usado para escolher probabilisticamente

a ação de acordo com a equação de distribuição de probabilidades (Boltzmann)

(eq. A-17):

∑ =

= nb

bstQ

astQ

eeasP

1/),(

/),(),(

τ

τ

A.17

O parâmetro τ pode decrescer ao longo do aprendizado de forma que a

exploração também decresça. O parâmetrou n representa o número total de ações

associadas ao estado s. Este método não é indicado quando os valores das ações

são muito próximos. Também pode acarretar uma convergência mais lenta, a

menos que τ seja modificado adequadamente ao longo do aprendizado.

Page 24: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

180

O processo de aprendizado do agente deve tentar equilibrar as alternativas

exploration/exploitation (Kaelbling et. al., 1996).

O algoritmo Q-learning utiliza uma tabela para mapear estados/ações.

Quando o espaço de estados é muito grande e/ou contínuo, o método torna-se

inviável. Este problema é denominado na literatura como curse of dimensionality.

Método AHC (Adaptive Heuristic Critic)

O método AHC (Adaptive Heuristic Critic) é um método baseado em

Diferença Temporal (Temporal Difference- TD) e possui dois componentes, o

crítico (Adaptive Critic Element) e o ator (Associative Search Element). Este

método usa uma estrutura separada para representar explicitamente a política,

independentemente da função de valor. O módulo da política é o ator, porque ele

seleciona as ações; o módulo do crítico é responsável pela estimação da função

do valor, e a sua função é criticar as ações realizadas pelo ator. O aprendizado é

do tipo on-policy, onde o crítico deve aprender a política e criticar se ela está ou

não sendo seguida pelo ator. A crítica é um sinal escalar conhecido na saída do

módulo do crítico (Sutton & Barto, 1998).

A figura A-6, mostra o diagrama da arquitetura AHC. Nela, o crítico,

representa uma função de avaliação mais elaborada do que a função de retorno (r)

dada pelo ambiente. O módulo do ator visa maximizar o valor heurístico v, que é

computado pelo módulo crítico. O crítico usa o sinal de reforço externo para

aprender a mapear estados em valores esperados dados pela política que está

sendo executada no componente ator (Kaelbling et. al., 1996). Sob a ótica da

teoria de Programação Dinâmica, esta função de valor tem a intenção de ser uma

função de valor ótima, ou seja, deseja-se que a função de valor do estado seja

associada a uma política ótima.

Page 25: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

181

Figura A.6 - Algoritmo Q-Learning

Com o objetivo de reduzir os efeitos do temporal credit-asssignment

problem (Sutton, 1994), o sinal de reforço usado pelo ator não é o reforço dado

pelo ambiente e sim um sinal de reforço interno gerado pelo módulo crítico,

reduzindo as incertezas no aprendizado do ator. O aprendizado no módulo ator

visa a seleção de ações que levem a avaliações ótimas do módulo crítico, e que,

assim, uma política ótima seja encontrada (Jouffe, 1998). Durante o aprendizado,

ambos os módulos, da função de valor (crítico) e da política (ator), são ajustados

(Ribeiro, 1999).

O módulo da função de valor pode atualizar seus valores segundo o

algoritmo TD(0) usando a eq. A-18 (Kaelbling et. al., 1996) ou usar a eq. A-16

seguindo o algoritmo SARSA:

))'(()()1( sVrsV ππ γαα ++− A.18

Quando o estado s é visitado pelo agente, seu valor estimado é atualizado

para tornar-se o mais próximo de )'(sVr πγ+ , onde r é o retorno instantâneo

recebido do ambiente, )'(sVπ é o valor estimado para a função de valor do

próximo estado, α é a taxa de aprendizado, variando entre (0 ≤ α ≤ 1) e o fator de

desconto γ define a influência do valor associado ao estado s´ no valor atual

Ambiente

Função de valor

Política

estado

ator

crítico

TD-erro

recompens

ação

Page 26: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

182

estimado. Se o valor do parâmetro α decrescer lentamente durante o aprendizado,

TD(0) irá convergir Vπ para o valor ótimo associado a cada estado, quando uma

política π for aplicada e cada estado for amostrado um número suficiente de

vezes.

As ações a que causam a transição do estado s para o estado s’ não são

determinadas a partir da comparação dos resultados com os valores obtidos

através da execução de outras ações off-line, e sim computadas on-line como saída

do módulo da política. Os parâmetros do módulo da política são atualizados de

acordo com um método que encoraja ou não a ação atual.

O módulo da política é atualizado por um método que recompensará ou

punirá a ação tomada, se o valor V´(s) atualizado é menor ou maior que V(s).

O sucesso do método AHC está fortemente atrelado à escolha de boas

funções de avaliação usadas no módulo crítico.

Métodos que incluem eligibility traces

Eligibility traces (Singh & Sutton, 1996) é um dos mecanismos básicos no

Reinforcement Learning, podendo ser abordado de duas formas.

A partir de uma visão mais teórica, eligibility traces podem ser definidos

como intermediários entre os métodos de Diferenças Temporais e o método de

Monte Carlo, isto é, este método exige mais do que estados imediatos (para o caso

de TD) e exige menos quando não prescinde que o sistema alcance o estado final

(caso Monte Carlo). Assim, quando são inseridos em um método TD qualquer, é

produzida uma família de métodos que varrem um espectro no qual um dos

extremos é o método de Monte Carlo, e o outro, os métodos de Diferenças

Temporais one-step.

Os métodos intermediários resultantes entre aqueles dois, com visões

intermediárias dos estados, são quase sempre mais eficientes do que os métodos

extremos. Neste sentido, a utilização de eligibility traces unifica os métodos de

Monte Carlo e Diferenças Temporais, de uma forma valiosa e interessante

(Sutton, 1998).

Page 27: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

183

Numa visão mais prática, eligibility traces são registros temporários da

ocorrência de algum evento, como a visita de um estado ou a seleção de uma ação.

Assim, este parâmetro gera um valor de memória associado com os eventos

elegíveis para as mudanças posteriores do aprendizado.

TD(λ)

Em princípio TD(λ) resulta da combinação do método de diferenças

temporais TD, que por conveniência será representado como TD(0), com

eligibility traces, obtendo características intermediárias entre o método TD e o

método de Monte Carlo. Como já foi explicado, o método de Monte Carlo faz

suas atualizações a partir do reforço real obtido quando, em um episódio, se

alcança o estado final. No entanto, TD faz a atualização apenas com o reforço

obtido com o estado seguinte. Então em um dado tipo de método intermediário, a

atualização é dada por um número intermediário de reforços.

Tudo isto é precisamente a função do TD(λ), para 10 << λ . Diferentemente

dos métodos single step, como o TD(0) ou Q-Learning, o TD(λ) obtém a

atualização das funções de valor a partir de uma ponderação exponencial dos

valores nos estados futuros. O parâmetro λ, que é o grau de uso de eligibility

traces, corresponde à taxa de ponderação exponencial. Assim, se 0=λ , o

algoritmo resultante, TD(0), é exatamente o algoritmo incremental one-step TD.

Se 1=λ , o algoritmo resultante TD(1) obtém a atualização do valor de um estado

somente a partir dos valores do estado final, como no método de Monte Carlo.

Para entender melhor como valores de estados sucessivos influem na

atualização das funções de valor, existem duas visões do processo: uma visão para

frente e uma visão para trás.

Visão para Frente

Na visão para frente, sendo a mais teórica, o retorno pode ser obtido como

uma média ponderada de retornos de n-passos futuros chamada λtR (Watkins,

1989), que contém todos os retornos )(ntR de um passo, dois passos, até n-passos,

sendo seus pesos proporcionais ao fator 1−nλ , onde 10 ≤≤ λ . A inserção do fator

Page 28: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

184

)1( λ− permite normalizar o resultado para que o somatório dos pesos seja 1.

Assim, o retorno λtR pode ser expresso da seguinte forma:

∑∞

=

−−=1

)(1)1(n

nt

nt RR λλλ A.19

e, considerando o estado final, se este é alcançado, o retorno λtR tem a seguinte

expressão:

∑−−

=

−−− +−=1

1

1)(1)1(tT

nt

tTnt

nt RRR λλλλ A.20

Se 0=λ , a equação reduz-se ao reforço do estado seguinte, como TD(0),

mas se 1=λ , o retorno resultante é apenas o retorno normal de estado final,

utilizado no método de Monte Carlo.

Então, a partir da equação A.16 de retorno, pode aplicar-se uma equação de

atualização com o formato da função de valor A.13 para o novo valor de retorno

mostrado na equação A.17,

[ ])()()( tttttt sVRsVsV −+= λα A.21

que é semelhante à equação de atualização de Monte Carlo, sendo a única

diferença o retorno utilizado.

A visão à frente é fácil de entender, uma vez que a base matemática

associada é fornecida pelos métodos de Monte Carlo e Diferenças Temporais sem

maiores variações, mas existe o problema de determinar o valor do retorno λtR

que depende de reforços futuros.

Visão para Trás

Na visão para trás, é aplicado um fator de memorização de estados passados,

que são eligibility traces, representados por )(set (que é um tipo escalar, como

Page 29: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

185

explicado no inicio desta seção). Em cada passo, os estados )(set decaem com a

taxa λγ e, para o estado visitado, o valor de )(set é incrementado em 1, ou pode

também fazer-se 1)( =set , como na expressão a seguir,

⎩⎨⎧

=+≠=

tt

ttt ssifse

ssifsese 1)()()(

1

1γλγλ A.22

Figura A.7 - Eligibility traces acumulados

a qual é aplicável para todos os estados não terminais, onde γ é a taxa de

desconto e λ é o mesmo parâmetro na visão à frente. A cada momento, eligibility

traces armazenam os estados que foram visitados recentemente, onde o grau de

tempo é expresso pelo fator γλ . Assim, eligibility traces permitem indicar o grau

de influência de cada estado nas mudanças associadas quando é recebido um

reforço.

Nesta visão, o erro da diferença temporal mantém a atualização

proporcional com os estados mais recentes da seguinte forma:

)()( sesV ttt αδ=∆ A.23

onde tδ é a própria diferença temporal expressa na Equação A.24 a seguir,

)()( 11 tttttt sVsVr −+= ++ γδ A.24

eligibility traces acumulados número de visitas a um estado

Page 30: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

186

onde os incrementos são feitos a cada passo do algoritmo podendo ser de tipo

incremental para algoritmos on-line, ou de tipo episódico para algoritmos off-line.

A figura A.8, a seguir, mostra o algoritmo do TD(λ).

Inicializar )(sV aleatório, 0)( =se , para todo S∈s

Repetir (por episódio):

Inicializar s

Repetir (por episódio):

←a ação tomada sob π para s

Tomar a ação a , observar o reforço r e o estado seguinte, 's

1)()()()'(

+←−+←

sesesVsVr γδ

Para todo s :

)()()()()(

sesesesVsV

γλαδ

←+←

'ss ←

até s ser o estado terminal

Figura A.8 - Algoritmo TD(λ) on-line para a estimação de πV

Na segunda abordagem o TD(λ) está orientado a checar em cada passo o

erro TD do passo anterior, e atribuir este erro a cada estado prévio segundo o

valor do eligibility trace associado ao estado nesse momento.

SARSA (λ)

A idéia em geral é aplicar a predição do TD(λ) para pares estado-ação ao

invés de estados apenas. Supondo ),( aset como o e-trace para o par ( as, ), então,

a inserção de eligibility traces na equação de atualização do SARSA (eq. A.16),

é feita como indicado na eq. A.25 a seguir e, o algoritmo é exibido na figura A-9.

Page 31: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

187

),(),(),(),(),(

casos outros),( e Se1),(

),(

1

111

1

1

aseasQasQasQasQr

aseaassase

ase

tttt

tttttttt

t

tttt

αδγδ

γλγλ

+=−+=

⎩⎨⎧ ==+

=

+

+++

A.25

Q(λ)

Figura A.9 - Algoritmo SARSA(λ)

Pode-se ver no algoritmo SARSA(λ) que a atualização é similar à do

algoritmo TD, com a diferença que são usadas as funções de valor ),( asQ para o

par (estado, ação) ao invés da função de valor )(sV para o estado apenas.

Q(λ)

Para combinar eligibility traces com o algoritmo Q-Learning foram

propostos três métodos: o Watkins Q(λ), proposto pelo próprio Watkins (1989),

que desenvolveu o algoritmo Q-Learning; e o Peng Q(λ) desenvolvido por Peng

final estado o seja que Até ;

a)e(s, λ γ),( a)e(s, δ α),(),(

: todoPara 1

),(),( greedy)-(e de derivada política a usando em Escolha

, observe , ação a Execute :episódio) do passo cada (para Repita

, Inicialize :episódio) cada (para Repita

, todopara ,0, e mentearbitraria , Inicialize

saass

aseasQasQ

s,ae(s,a)e(s,a)

asQasQrQsa

sra

as

asa)e(sa)Q(s

′←′←←

+←

+←−′′+←

′′′

=

γδ

Page 32: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

188

& Williams (1994) e Naïve Q(λ). A idéia em geral, também como no método

SARSA, é inserir eligibility traces equação de atualização do Q-Learning (eq.

A.15). No entanto, este algoritmo é off-policy, ou seja, a política aprendida não é

necessariamente a mesma que é usada para selecionar as ações. O Q-Learning

aprende através de uma política greedy, enquanto segue uma política que envolve

exploração de ações. Devido a isto, um cuidado especial deve ser tomado quando

o eligibility traces é introduzido.

O método de Watkins torna zero o valor do e-trace depois de ações non-

greedy são escolhidas, de forma a não usar infomações non-greedy no

aprendizado de ações envolvidas com políticas greedy. A equação A-26 é

utilizada para atualização das funções de valores das ações e a figura A. mostra o

algoritmo Q-Watkins(λ).

A.26

),(),(max),(),(),(

casos outros),(max),( if

),(max),(,, if

),(0

),(1),(

11

1

11

11

1

1

tttttatt

tttt

ttattt

ttattttt

t

t

t

asQasQraseasQasQ

asQasQasQasQaass

ase

asease

−′+=

+=

⎪⎩

⎪⎨

⎧≠

===+=

+′+

+

−−

−−

γδαδ

γλ

γλ

final estado o seja que Até ;

0),( contrário Caso ),(),( Então , Se

),(),(),( : todoPara

1 ),(),(

) then max, ' (se ),(maxarg

greedy)-(e de derivada política usando em Escolha , observe , ação a Execute

:episódio) do passo cada (para Repita , Inicialize

:episódio) cada (para Repita, todopara ,0, e mentearbitraria , Inicialize

*

**

saass

aseaseaseaa

aseasQasQs,a

e(s,a)e(s,a)asQasQr

aaéabsQa

Qsasra

as

asa)e(sa)Q(s

b

′←′←←

←=′

+←

+←−′′+←

′←′←

′′′

=

γλ

αδ

γδ

Page 33: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

189

Figura A.9 – Algoritmo Q-Watkins(λ)

O método de Peng apresenta alternativas para as desvantagens do método de

Watkins: no início do aprendizado, freqüentemente e(s,a)=0. Peng sugere um

método híbrido entre o usado por Watkins e o método SARSA de forma a nunca

interromper o trace. No entanto apresenta uma implementação bastante complexa

para uma descrição mais detalhada ver (Peng & Williams, 1994 e 1996).

NAÏVE(λ)

O método naïve é semelhante ao Q-Watkins(λ) exceto porque os e-traces

não são inicializados quando ações exploratórias são escolhidas. Este método tem

algumas vantagens do método de Peng, porém sem a complexidade da sua

implementação. Existem dúvidas se este método é realmente naïve.

Para nenhum desses métodos que utilizam eligibility traces existe prova de

convergência.

Eligibility Traces para AHC

O módulo crítico usa TD(λ) como o SARSA(λ) e o ator agrega o valor do

eligibility traces para cada par estado-ação para atualizar a política.

A equação de atualização da política passa a ser:

Replacing Traces

A.27),(),(),(1 aseaspasp tttt αδ+=+

Page 34: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

190

Estados que são freqüentemente visitados podem ter e-traces maiores que 1,

o que eventualmente pode ser problema para o processo de convergência.

Replacing traces: torna e-trace=1 toda vez que o estado é visitado. A figura A.10

mostra um gráfico do valor e-trace associado a um estado ao longo de um

determinado período de tempo.

Figura A.10 – Algoritmo Q-Watkins(λ)

Conclusões para o uso de eligibility traces:

• Forma incremental de combinar TD e MC • Inclui as vantagens de MC (pouca propriedade Markov) • Inclui as vantagens de TD (usando erro TD, bootstrapping) • Pode acelerar o aprendizado • Aumenta custo computacional

Curse of Dimensionality

Como em MDP, os métodos baseados em DP Adaptativa lidam com

espaços de entrada discretos e a representação dos estados freqüentemente usa

tabelas (lookup table).

Quando os agentes são introduzidos em problemas do mundo real, um

grande conjunto de estados e ações são encontrados. Este problema de dimensão

torna o uso de tabelas (lookup table) inviável. Baseando-se na premissa de que

estados vizinhos apresentam funções de valor similares, um processo denominado

Número de vezes que o estado é visitado Accumulating traces Replacing traces

Page 35: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

191

de generalização permite a modificação não apenas dos estados diretamente

relacionados a cada iteração, como também de outros estados afins. As

aproximações de funções representam a compactação dos estados para os quais a

generalização é uma propriedade emergente (Ribeiro, 1999).

Baseado nesta premissa, várias aproximações de funções têm sido usadas

em conjunto com Programação Dinâmica. As aproximações de funções

freqüentemente encontradas são CMAC (Watkins, 1989; Sutton, 1996; Singh &

Sutton, 1996), Redes Neurais (Berenji & Khedkar, 1992; Mitchell & Thrun, 1993;

Tesauro, 1992; Lin, 1992; Jouffe & Glorennec, 1996) e Lógica Fuzzy (Lee, 1991;

Berenji & Khedkar, 1992; Glorennec, 1994; Jouffe, 1998; Bonarini, 1996a;

Bonarini, 1996b).

Generalização

Segundo Ribeiro (1999), a generalização pode ocorrer em dois contextos

distintos. O primeiro é quando o uso de lookup table é possível, mas o

desempenho desejado é difícil de ser obtido. Este pode ser o caso quando o agente

está submetido a restrições de tempo durante o processo de aprendizado. Dessa

forma, mecanismos que generalizam as conseqüências de ações experimentadas

podem ser úteis.

O segundo contexto ocorre quando o agente está em um ambiente com um

espaço de estados muito grande, o que torna o uso de lookup table impossível.

Assim, as generalizações são necessárias e são implementadas como

aproximações de funções.

Em geral, a aproximação de funções associa estados ou características dos

estados com valores das ações. Nesses casos, a generalização é uma propriedade

emergente dessas funções. Uma dificuldade para se realizar a generalização está

em se identificar características similares em cada estado cujas métricas sejam

semelhantes. Isso motivou o uso de métodos de clustering ou splitting dos

estados.

A generalização em RL pode ser vista como um problema de structural-

credit assignment. Isso significa propagar parcialmente os valores através de

Page 36: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

192

estados similares – enquanto o problema definido por temporal-credit assignment

(usado em algoritmos RL padrão) implicam em propagação temporal dos valores.

A generalização é um processo complexo porque não existem algoritmos de

aprendizado do tipo Diferença Espacial (“Spatial Difference”) (Ribeiro, 1999)

que possuam funções de valores conhecidas previamente.

Para solucionar o problema de memória decorrente de grandes espaços de

estados, foram feitas várias tentativas empregando Redes Neurais e algumas

obtiveram notável sucesso como, por exemplo, o jogo de damas de Samuels

(1959), o jogo de gamão (backgammon) de Tesauro (1990) e navegação do robô

de Lin (1992). No entanto, a combinação de RL com aproximação de função

também pode ser instável. Boyan e Moore (1995) listaram uma série de situações

empregando aproximações de função tais como regressão polinomial,

backpropagation e regressão local de pesos, onde a convergência podem falhar.

Gordon (1995), Thrun & Schwartz (1993) e Sabes (1993) enumeraram os motivos

para estas falhas ocorrerem (Pyatt & Howe, 1998).

Uma das razões destas falhas é que, para garantir a convergência, as

mudanças na aproximação de função devem estar localizadas no estado corrente

(Thrun & Schwartz, 1993; Singh & Ye, 1994; Sabes, 1993).

As falhas ocasionadas quando se usam Redes Neurais com algoritmo

backpropagation, ocorrem porque este tipo de aproximação de função não se

limita a mudanças locais, mas as mudanças na rede afetam outros estados, cujo

comportamento não está relacionado (Boyan & Moore, 1995; Baird, 1995). A

modificação da função para um conjunto de entradas pode ter grandes efeitos em

outros conjuntos de entrada. O aprendizado do valor de um estado ou de um par

estado-ação específico pode alterar o valor aprendido de algum outro estado,

causando falhas na convergência (Pyatt & Howe, 1998).

Kaelbling et. al. (1996) afirma que algumas pesquisas recentes (Gordon,

1995; Tsitsiklis & Roy, 1996) mostram que, com a escolha apropriada da

aproximação de função, pode-se garantir a convergência do modelo, não

necessariamente para valores ótimos. A técnica de gradiente residual usada por

Baird (1995) garantiu a convergência a soluções locais. Sutton (1996) mostra

Page 37: Reinforcement Learning - inf.ufsc.br › ~mauro.roisenberg › ine5377 › Cursos-ICA › TAIC-ap… · Reinforcement Learning – Curso Tópicos Avançados ICA/DEE-PUC-Rio Karla

Reinforcement Learning – Curso Tópicos Avançados

ICA/DEE-PUC-Rio Karla Figueiredo

193

como modificações na versão proposta por Boyan e Moore (Boyan & Moore,

1995) podem convergir com sucesso.

Na prática os experimentos têm produzido bons resultados, mas exigem

sensibilidade e habilidade ao associar aproximação de funções e RL (Gordon,

1995).

Uma questão ainda aberta é a que diz respeito às condições necessárias para

se garantir que a aproximação de função será bem sucedida. A teoria tem sido

escassa principalmente devido à dificuldade de se raciocinar sobre a aproximação

de função que generaliza sobre os dados observados (Gordon, 1995).

Sutton (1996) sugere alguns pontos a serem observados que podem ajudar a

combinar aproximação de funções e RL (Kaelbling et.al., 1996):

• Alterações pequenas nas especificações variáveis ao longo do

aprendizado;

• Aproximação de funções que tenha fraca generalização;

• O uso do algoritmo SARSA;

• Diferentes métodos de amostragem no processo de aprendizado.

Alguns pesquisadores (McCallum, 1995; Sutton, 1996; Kaelbling et. al.,

1996) sugerem que o uso de algum tipo de método baseado em árvores

estruturadas pode ser um bom caminho para a definição de uma boa aproximação

de função.