Post on 07-Apr-2016
Page1
DAS-5341: Métodos Monte Carlo
Prof. Eduardo Camponogara
Page2
Método Monte Carlo• Vamos considerar métodos para aprender
a estimar funções valor e descobrir políticas de controle ótimas
• Diferentemente dos métodos DP, métodos Monte Carlo (MC) não necessitam de informação completa do ambiente– Métodos MC utilizam apenas experiência—
sequências de estados, ações e ganhos a partir de interação com o ambiente ou a partir de simulações
Page3
Método Monte Carlo• Aprendizagem a partir de experiência on-
line é fascinante no sentido de que esta não requer conhecimento a priori da dinâmica do ambiente, mesmo assim consegue encontrar uma política ótima
• Aprendizagem a partir de experiência simulada também é poderosa
Page4
Método Monte Carlo• Embora um modelo seja necessário, este
necessita gerar apenas exemplos de transições, não sendo necessário distribuições de probabilidades– Em várias situações é fácil gerar experiência
de acordo com a distribuição desejada, mas muito difícil de se obter a distribuição
• Métodos MC são meios de se resolver problemas de aprendizagem por reforço, tomando como base médias dos retornos obtidos em sequências
Page5
Método Monte Carlo
Simulador do
AmbienteAgente
Estado eSinais de Reforço
Comandos/Ações
Page6
Método Monte Carlo• No sentido de se garantir que os retornos
sejam bem-definidos, define-se métodos MC apenas para tarefas episódicas– Assume-se que a experiência é dividida em
episódios, que todos os episódios eventualmente terminam, qualquer que seja a sequência de ações
– Apenas ao final do episódio, as estimativas dos valores e as políticas são modificadas
– MC é incremental em episódios, não em passos
Page7
Agenda• Próximos Assuntos
– A computação de V e Q para uma política fixa
– Melhoria de política
– Iteração generalizada de política
Page8
Avaliação de Política Monte Carlo
• Dado , desejamos obter um método de aprendizagem para estimar V
– Lembrando que o valor de um estado é o retorno esperado—ganhos futuros, esperados, e cumulativos a partir do estado
– Um forma óbvia de estimarmos o valor de um estado, então, é simplesmente calcular a média dos retornos observados após visitarmos aquele estado
Page9
Avaliação de Política Monte Carlo
Estado s
Trajetória 1, Ganho = 30
Ganho = 20
Ganho = 28
Estado Terminal
V(s) = (30+20+28)/3 = 26
Page10
Avaliação de Política Monte Carlo
• À medida que trajetórias são produzidas, e ganhos são observados, a média deve convergir para o valor esperado.– Esta é a idéia básica de métodos MC
• Suponha que desejamos estimar V(s), o valor de um estado s sob a política , dado um conjunto de episódios obtidos a partir de e passando por s– Cada ocorrência de s em um episódio é
chamada de visita a s Estado Terminal
Visita a s
s s
Page11
Avaliação de Política Monte Carlo
• Every-visit MC Method: – Estima V(s) como a média dos retornos que
seguem cada visita a s em um episódio• First-visit MC Method:
– Estima V(s) como a média dos retornos que seguem a primeira visita a s em um episódio
• Observações– Método MC FV é o mais estudado– Ambos os métodos, FV e EV, convergem
para V(s) à medida que o número de visitas (ou primeiras visitas) tende ao infinito
Page12
Avaliação de Política Monte Carlo
• É fácil de ver que o método MC FV (first visit) converge para o valor esperado
– Neste caso, cada retorno é uma amostra independente e identicamente distribuída (i.i.d) de V(s)
– A partir da lei dos grandes números, a sequência de médias converge para o valor esperado de V(s)
Page13
Avaliação de Política Monte Carlo
• Inicialização política a ser avaliada
V função valor-estado arbitráriaReturn(s) lista vazia, para todo s S
• Repita indefinidamenteGere um episódio usando Para cada estado s que aparece no episódio• R retorno seguindo a primeira ocorrência de
s• Adicione R à lista Return(s)• V(s) Average(Return(s))
Page14
Exemplo: Blackjack• O objetivo do jogo é obter cartas cuja soma de
seus números é o mais próximo de 21, mas sem exceder este valor
• Todas as cartas com figuras contam como 10 e o Ás pode contar como 1 ou 11
• O jogo começa com duas cartas para o jogador e duas para o distribuidor– Uma das cartas do distribuidor pode ser
vista• Se o jogador tem 21, então ele ganha o jogo a
menos que o distribuidor também tenha 21, definindo um empate
Page15
Exemplo: Blackjack• O jogador pode pedir uma nova carta (“hit”)
até que ele pare (“stick”) ou ultrapasse o valor de 21 (“goes bust”), neste último caso ele perde o jogo
• O distribuidor segue uma estratégia fixa, sem margem para escolha:– Ele pára se a soma for igual ou superior a
17, caso contrário ele pede carta
Page16
Blackjack: Formulação• Blackjack é naturalmente formulado
como um MDP episódico e finito– Cada jogo de blackjack é um episódio
– Os retornos são –1, +1 e 0 (derrota, vitória e empate)
– Todos os ganhos intermediários do jogo são nulos e assumimos que não há taxa de amortização ( = 1)
Page17
Blackjack: Formulação• As ações dos jogadores são “hit” e “stick”
• Assumimos que o estado é dado pela soma dos valores das cartas dos dois jogadores
Page18
Blackjack: Formulação• Assumimos que o estado é dado pela
soma dos valores das cartas dos dois jogadores
– Assumimos que as cartas são retiradas de um baralho de tamanho infinito, portanto não há vantagem em recordarmos quais cartas foram retiradas do baralho
Page19
Blackjack: Formulação• Observações:
– Note que o mesmo estado nunca re-ocorre em um episódio, portanto não há diferença entre os métodos MC first-visit e every-visit
– Embora tenhamos conhecimento completo do ambiente, seria muito difícil aplicar métodos DP para calcular a função valor
Page20
Blackjack: Formulação
• Embora tenhamos conhecimento completo do ambiente, seria muito difícil aplicar métodos DP para calcular a função valor
– DP requer a distribuição dos próximos estados
– Precisamos Ps,s’a e Rs,s’
a, que não são fáceis de computar
Page21
Estimação MC do Valor das Ações
• Se um modelo não está disponível (MDP), então é útil estimarmos o valor das ações, Q*(s,a), em vez do valor dos estados, V*(s)
Page22
Estimação MC do Valor das Ações
• Se um modelo não está disponível (MDP), então é útil estimarmos o valor das ações, Q*(s,a), em vez do valor dos estados, V*(s)– Quando o modelo é conhecido, os valores
dos estados são suficientes: simplesmente “olhamos” um passo a frente e escolhemos a ação que nos leva à melhor combinação de retorno e próximo estado
Max Ps,s’a[Rs,s’
a + V*(s’)] s’
a
Page23
Estimação MC do Valor das Ações
• Sem um modelo, entretanto, o valor do estado sozinho não é suficiente: temos que explicitamente estimar o valor de cada ação, o que nos permitirá sugerir uma política de controle
• Um dos objetivos principais dos métodos MC é estimar Q*. Para que isto seja feito, vamos inicialmente considerar o problema de avaliar uma política– O problema de estimar Q(s, a), o retorno
esperado quando iniciamos no estado s, tomamos a ação a, e seguimos a política
Page24
Estimação MC do Valor das Ações
• Os métodos MC são essencialmente os mesmos vistos para estimar o valor dos estados
– A única complicação é que muitos pares estado-ação podem não ser visitados
– Se é uma política determinística, então ao seguirmos observamos retornos apenas de uma ação para cada estado
Page25
Estimação MC do Valor das Ações
• Para que os métodos MC funcionem, necessitamos estimar o valor de todas as ações a partir de cada estado, não apenas aquelas ações favorecidas pela política
– Este é o problema geral de manter a propriedade de exploração
exploração
Page26
Estimação MC do Valor das Ações
• Duas maneiras de garantir a propriedade de exploração
– Um forma de garantir a exploração continuada é iniciar cada episódio em uma par estado-ação, sendo que cada par tem probabilidade não nula de ser selecionado como inicial
– Outra forma é considerar apenas políticas estocásticas que associam probabilidade não nula a todas as ações
Page27
Controle Monte Carlo• Agora estamos em uma posição que nos
permite considerar como que estimação MC pode ser utilizada no controle, ou seja, na aproximação de uma política ótima
– Procedemos da mesma forma que em GPI (Generalized Policy Iteration). GPI mantém aproximações para política e aproximações para função valor
Page28
Controle Monte Carlo
• As duas formas acima de modificação (avaliação & melhoria) trabalham de certa forma uma contra a outra, cada uma criando uma meta para outra, mas juntamente eles fazem com que a política e a função valor-ação se aproximam das ótimas.
Qgreedy(Q)
Q QAvaliação
Melhoria
Page29
Controle Monte Carlo
Qgreedy(V)
Q Q
* Q*
Avaliação
Melhoria
Page30
Controle Monte Carlo• Para avaliação MC, avaliação de política é feita
exatamente como anteriormente. No momento, vamos assumir que:a) Observamos um número infinito de
episódiosb) Os episódios são gerados de acordo com a
propriedade de exploração de pares estado-ação
– Para melhoria de política, faz-se a política gulosa com respeito aos valores correntes da função valor
Page31
Controle Monte Carlo• Condições não realísticas
– Episódios satisfazem a condição de exploração inicial
– Avaliação de política pode ser realizada com um número infinito de episódios
• Algoritmo prático– Para obter-se um algoritmo prático, teremos
de remover ambos os obstáculos acima
Page32
Controle MC: Superando Obstáculos
• Duas maneiras de contornar a condição de número infinito de episódios:– Aproximar Q em vez computá-la
precisamente– Interromper o processo de avaliação, antes
de se obter convergência, executando melhoria de política
• Para métodos MC é natural alternarmos entre avaliação de política e melhoria de política de episódio em episódio
Page33
Controle MC ES (“Exploring Starts”)
• Inicialize para todo s S, a A(s)(s) arbitrária
Q(s,a) arbitráriaReturn(s,a) lista vazia
• Repita indefinidamentea) Gere um episódio usando e a condição de
exploração inicialb) Para cada par (s,a) que aparece no episódio faça
– R retorno seguindo a primeira ocorrência de (s,a)– Adicione R à lista Return(s,a)– Q(s,a) Average(Return(s,a))
c) Para cada s no episódio faça– (s) <- ArgMaxa Q(s,a)
Page34
Controle MC ES• Observação
– Monte Carlo ES não pode convergir para uma política subótima
– Estabilidade é atingida apenas quando a política e a função valor são ambas ótimas
Page35
Exemplo: Blackjack
Page36
On-Policy Monte Carlo• Podemos evitar a condição indesejável de
exploração inicial?– A única forma geral de garantir que ações
sejam selecionadas infinitamente frequentemente é fazer com que o agente selecione-as continuamente
• Duas abordagens:– On-line methods: avaliam e melhoram a
política usada para tomar decisões– Off-line methods: há uma política chamada
behavior policy (usada para gerar episódios) e outra política, estimation policy, que está sendo avaliada e melhorada
Page37
On-Policy Monte Carlo• Em Monte Carlo OL, a política é
geralmente flexível (soft) (s, a) > 0 para todo s S e a A(s).
• Há várias possibilidades de se implementar políticas flexíveis– Uma possibilidade é tender gradualmente a
política para uma política determinística ótima
Page38
Controle MC OP (On-Policy MC)• O método a ser apresentado utiliza uma
política -gulosa– Quase sempre escolhemos uma ação com
máximo retorno estimado, mas com uma probabilidade não nula selecionamos as demais ações aleatoriamente
– As ações não gulosas recebem probabilidade /|A(s)|
– O restante da probabilidade , 1 – + /|A(s)|, é dado à ação gulosa
Page39
Controle MC OP
• A idéia geral do Controle MC OP é a mesma de GPI (Generalized Policy Improvement)
Qgreedy(Q)
Q QAvaliação
Melhoria
Page40
Controle MC OP -- Algoritmo• Inicialize para todo s S, a A(s)
(s) uma política -flexível arbitráriaQ(s,a) arbitráriaReturn(s,a) lista vazia
Page41
Controle MC OP -- Algoritmo• Repita indefinidamente
a) Gere um episódio usando b) Para cada par (s,a) que aparece no episódio
faça– R retorno seguindo a primeira ocorrência
de (s,a)– Adicione R à lista Return(s,a)– Q(s,a) Average(Return(s,a))
c) Para cada s que aparece no episódio faça– A* <- ArgMaxa Q(s,a)– Para todo a A(s)
» (s,a) 1 – + /|A(s)| se a = a*» (s,a) /|A(s)| se a a*
Page42
Off-Policy Monte Carlo Control• Uma característica dos métodos on-policy é
que eles estimam o valor da política enquanto esta é utilizada para controle
• Em métodos off-policy, as duas funções acima são separadas– A política utilizada para gerar o comportamento
(behavior policy) pode ser não relacionada a política que está sendo estimada e melhorada (estimation policy)
– Uma vantagem desta separação é que a política que está sendo estimada pode ser determinística (-greedy), enquanto que a política de comportamento seleciona todas as ações
Page43
Fim• Obrigado pela presença!