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 estadoss ∈ S, um conjunto de açõesa ∈ Apara 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
b∈AeQ(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 com−greedy
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 s←s0
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 com−greedy
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 com−greedy
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 s←s0
12 Atualize a açãoa:
13 a←a0
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 S ←S0
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 com−greedy
10 A∗ ←argmaxaQ(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 S ←S0
24 Atualize a açãoA:
25 A←A0
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égia−Greedy 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égia−Greedy.
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 com−greedy
10 A∗ ←argmaxaQ(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 S ←S0
19 Atualize a açãoA:
20 A←A0
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 com−greedy
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 S ←S0
18 Atualize a açãoA:
19 A←A0
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ções−Greedy 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.