0% acharam este documento útil (0 voto)
3 visualizações26 páginas

Q Learning

O documento apresenta o algoritmo Q-Learning, um método de aprendizado por reforço que visa maximizar os reforços acumulados por um agente ao longo do tempo. O algoritmo utiliza uma função Q(S, A) para mapear estados e ações, permitindo que o agente aprenda a melhor ação a ser tomada em cada estado através de experiências repetidas. Além disso, discute a importância de hiperparâmetros como a taxa de aprendizado e o fator de desconto, bem como a estratégia de exploração versus exploração.

Enviado por

mordike3
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações26 páginas

Q Learning

O documento apresenta o algoritmo Q-Learning, um método de aprendizado por reforço que visa maximizar os reforços acumulados por um agente ao longo do tempo. O algoritmo utiliza uma função Q(S, A) para mapear estados e ações, permitindo que o agente aprenda a melhor ação a ser tomada em cada estado através de experiências repetidas. Além disso, discute a importância de hiperparâmetros como a taxa de aprendizado e o fator de desconto, bem como a estratégia de exploração versus exploração.

Enviado por

mordike3
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Algoritmo Q-Learning

Fabrı́cio Barth

Insper Instituto de Ensino e Pesquisa

Fevereiro de 2025

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 1 / 21
Polı́tica de Controle

A polı́tica de controle desejada é aquela que maximiza os reforços


(reward) acumulados ao longo do tempo pelo agente.
Em tese, é a polı́tica que faz o agente percorrer o melhor caminho.

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 2 / 21
Reward acumulado (1/4)

O valor de um estado final leva-se em consideração apenas o reforço:


V (sn ) = rn .

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 3 / 21
Reward acumulado (2/4)

O V (s2 ) será a soma de r2 com o V (s3 ).


Considerando o fator de desconto γ, temos: V (s2 ) = r2 + γ 3 V (s3 ).
O fator de desconto: 0 ≤ γ < 1

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 4 / 21
Reward acumulado (3/4)

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 5 / 21
Reward acumulado (4/4)

Desta forma, temos:

V (s0 ) = r0 + γV (s1 )
V (s0 ) = r0 + γr1 + γ 2 V (s2 )
V (s0 ) = r0 + γr1 + γ 2 r2 + γ 3 V (s3 )
V (s0 ) = r0 + γr1 + γ 2 r2 + γ 3 r3

Ou melhor:

V (s0 ) = r0 + γr1 + γ 2 r2 + γ 3 r3 · · · + γ n rn

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 6 / 21
Fator de desconto γ

O fator de desconto (γ) é um hiperparâmetro que consiste em um


número entre 0 e 1 que define a importância das recompensas futuras
em relação a atual (0 ≤ γ < 1).
Valores mais próximos ao 0 dão mais importância a recompensas
imediatas enquanto os mais próximos de 1 tentarão manter a
importância de recompensas futuras.

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 7 / 21
Algoritmo Q-Learning

O algoritmo Q-Learning é um algoritmo do tipo value-based que


estimam a expectativa de retorno de uma ação a sendo executada em
um estado s de acordo com uma polı́tica π: Q π (s, a).
Para que agente possa identificar uma polı́tica de controle ótima este
agente precisa criar um mapeamento entre estados (S) e ações (A).
Desta forma o agente consegue identificar qual é a ação a com maior
retorno em um determinado estado s.

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 8 / 21
Algoritmo Q-Learning

Este mapeamento é representado por uma função Q(S, A) onde S são


todos os estados possı́veis (s1 , s2 , · · · ) e onde A são todas as ações
possı́veis (a1 , a2 , · · · )

Q-table a1 a2 a3 a4
s1
s2
···
sn

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 9 / 21
Algoritmo Q-Learning

Como é que o agente pode saber quais são as melhores ações em cada
estado?

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 10 / 21
Algoritmo Q-Learning

Como é que o agente pode saber quais são as melhores ações em cada
estado?

A ideia é fazer com que o agente aprenda a função de mapeamento


Q(S, A). Ou seja, que seja capaz de identificar qual é a melhor ação
para cada estado através das suas experiências.
Testando infinitas vezes o ambiente. Ou seja, testando muitas vezes
as combinações entre estados (S) e ações (A).

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 10 / 21
Algoritmo Q-Learning

function Q-Learning(env, γ, α, episódios)


inicializar os valores de Q(s, a) arbitrariamente
for todos os episódios do
inicializar s a partir de env
repeat
escolher uma ação a para um estado s
executar a ação a
observar a recompensa r e o novo estado s ′
Q(s, a) ← atualizando a partir das experiências
s ← s′
until s ser um estado final
end for
return Q(s, a)
Poderı́amos simplesmente: Q(s, a) ← r . Será que funciona?

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 11 / 21
Algoritmo Q-Learning

function Q-Learning(env, γ, α, episódios)


inicializar os valores de Q(s, a) arbitrariamente
for todos os episódios do
inicializar s a partir de env
repeat
escolher uma ação a para um estado s
executar a ação a
observar a recompensa r e o novo estado s ′
Q(s, a) ← Q(s, a) + α[r + γ maxA′ Q(s ′ , A′ ) − Q(s, a)]
s ← s′
until s ser um estado final
end for
return Q(s, a)
O valor de Q(s, a) não é simplesmente o valor imediato do r . Ele deve levar em
consideração toda a trajetória (Equação de Bellman).

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 12 / 21
Algoritmo Q-Learning: hiperparâmetro α

α é a taxa de aprendizado (0 < α ≤ 1), quanto maior, mais valor dá


ao novo aprendizado.

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 13 / 21
Que ação escolher?

function Q-Learning(env, α, γ, episódios)


inicializar os valores de Q(s, a) arbitrariamente
for todos os episódios do
inicializar s a partir de env
repeat
escolher uma ação a para um estado s
executar a ação a
observar a recompensa r e o novo estado s ′
Q(s, a) ← Q(s, a) + α[r + γ maxA′ Q(s ′ , A′ ) − Q(s, a)]
s ← s′
until s ser um estado final
end for
return Q(s, a)

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 14 / 21
Exploration vs Exploitation

A polı́tica que o agente utiliza para escolher uma ação a para um


estado s não interfere no aprendizado da Q-table.

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 15 / 21
Exploration vs Exploitation

A polı́tica que o agente utiliza para escolher uma ação a para um


estado s não interfere no aprendizado da Q-table.
No entanto, para que o algoritmo Q-learning possa convergir para um
determinado problema é necessário que o algoritmo visite pares de
ação-estado muitas (infinitas) vezes.

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 15 / 21
Exploration vs Exploitation

A polı́tica que o agente utiliza para escolher uma ação a para um


estado s não interfere no aprendizado da Q-table.
No entanto, para que o algoritmo Q-learning possa convergir para um
determinado problema é necessário que o algoritmo visite pares de
ação-estado muitas (infinitas) vezes.
Por isso, que a escolha de determinada ação em um estado poderia
ser feita de forma aleatória.

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 15 / 21
Exploration vs Exploitation

A polı́tica que o agente utiliza para escolher uma ação a para um


estado s não interfere no aprendizado da Q-table.
No entanto, para que o algoritmo Q-learning possa convergir para um
determinado problema é necessário que o algoritmo visite pares de
ação-estado muitas (infinitas) vezes.
Por isso, que a escolha de determinada ação em um estado poderia
ser feita de forma aleatória.
Porém, normalmente se utiliza uma polı́tica que inicialmente escolhe
aleatoriamente as ações, e, à medida que vai aprendendo, passa a
utilizar cada vez mais as decisões determinadas pela polı́tica derivada
de Q.

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 15 / 21
Exploration vs Exploitation

A polı́tica que o agente utiliza para escolher uma ação a para um


estado s não interfere no aprendizado da Q-table.
No entanto, para que o algoritmo Q-learning possa convergir para um
determinado problema é necessário que o algoritmo visite pares de
ação-estado muitas (infinitas) vezes.
Por isso, que a escolha de determinada ação em um estado poderia
ser feita de forma aleatória.
Porém, normalmente se utiliza uma polı́tica que inicialmente escolhe
aleatoriamente as ações, e, à medida que vai aprendendo, passa a
utilizar cada vez mais as decisões determinadas pela polı́tica derivada
de Q.
Esta estratégia inicia explorando (tentar uma ação mesmo que ela
não tenha o maior valor de Q) e termina escolhendo a ação que tem
o maior valor de Q (exploitation).

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 15 / 21
Exemplo de função para escolha de ações

A escolha de uma ação para um estado é dada pela função:

function escolha(s, ϵ): a


rv = random (0 < rv ≤ 1)
if rv < ϵ then
return uma ação α aleatória em A
end if
return maxa Q(s, a)

O fator de exploração ϵ (0 ≤ ϵ ≤ 1) inicia com um valor alto (0.7, por


exemplo) e, conforme a simulação avança, diminiu: ϵ ← ϵ × ϵdec , onde
ϵdec = 0.99

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 16 / 21
Epsilon

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 17 / 21
Algoritmo Q-Learning

function Q-Learning(env, α, γ, ϵ, ϵmin , ϵdec , episódios)


inicializar os valores de Q(s, a) arbitrariamente
for todos os episódios do
inicializar s a partir de env
repeat
a ← escolha(s, ϵ)
s ′ , r ← executar a ação a no env
Q(s, a) ← Q(s, a) + α[r + γ maxA′ Q(s ′ , A′ ) − Q(s, a)]
s ← s′
until s ser um estado final
if ϵ > ϵmin then ϵ ← ϵ × ϵdec
end for
return Q

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 18 / 21
Atividade de implementação

Implementando o algoritmo Q-Learning


O objetivo desta atividade é implementar uma versão do algoritmo
Q-Learning

Atividades
Siga o roteiro descrito em
[Link] q learning/ Link

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 19 / 21
Atividade de implementação

Hiperparâmetros e seleção das ações


O objetivo desta atividade é compreender o funcionamento e impacto dos
hiperparâmetros de α, γ e dos conceitos de exploration e exploitation.

Atividades
Siga o roteiro descrito em
[Link] x hyperparameters/ Link

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 20 / 21
Material de consulta

Richard S. Sutton and Andrew G. Barto. 2018. Reinforcement


Learning: An Introduction. A Bradford Book, Cambridge, MA, USA.
Capı́tulo 6.5
Watkins, C.J.C.H., Dayan, P. Q-Learning. Machine Learning 8,
279–292 (1992). Link
Aurélien Géron. Hands-On Machine Learning with Scikit-Learn,
Keras, and TensorFlow, 2nd Edition, 2019.

Fabrı́cio Barth (Insper Instituto de Ensino e Pesquisa) Algoritmo Q-Learning Fevereiro de 2025 21 / 21

Você também pode gostar