1. UNIVERSIDADE ESTADUAL DO MARANHÃO – UEMA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DA
COMPUTAÇÃO E SISTEMAS – PECS
DISCIPLINA: Aprendizagem de Máquina
Q-learning: Aprendizagem por reforço – AR
Lanylldo Araujo
Profº. Ms. Josenildo Silva
São Luis – MA, 02/01/2014
2. ROTEIRO
1. Introdução : o problema
2. Contexto: Aprendizagem por reforço
3. Algoritmo: Q-learning
4. Aplicação do algoritmo
5. Considerações Finais
8. Introdução: o problema
Como desenvolver um agente que deve ter a capacidade de
aprender qual rota(a) um robô pode percorrer para sair do
ponto A e chegar a um ponto B de uma cidade ?
10. Contexto: Aprendizagem por Reforço
Segundo Mitchell (1997, p.367) é uma paradigma
computacional de aprendizagem onde um agente autônomo
percebe e age no seu ambiente para aprender a escolher
melhores ações com o intuito de atingir seus objetivos.
11. Contexto: Aprendizagem por Reforço
Um exemplo de aprendizagem por reforço, a formação de um
agente para jogar um jogo onde o agente pode oferecer uma
recompensa positiva quando o jogo é ganho, recompensa
negativa quando se está perdendo e zero recompensa em todos
os outros estados Mitchell (1999,p.367).
12. Contexto: Aprendizagem por Reforço
S0
r0
S1
a1a0
r1
S2
…
Agent
Environment
state reward action
Fonte: (MITCHELL,1997, p.365)
22. Contexto: Aprendizagem por Reforço
“... O aprendizado baseia-se no agente interagir com o
ambiente para realizar o aprendizado, este ambiente é
representado por um conjunto finito de estados S = { s¹,
s²...s³ } , cujos elementos s representam os estados do
ambiente...” Sutton (1998,p.234).
23. Contexto: Markov
“... O São ditos “de Markov” (ou “Markovianos”) porque
os processos modelados obedecem a propriedade de
Markov: o efeito de uma ação em um estado depende
apenas da ação e do estado atual do sistema ...”(P
ELLEGRINI, 2007, p.134).
24. Contexto: Processo de decisão de Markov (MDP)
• é uma tupla (S, A, T, R) onde:
✔
S é um conjunto de estados;
✔
A é um conjunto de ações;
✔
T é probabilidade de o sistema passar para outro estado
s ∈ S, dado uma ação a ∈ A (denotada T (S |S, A));
✔
R : S → A é uma função que dá recompensa por tomar
uma decisão.
25. Contexto: Processo de decisão de Markov (MDP)
PROBLEMA ESTADO AÇÕES RECOMPENSA
Agente Jogador
de damas
Configurações do
tabuleiro
Mover uma
determinada
peça
capturas +
perdas -
Agente em jogo
de luta
Posições/energia dos
lutadores, tempo, se
está sendo atacado ou
não, etc...
Mover em uma
determinada
direção, lançar
magia, dar
porrada, etc...
Sangue tirado +
Sangue perdido -
Robô Aspirador
de Pó
interagir com o
ambiente e a
reconhecer os
obstáculos
Ir para norte ou
sul, e ir para a
esquerda ou
direita
Aspirar pó sem
esbarrar em
objeto +
Esbarrar em
objeto -
26. Contexto: Processo de decisão de Markov (MDP)
PROBLEMA ESTADO AÇÕES RECOMPENSA
Agente Jogador
de damas
Configurações do
tabuleiro
Mover uma
determinada
peça
capturas +
perdas -
Agente em jogo
de luta
Posições/energia dos
lutadores, tempo, se
está sendo atacado ou
não, etc...
Mover em uma
determinada
direção, lançar
magia, dar
porrada, etc...
Sangue tirado +
Sangue perdido -
Robô Aspirador
de Pó
interagir com o
ambiente e a
reconhecer os
obstáculos
Ir para norte ou
sul, e ir para a
esquerda ou
direita
Aspirar pó sem
esbarrar em
objeto +
Esbarrar em
objeto -
27. Contexto: Processo de decisão de Markov (MDP)
PROBLEMA ESTADO AÇÕES RECOMPENSA
Agente Jogador
de damas
Configurações do
tabuleiro
Mover uma
determinada
peça
capturas +
perdas -
Agente em jogo
de luta
Posições/energia dos
lutadores, tempo, se
está sendo atacado ou
não, etc...
Mover em uma
determinada
direção, lançar
magia, dar
porrada, etc...
Sangue tirado +
Sangue perdido -
Robô Aspirador
de Pó
interagir com o
ambiente e a
reconhecer os
obstáculos
Ir para norte ou
sul, e ir para a
esquerda ou
direita
Aspirar pó sem
esbarrar em
objeto +
Esbarrar em
objeto -
28. O algoritmo: Q-learning
“... Q-learning, segundo Mitchell (1999,p.386) é
uma forma de reforço de aprendizagem em que o
agente aprende uma função de avaliação sobre os
estados e ações. Essa função de avaliação é
definida por Q ( s , a) ...”
29. //Algoritmo Q-learning
1 Para cada s,a inicializar a entrada da tabela Q(s, a) para zero.
2 Observe o estado atual s
3 Faça sempre:
4 Selecione uma ação a utilizado a política e executa
5 Receba recompensa imediata r
6 Observe o novo estado s'
7 Atualizar a entrada da tabela de Q (s, a), de acordo com:
8 Q ( s , a ) r + ymax(s',a')
a'
9 s ← s'
Algoritmo Q-learning
30. Aplicação do Algoritmo
.
Código de um algoritmo Q-learning, onde o agente tem a
capacidade de aprender um caminho entre a sua posição
inicial e a posição do outro robô.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52. Referências
.
Mitchell, T. Machine Learning. McGraw-Hill, New York, 1997.
LIMA, F.C.J. Algoritmo Q-learning como estrategia de
exploração e/ou explotação para as mataheurísticas GRASP e
algoritmos genéticos. Disponível em:<ftp://ftp.ufrn.br/pub/LJ.pdf>.
Acessado em: 25 de abril de 2014.
PELLEGRINI, J; WAINER.J. Processo de decisão de Markov: um
tutorial. São Paulo, 2007.