• Nenhum resultado encontrado

APRENDIZADO POR REFORÇO

No documento ORIGINAL ASSINADA (páginas 39-51)

Algoritmo 7 Algoritmo TD(λ) implementado

2.3 APRENDIZADO POR REFORÇO

recompensa), já o agente de aprendizado ativo atualiza sua política conforme executa a transição no ambiente (RUSSELL; NORVIG, 2010).

A seguir, será apresentado nesta seção o formalismo usado para descrever o problema do RL, apresentando o modelo do MDP e os algoritmos Q-Learning, SARSA, TD(λ), Q(λ) e SARSA(λ).

2.3.1 Processo Markoviano de Decisão

Um MDP (Processo Markoviano de Decisão; do inglês: Markov Decision Process) é composto de um conjunto de estadossS, um conjunto de açõesaApara cada estados, um modelo de transiçãoP(s0|s, a)e uma função recompensaR(s, a, s0), onde:

a) Sé um conjunto finito de estados;

b) Aé um conjunto finito de ações ea(s)são as ações permitidas para o estados;

c) P(s0|s, a)ouT(s, a, s0)é o modelo de transição;

d) R(s, a, s0)é a recompensa de chegar ems0por executar a açãoaestando no estados ou a recompensaR(s0)apenas do estado resultante.

O MDP é composto de estados, ações e transições que representam o mundo físico para o agente. Em um MDP, o sistema obedece às condições de Markov. A condição de Markov define que a transição para outro estado depende apenas do estado em que o agente se encontra conforme probabilidades de transições do estado (GOSAVI, 2009), e não em quais estados o agente esteve. Uma outra propriedade de Markov é que o modelo de transição deve ser estacionário.

Um MDP é considerado determinístico quando ao executar uma açãoa, a probabilidade de transição (P(s0|s, a)) é igual a 1. Portanto, ao executar a ação a, estando no estado s, o próximo estado serás0, conforme modelo de transição. Já em um MDP estocástico, P(s0|s, a) poderá ser menor que1, portanto, não há uma garantia de que estando no estadose executando a açãoa o próximo estado sejas0; o que há é uma probabilidade desta transição ocorrer. Um exemplo pode ser um jogo de tênis, onde ao lançar a bola para o outro lado da quadra, há a possibilidade dessa bola cair dentro ou fora da área de jogo da quadra; outro exemplo descrito no trabalho de Bianchi (2004) pode ser dado para o domínio do Futebol de Robôs, no qual uma

bola chutada em direção ao gol pode entrar, pode bater no travessão ou pode ir para fora do campo.

A solução de um MDP é chamada de políticaπ. A política especifica quais ações devem ser tomadas para alcançar o objetivo ou os objetivos caso haja mais de um objetivo, e através da política é gerado um histórico do ambiente. Denomina-se que encontrar a melhor solução de um MDP é encontrar a melhor políticaπ (política ótima). Portanto, o objetivo do agente é aprender a política que maximize a quantidade de recompensa recebida ao longo da execução (política ótima), independente de qual seja o estado inicial.

2.3.2 Q-Learning

De acordo com Sutton e Barto (1998), o algoritmo Q-learning (WATKINS, 1989; WAT- KINS; DAYAN, 1992) foi um dos mais importante avanços no RL. O algoritmo Q-learning determina uma funçãoQ(par de estado-ação), neste algoritmo considera-se as transições ocor- ridas a cada iteração pelo par estado-ação, diferente do método de diferenças temporais (TD - Temporal Difference) (SUTTON, 1988), que considera apenas o valor do estado. A equação 6, mostra a equação do Q-learning.

Qt+1(st, at)←Qt(st, at) +α

r(st, at) +γmax

a0t Qt(s0t, a0t)−Qt(st, at)

(6)

Onde:

a) st: estado atual;

b) at: ação que será realizada estando em s;

c) r(st, at): reforço ao se realizar uma açãoaestando no estados;

d) s0t: estado futuro observado;

e) a0t: ação a ser realizada no estados0; f) γ: fator de desconto0≤γ <1;

g) α: taxa de aprendizado0≤α <1.

No Q-learning se o agente estiver em um ambiente estático com MDP determinístico, a funçãoQconverge, portanto a politicaπ converge para a política ótima (π). A convergência pode ocorrer em ambos os MDPs, determinístico ou não determinístico, mesmo que não seja necessariamente para a política ótima (π). No entanto, segundo Mitchell (1997), na prática, mesmo para problemas pequenos, o algoritmo Q-learning poderá exigir milhares de iterações para que haja a convergência.

A seleção de ações segue a regra gulosa Greedy, que é uma estratégia bastante utilizada no Q-learning para a escolha das ações (BIANCHI, 2004). Selecionando as ações de forma gulosa, o algoritmo estará tirando proveito da experiência das iterações anteriores. Pela regra gulosa o algoritmo seleciona as melhores ações (explotação), porém com uma parcela de exploração, realizada pela seleção das ações de forma aleatória. Escolher as melhores ações é definido como explotar o ambiente, mas para que o agente encontre a política ótima é necessário que o agente também explore o ambiente buscando por novos estados e ações que maximize a recompensa, por isso, a seleção de ações segue conforme regra gulosa Greedy dada na equação 7.

π(st) =

arandom q,

argmax

at

Qt(st, at) caso contrário

(7) Sendoqum valor aleatório que varia de 0 até 1 e(0≤≤1) é o parâmetro que define a taxa de exploração/explotação do ambiente. Se o valor de for igual a 0, o agente não vai explorar o ambiente; sefor muito baixo tendendo a zero ( ≈0), o agente vai explorar muito pouco o ambiente, levando a um aumento expressivo no tempo de convergência. Por outro lado, se ofor igual a 1, o agente irá apenas explorar o ambiente e não haverá explotação, portanto, a seleção de ações será realizada de maneira aleatória.

Um outro método utilizado para escolha das ações é o uso da distribuição de Boltzmann, realizando o cálculo da probabilidade de escolha de uma ação em um estado, mostrado na equação 8.

P(a|s) = eQ(s,a)

P

bAeQ(s,b) (8)

Onde:

a) P(at|st)é a probabilidade de selecionar uma açãoaestando no estados;

b) τ é um parâmetro positivo chamado temperatura;

c) bsão as possíveis ações quando o agente está no estado s.

Uma importante característica da exploração é que, caso o ambiente inicialmente seja estático e após a funçãoQ convergir para uma política ótima (π) ocorra alguma mudança no ambiente, o Q-learning novamente voltará a buscar a nova política ótima. O algoritmo 1 mostra o algoritmo do Q-learning.

1 InicializeQ(s, a)com valores aleatórios

2 enquantoo número de episódios desejado não for alcançadofaça

3 Inicialize o estadosem uma posição fixa ou aleatório.

4 enquantoobjetivo não for alcançadofaça

5 Escolha uma açãoado estadosutilizando a seleção comgreedy

6 Observe o estados0e a recompensar(s, a)

7 Atualize oQ(s, a)conforme equação do Q-learning:

8 Q(s, a)←Q(s, a) +α

r(s, a) +γmax

a0 Q(s0, a0)−Q(s, a)

9 Atualize o estados:

10 ss0

11 fim

12 fim

Algoritmo 1–Algoritmo Q-learning.

2.3.3 SARSA

O algoritmo SARSA é uma modificação do algoritmo Q-learning proposta por Rum- mery e Niranjan (1994), primeiramente foi nomeado de Q-learning modificado, depois reno- meado de SARSA por Sutton (1996). A diferença do SARSA para o Q-learning é a retirada da maximização das açõesα[r(s, a) +γQ(s0, a0)−Q(s, a)], conforme equação 9.

Qt+1(st, at)←Qt(st, at) +α

r(st, at) +γQt(s0t, a0t)−Qt(st, at)

(9) O SARSA é um algoritmo indicado em casos em que as penalidades devem ser evitadas.

Em um ambiente onde há vários estados que penalizam o agente, o SARSA se comporta de forma diferente do Q-learning. O Q-learning busca sempre a melhor política, indiferente do ambiente, já o SARSA busca a política mais segura evitando passar próximo dos estados que possuem penalidades, mesmo que passar próximo daquele estado seja o caminho mais curto para se chegar ao objetivo (SUTTON; BARTO, 1998).

Comparando o Q-learning com o SARSA, observa-se que o Q-learning utiliza o melhor valor de Q(s, a), sem se importar com a política que está sendo seguida, conforme equação

6, sendo considerado um algoritmo de aprendizagemoff-policy, enquanto SARSA espera que a ação seja tomada para atualizar o valor de Q(s, a) com o valor referente à ação escolhida, conforme equação 9, sendo considerado um algoritmoon-policy. Assim como o algoritmo Q- learning, o SARSA também exige uma quantidade considerável de iterações para que haja a convergência. O algoritmo 2 mostra o algoritmo do SARSA.

1 InicializeQ(s, a)com valores aleatórios

2 enquantoo número de episódios desejado não for alcançadofaça

3 Inicialize o estadosem uma posição fixa ou aleatório.

4 Escolha uma açãoado estadosutilizando a seleção comgreedy

5 enquantoobjetivo não for alcançadofaça

6 Observe o estados0e a recompensar(s, a)

7 Escolha a açãoa0 do estados0utilizando a seleção comgreedy

8 Atualize oQ(s, a)conforme equação do SARSA:

9 Q(s, a)←Q(s, a) +α

r(s, a) +γQ(s0, a0)−Q(s, a)

10 Atualize o estados:

11 ss0

12 Atualize a açãoa:

13 aa0

14 fim

15 fim

Algoritmo 2–Algoritmo SARSA.

2.3.4 Diferenças Temporaisλ(TD(λ))

Os algoritmos Q-learning e SARSA exigem um número de iterações muito grande para que se atinja a convergência. Para mitigar essa quantidade de iterações necessárias, foi proposta a aceleração desses algoritmos através da generalização temporal. A generalização temporal realiza um espalhamento do aprendizado. Quando o agente visita um estado, o aprendizado ocorrido naquele estado é espalhado para os estados próximos, conforme equações descritas e algoritmos descritos abaixo.

O algoritmo de Diferenças Temporais TD(λ) (do inglês: Temporal Difference) (SUT- TON, 1988) funciona como uma combinação do método de Monte Carlo com Programação Dinâmica. Pelo Monte Carlo, o TD(λ) pode aprender diretamente das experiências sem um modelo da dinâmica do ambiente, e pela Programação Dinâmica ele atualiza os valores dos estados baseado em valores de outros estados aprendidos.

O TD(λ) é um algoritmo que utiliza traços de elegibilidade, que é a utilização adicional de uma variável de memória associada a cada estado. Conforme equação 10, pode-se ver que o traço de elegibilidade é incrementado em 1 para o estado visitado, e para todos os outros estados decai no fator deγλ.

Zt(s) =

γλZt−1(s) ses6=St γλZt−1(s) + 1 ses=St

(10) Onde:

a) λé o fator que decai o traço de elegibilidade (0≤λ ≤1) determinando o quanto as recompensas futuras serão consideradas;

b) Z(S)é o rastro de elegibilidade;

c) γé a taxa de desconto (0≤γ ≤1).

Figura 19 – Acumulando o traço de elegibilidade.

Fonte: Autor “adaptado de” Sutton e Barto, 1998

Esse tipo de elegibilidade é acumulativo porque vai incrementado 1 cada vez que o estado é visitado, e vai diminuindo gradativamente cada vez que o estado não é visitado na proporção do fatorγλ, conforme mostrado na figura 19.

Se o valor deλfor igual a 0, então todo o traço será zero e TD(λ) se reduz ao método TD(0), chamado de TD(0) no livro do Sutton e Barto (1998). Já considerando-se um valor de λmuito próximo de 1 (λ≈1), estados mais distantes do estado que o agente se encontra serão alterados, porém será dado menos crédito ao erroδ. Então, seλfor igual a 1, o algoritmo passa a se comportar parecido com o método de Monte Carlo, no entanto, seγfor igual a 1 também, então os vestígios de elegibilidade não diminuem mais com o tempo (a cada passo), porque a proporção de γλ será 1. Nesse caso, o algoritmo comporta-se como um método de Monte Carlo. O cálculo do erro é apresentado na equação 11 e a atualização do valor na equação 12.

δr+γV(S0)−V(S) (11)

Onde: δé o erro; V(S0)é o valor do estado futuro selecionado pela tomada da açãoA;

V(S)é o valor do estado que o agente se encontra; r é o reforço pela transição de estado.

V(s)←V(s) +αδZ(s) para todos oss∈ espaço de estados. (12)

Onde:

a) V(s)é o valor referente a um estado pertencente ao espaço de estados;

b) Z(S) é o rastro de elegibilidade referente a um estado pertencente ao espaço de estados;

c) αé a taxa de aprendizado (0≤α <1).

O algoritmo 3 apresenta o algoritmo TD(λ).

1 Inicialize todos osV(s)com valores aleatórios

2 enquantoo número de episódios desejado não for alcançadofaça

3 Inicialize o estadoSem uma posição fixa ou aleatório.

4 paratodos os estadossfaça

5 Z(s)←0

6 fim

7 enquantoobjetivo não for alcançadofaça

8 A←dada pela políticaπdo estadoS

9 Tomando a açãoAobserve o estadoS0e a recompensar(S)

10 δr+γV(S0)−V(S)

11 Z(S)←Z(S) + 1

12 paratodos os estadossfaça

13 V(s)←V(s) +αδZ(s)

14 Z(s)←γλZ(s)

15 fim

16 Atualize o estadoS:

17 SS0

18 fim

19 fim

Algoritmo 3–Algoritmo TD(λ).

2.3.5 Q(λ)

O algoritmo Q(λ) (WATKINS, 1989; PENG; WILLIAMS, 1996) é uma técnica que combina o Q-learning com o TD(λ) (SUTTON; BARTO, 1998).

Para criar o algoritmo Q(λ), foi implementada uma extensão no algoritmo Q-learning com a inclusão da propagação temporal das atualizações existentes no algoritmo TD(λ). A combinação do Q-learning com o traço de elegibilidade tornou o algoritmo mais eficiente. Um traço de elegibilidade é uma gravação temporária da ocorrência, como a tomada de uma ação.

No caso do Q(λ) foram propostos alguns métodos, como o Q(λ)Watkins e o Q(λ)Naive (SUTTON; BARTO, 1998), esses métodos combinam o Q-learning com o traço de elegibi- lidade, assim como no TD(λ), para que haja um espalhamento do aprendizado no intuito de diminuir o tempo de convergência. O algoritmo 4, apresenta o algoritmo Q(λ) de Watkins.

1 Inicialize todos osQ(s, a)com valores aleatórios

2 enquantoo número de episódios desejado não for alcançadofaça

3 Inicialize o estadoSe a açãoAem uma posição fixa ou aleatório.

4 paratodos os estadosse todas as açõesa(s)faça

5 Z(s, a)←0

6 fim

7 enquantoobjetivo não for alcançadofaça

8 Tomando a açãoAobserve o estadoS0e a recompensar(S, A)

9 Escolha a açãoA0 do estadoS0 utilizando a seleção comgreedy

10 AargmaxaQ(S0, a)

11 δr+γQ(S0, A)−Q(S, A)

12 Z(S, A)←Z(S, A) + 1

13 paratodos os estadosse todas as açõesa(s)faça

14 Q(s, a)←Q(s, a) +αδZ(s, a)

15 seA0 == A então

16 Z(s, a)←γλZ(s, a)

17 fim

18 senão

19 Z(s, a)←0

20 fim

21 fim

22 Atualize o estadoS:

23 SS0

24 Atualize a açãoA:

25 AA0

26 fim

27 fim

Algoritmo 4–Algoritmo Q(λ) do Watkins.

Onde:

a) λé o fator que decai o traço de elegibilidade (0≤λ ≤1) determinando o quanto as recompensas futuras serão consideradas;

b) δé o erro;Z(S, A)é o rastro de elegibilidade;

c) A0é a ação deS0 selecionado pela estratégiaGreedy conforme equação 7;

d) Aé a ação do estadoS0 que possui o maior valorQ(S0, a).

O algoritmo Q(λ), do Watkins (WATKINS, 1989), reinicializa o rastro de elegibilidade quando uma ação é selecionada aleatoriamente, sendo que esta não é a ação que maximiza Q, já no Q(λ) Naive não há essa diferenciação, não reinicializando o rastro de elegibilidade (SUTTON; BARTO, 1998). Os dois algoritmos assumem uma postura de política gulosa, onde as ações são selecionadas pela estratégiaGreedy.

O algoritmo 5 mostra o algoritmo do Q(λ) Naive, no qual a única diferença entre o algoritmo 4 para o algoritmo 5 é a reinicialização do rastro de elegibilidade quando a açãoA0 do estadoS0 é diferente da ação ótimaA.

1 Inicialize todos osQ(s, a)com valores aleatórios

2 enquantoo número de episódios desejado não for alcançadofaça

3 Inicialize o estadoSe a açãoAem uma posição fixa ou aleatório.

4 paratodos os estadosse todas as açõesa(s)faça

5 Z(s, a)←0

6 fim

7 enquantoobjetivo não for alcançadofaça

8 Tomando a açãoAobserve o estadoS0e a recompensar(S, A)

9 Escolha a açãoA0 do estadoS0 utilizando a seleção comgreedy

10 AargmaxaQ(S0, a)

11 δr+γQ(S0, A)−Q(S, A)

12 Z(S, A)←Z(S, A) + 1

13 paratodos os estadosse todas as açõesa(s)faça

14 Q(s, a)←Q(s, a) +αδZ(s, a)

15 Z(s, a)←γλZ(s, a)

16 fim

17 Atualize o estadoS:

18 SS0

19 Atualize a açãoA:

20 AA0

21 fim

22 fim

Algoritmo 5–Algoritmo Q(λ) Naive.

2.3.6 SARSA(λ)

Neste método foi combinado o traço de elegibilidade com o Sarsa, assim como no Q(λ), o uso do traço de elegibilidade incrementa uma eficiência no algoritmo. No SARSA(λ) foi

aplicado o mesmo método do TD(λ) apenas substituindo o estado pelo par estado-ação. Neste algoritmo o traço de elegibilidade éZ(s, a)ao invés deZ(s), e substituindo também a variável V(s)porQ(s, a).

Zt(s, a) =

γλZt−1(s, a) + 1 ses=Stea=At γλZt−1(s, a) caso contrário

(13)

δr+γQ(S0, A0)−Q(S, A) (14)

Q(s, a)←Q(s, a) +αδZ(s, a) (15) Comparando-se as equações 13, 14 e 15 do algoritmo SARSA(λ) com as equações 10, 11 e 12 do algoritmo TD(λ), pode-se notar que são idênticas, com a diferença que o SARSA(λ) utiliza o par estado-ação. O algoritmo 6 apresenta o algoritmo SARSA(λ).

1 Inicialize todos osQ(s, a)com valores aleatórios

2 enquantoo número de episódios desejado não for alcançadofaça

3 Inicialize o estadoSe a açãoAem uma posição fixa ou aleatório.

4 paratodos os estadosse todas as açõesa(s)faça

5 Z(s, a)←0

6 fim

7 enquantoobjetivo não for alcançadofaça

8 Tomando a açãoAobserve o estadoS0e a recompensar(S, A)

9 Escolha a açãoA0 do estadoS0 utilizando a seleção comgreedy

10 δr+γQ(S0, A0)−Q(S, A)

11 Z(S, A)←Z(S, A) + 1

12 paratodos os estadosse todas as açõesa(s)faça

13 Q(s, a)←Q(s, a) +αδZ(s, a)

14 Z(s, a)←γλZ(s, a)

15 fim

16 Atualize o estadoS:

17 SS0

18 Atualize a açãoA:

19 AA0

20 fim

21 fim

Algoritmo 6–Algoritmo SARSA(λ).

2.3.7 Aprendizado por Reforço com Heurística

Todos esses algoritmos de aprendizado por reforço apresentados neste capítulo neces- sitam de um número de iterações muito grande para sua convergência, como consequência, à medida que aumenta o espaço de estados e o número de ações, maior será a necessidade compu- tacional para executar o aprendizado, aumentando significativamente o tempo de convergência do algoritmo, tornando em alguns casos o processo de aprendizado extremamente lento. Dessa forma para minimizar esse problema, algumas propostas foram apresentadas nesses últimos anos, como: melhorar o aproveitamento das experiências por meio de generalizações temporais, espaciais ou das ações; o uso de aceleração por abstração temporal ou espacial; a aceleração por distribuição utilizando sistemas multiagentes; e aceleração baseada em casos (BIANCHI, 2004). A busca por técnicas de aceleração do aprendizado por reforço surgiu pelo desejo de utilizar os mesmos algoritmos de RL, porém, com a vantagem da diminuição do tempo de con- vergência. No entanto, neste trabalho será apresentada apenas a técnica de aprendizado por reforço com a utilização de heurística proposta por Bianchi (2004).

Bianchi (2004) demonstra a aplicação e eficiência da heurística no algoritmo Q-learning.

A função heurística é definida a partir de um conhecimento prévio sobre o domínio e é utili- zada apenas na seleção das ações a serem executadas pelo agente. Segundo Russell e Norvig (2010), uma heurística é uma técnica que melhora no caso médio a eficiência na solução de um problema. Para usar a heurística, a regra de seleção de açõesGreedy inclui a função heurística para a escolha da melhor ação, conforme equação 16. Segundo Bianchi (2004), existe uma classe de algoritmos de RL que permite o uso de heurística, e essa classe de algoritmos é denominada “Aprendizado Acelerado por Heurísticas” (Heuristically Accelerated Learning – HAL).

π(st) =

arandom q,

argmax

at

Qt(st, at) +ξH(st, at)

caso contrário (16)

Ondeξé um número real que pondera a influência da heurística, cujo valor normalmente é igual a 1 (BIANCHI, 2004), oH(s, a)é a heurística. Deve ser definido um valor deH(s, a) que aplique um conhecimento adicional sobre o referente estado-ação. Essa técnica pode ser definida como uma maneira de se resolver um MDP utilizando uma função heurística H :

S×Apara influenciar na escolha das ações durante o aprendizado. Essa proposta mantém as principais características dos algoritmos de aprendizado por reforço, porém acaba minimizando o tempo necessário para a convergência.

No documento ORIGINAL ASSINADA (páginas 39-51)

Documentos relacionados