1 / 37

Agentes Baseados em Utilidade

Agentes Baseados em Utilidade. Gustavo Danzi de Andrade Geber Ramalho {gda,glr}@cin.ufpe.br. Na aula passada. Funções de Utilidade: Associam a cada estado um valor real Indica a “felicidade” do agente em estar em cada estado Princípio de Maximização da Utilidade:

Download Presentation

Agentes Baseados em Utilidade

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agentes Baseados em Utilidade Gustavo Danzi de Andrade Geber Ramalho {gda,glr}@cin.ufpe.br

  2. Na aula passada... • Funções de Utilidade: • Associam a cada estado um valor real • Indica a “felicidade” do agente em estar em cada estado • Princípio de Maximização da Utilidade: “Um agente racional deve escolher a ação que maximiza sua utilidade esperada” • Utilidade Esperada • Indica a utilidade de uma ação a que pode resultar em diversos estados s i UE(s,a) = ∑ i T(s,a,s i) . U(s i)

  3. Roteiro • Problemas de Decisões Seqüenciais • PDM • Funções de Utilidade para Problemas Seqüenciais • Aprendizagem por Reforço • Funções Valor • Q-Learning • Exploração vs. Usufruto • Semi-MDPs • PDMPOs

  4. Problemas de Decisões Seqüenciais • Anteriormente estávamos lidando com problemas de decisão episódicos: • Utilidade de cada resultado de uma ação conhecido • Suficiente para tomar uma única decisão • Agora: Problemas de decisões seqüenciais: • Utilidade do agente depende de uma seqüência de decisões • Envolvem utilidades, incertezas e percepção • Podem ser vistos como uma generalização dos problemas de busca e planejamento

  5. 0.8 0.1 0.1 3 +1 2 -1 1 INÍCIO 1 2 3 4 Exemplo: Ambiente 4x3 • Regras: • Interação termina quando agente alcança um dos estados finais • (+1 ou -1) • Ações disponíveis: • Up, Down, Left e Right • Ambiente totalmente observável • Agente sabe onde está • Se bater em uma parede, permanece no mesmo quadrado • Objetivo: • Definir como o agente deve se movimentar... • Dificultando: ações não confiáveis • Locomoção estocástica

  6. 3    +1 2 -1   1     1 2 3 4 Como são as soluções desse problema? • Seqüência fixa de ações não resolve: • Ações não confiáveis não geram estados deterministicamente • Uma solução deve especificar o que o agente deve fazer em qualquer estados em que possa chegar • Solução: construir uma Política (Policy): •  (s) = ação recomendada para estado s • Assim, o agente sabe como atuar em qualquer estado • Utilidade esperada de uma política é dada pelas seqüências de ações que ela pode gerar • Política Ótima *: • Política que produz a mais alta utilidade esperada

  7. Processo de Decisão de Markov (PDM) Especificação de um problema de decisão seqüencial em um ambiente totalmente observável • Definido pelos seguintes componentes: • Conjuntos de estados S e ações A • Estado Inicial: S0 • Modelo de Transição: T(s,a,s’) • Probabilidade de chegar a s’ como resultado da execução da ação a no estado s • Função de Recompensa: R(s) • Utilidade do estado s para o agente • Hipótese de transições Markovianas: • Próximo estado depende apenas da ação atual e do estado atual, não dependendo de estados passados

  8. Exemplos de PDMs

  9. Roteiro • Problemas de Decisões Seqüenciais • PDM • Funções de Utilidade para Problemas Seqüenciais • Aprendizagem por Reforço • Funções Valor • Q-Learning • Exploração vs. Usufruto • Semi-MDPs • PDMPOs

  10. Funções de Utilidade para Problemas Seqüenciais • Como definir funções de utilidade para problemas seqüenciais? U ([s0, s1, ... , sn]) • Primeiro deve-se responder as seguintes perguntas: • O Horizonte Temporal para a tomada de decisão é Finito ou Infinito ?

  11. 3 2 1 1 2 3 4 Horizontes Finitos e Infinitos • Horizontes Finitos: • Existe um tempo limite N após o qual nada mais importa • Uh ([s0, s1, ... , sn+k]) = Uh ([s0, s1, ... , sn]), para todo k > 0 • Exemplo: • Supondo que o agente inicia em (3,1) • N = 3: para atingir +1 agente deve executar a ação Up • N = 100: há tempo suficiente para executar a ação Left e seguir a rota mais segura • Política ótima para um ambiente finito é não estacionária • Pode mudar com o passar do tempo • Horizontes infinitos: • Ação ótima depende apenas do estado atual • Política ótima é estacionária +1 -1 INÍCIO

  12. Cálculo de Utilidade para Seqüência de Estados • Com o que Uh ([s0, s1, ... , sn]) se parece ? • Função de utilidade com vários atributos... • Existem duas maneiras de atribuir utilidades a seqüências de estados: • Recompensas aditivas (horizontes finitos) • Uh ([s0, s1, ... , sn]) = R(s0) + R(s1) + ... + R(sn) • Recompensas descontadas (horizontes finitos e infinitos) • Uh ([s0, s1, ... , sn]) = R(s0) +  R(s1) + 2 R(s2) + ... • Onde  é chamado fator de desconto e tem valor entre 0 e 1 • Fator de desconto: • Descreve a preferência de um agente com relação a recompensas atuais sobre recompensas futuras •  próximo a 0  recompensas no futuro distante são irrelevantes •  = 1  recompensa aditiva

  13. E a solução? • Conseguimos identificar a utilidade de seqüências de ações... • ... mas ainda não sabemos como codificar o comportamento do agente • Em outras palavras, como achar a política ótima *?

  14. Roteiro • Problemas de Decisões Seqüenciais • PDM • Funções de Utilidade para Problemas Seqüenciais • Aprendizagem por Reforço • Funções Valor • Q-Learning • Exploração vs. Usufruto • Semi-MDPs • PDMPOs

  15. O que é Aprendizagem por Reforço • Problema de aprendizagem (não é uma técnica) • Agentes capazes de aprender a escolher ações apenas interagindo com o ambiente • Um agente, em um ambiente • A cada instante de tempo t: • o agente está em um estados • executa uma açãoa • vai para um estados’ • recebe uma recompensar (determinística ou estocástica) • Processo de Decisão de Markov (PDM) • Problema da aprendizagem por reforço: • Encontrar a política de ações que maximize o total de recompensas recebidas pelo agente

  16. Função valor dos Estados V(s) • Algoritmo Value Iteration • Como saber se um determinado estado é bom ou ruim? • V(s)  R • Representa a recompensa recebida em um estado s, mais as recompensas futuras se seguir uma política de ações  • V(s0) = r0 + r1 + r2 + r3 + ... • Problema: se o tempo for infinito, a função valor do estado tende a infinito • Para diferenciar recompensas distantes do estado atual, usa-se um fator de desconto • 0    1 • V(st) = rt +  rt+1 + 2 rt+2 + 3 rt+3 ... • V(st) = rt + V(St+1) • Ex. Se  = 90%, então: • V(st) = rt + 0.9 rt+1 +0.81 rt+2 +0.729 rt+3 ...

  17. Função valor das Ações Q(s,a) • Q(s,a)  R • Analogamente, ela diz a soma das recompensas a obter dado que: • o agente está no estado s • executou uma ação a • a partir daí, seguiu uma política de ações  • Q(s,a) = r(s,a) + V(s’), onde: • s’ = (s,a)

  18. Aprendizagem por reforço • Tarefa de aprendizagem por reforço: • Aprender uma política de ações * ótima, que maximiza a função V (V*) ou a função Q (Q*) • * = argmax[V(s)] • Se o ambiente é conhecido, ou seja,  e r(s,a) são conhecidos: • V*(s) =maxa[ r(s,a) + V*((s,a) ) ] • *(s) = argmaxa[r(s,a) + V*((s,a) )] • Equações de Bellman: • Programação dinâmica computa uma política ótima em tempo polinomial • Em geral, não temos conhecimento prévio do ambiente ou é difícil estimar estas funções...

  19. Roteiro • Problemas de Decisões Seqüenciais • PDM • Funções de Utilidade para Problemas Seqüenciais • Aprendizagem por Reforço • Funções Valor • Q-Learning • Exploração vs. Usufruto • Semi-MDPs • PDMPOs

  20. Q-Learning • Algoritmo de aprendizagem para computar a função Q ótima (valor das ações) • *(s) = argmaxa[Q(s,a)] • não é função de  • Q*(s,a) = r(s,a) +  maxa’ [Q(s’,a’)]

  21. Q-Learning para mundos determinísticos • Para todo estado s e ação a, inicialize a tabela Q[s][a] = 0; • Para sempre, faça: • Observe o estado atual s; • Escolha uma ação a e execute; • Observe o próximo estado s’ e recompensa r • Atualize a tabela Q: • Q[s][a] = r +  maxa’ (Q[s’][a’])

  22. Ambientes não determinísticos • Recompensas serão não determinísticas • Suponha que a sequência de recompensas recebidas em um determinado estado foi: • 100, 98, 101, 97, 90, 103, 10 • O valor da função Q vai refletir apenas o último valor! • Solução: usar uma taxa de aprendizagem  • Qn(s,a) = (1-)Qn-1(s,a) + [r + maxa’Qn-1(s’,a’)] • A atualização de Q não “esquece” dos valores anteriores

  23. Roteiro • Problemas de Decisões Seqüenciais • PDM • Funções de Utilidade para Problemas Seqüenciais • Aprendizagem por Reforço • Funções Valor • Q-Learning • Exploração vs. Usufruto • Semi-MDPs • PDMPOs

  24. Dilema: Exploration x Exploitation • Usufruir • Escolher a ação que atualmente está com maior valor Q(s,a) • Explorar • Escolher uma ação randômica, para que seu valor Q(s,a) seja atualizado • Dilema • Dado que eu aprendi que Q(s,a) vale 100, vale a pena tentar executar a ação a’ se Q(s,a’) por enquanto vale 20 ? • Depende do ambiente, da quantidade de ações já tomadas e da quantidade de ações restantes

  25. Métodos para balancear exploration e exploitation • -Greedy • A cada iteração, escolhe uma ação exploratória(randômica) com probabilidade  • Escolha de ações softmax • A probabilidade de uma ação ser escolhida varia de acordo com o valor de Q(s,a) • Pode-se usar o conceito de temperatura de simulated annealing: • T = infinito, ação totalmente exploratória • T = zero, ação totalmente gulosa

  26. Roteiro • Problemas de Decisões Seqüenciais • PDM • Funções de Utilidade para Problemas Seqüenciais • Aprendizagem por Reforço • Funções Valor • Q-Learning • Exploração vs. Usufruto • Semi-MDPs • PDMPOs

  27. Semi-MDP • Como o agente pode levar em conta o tempo de suas ações? • Ex. no jogo de luta: É melhor dar vários socos fracos ou um soco forte? • Soco forte provavelmente traria maior recompensa • Demoraria mais tempo para ser executado

  28. Semi-MDP • O formalismo SMDP engloba este conceito • A atualização de Q passa a ser dada por: Q[s][a] =(1- ) Q[s][a]+ [ r + t maxa’ (Q[s´][a’])] • Onde t é o tempo (discreto ou contínuo) em que o agente executou a ação a • Desta maneira, as recompensas futuras passam a valer menos se o agente passar muito tempo executando uma ação

  29. Algumas aplicações • [Tesauro 1995] Modelagem do jogo de gamão como um problema de aprendizagem por reforço: • Vitória: +100 • Derrota: – 100 • Zero para os demais estados do jogo (delayed reward) • Após 1 milhão de partidas contra ele mesmo, joga tão bem quanto o melhor jogador humano • Robocup (time Brainstormers): • RL em situações específicas • 2 atacantes contra 2 defensores • No CIn • Patrulha multi-agente • Knock’em: IA do NPC de um Jogo de Luta

  30. Roteiro • Problemas de Decisões Seqüenciais • PDM • Funções de Utilidade para Problemas Seqüenciais • Aprendizagem por Reforço • Funções Valor • Q-Learning • Exploração vs. Usufruto • Semi-MDPs • PDMPOs

  31. PDMs Parcialmente Observáveis (PDMPOs) • MDPs assumem que o ambiente é totalmente observável • Política ótima depende apenas estado atual • Em ambientes parcialmente observáveis agente não sabe necessariamente onde ele está • Quais os problemas que surgem? • Agente não pode executar ação (s) recomendada para o estado, pois não consegue identificar o s atual • Utilidade do estado s e a ação ótima depende não só de s, mas de quanto o agente conhece sobre s

  32. 3 +1 2 -1 1 1 2 3 4 PDMs Parcialmente Observáveis (PDMPOs) • Exemplo: agente não tem menor idéia de onde está • S0 pode ser qualquer estado, menos os finais • Solução: Mover Left 5 vezes Up 5 vezes e Right 5 vezes

  33. PDMs Parcialmente Observáveis (PDMPOs) • Possui os mesmo elementos de um MDP acrescentando apenas: • Modelo de Observação: O(s, o) • As observações o do agente no estado s • Conjunto de estados reais que o agente pode estar = Belief State (ou estado de crenças) • Em PDMPOs um Belief State b, é uma distribuição de probabilidade sobre todos os estados possíveis: • Ex.: estado inicial na figura = {1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 1/9, 0, 0} • b(s) denota a probabilidade associada ao estado s pelo Belief State b

  34. PDMs Parcialmente Observáveis (PDMPOs) • b = Belief State atual • Agente executa a ação a e percebe a observação o, então: • Novo Belief State b’ = FORWARD (b, a, o) • Por exemplo: o = parede em cima • Ciclo de decisão de um agente PDMPO: 1. Dado o Belief State corrente b, execute ação a = * (b) 2. Receba observação o 3. Atualize o Belief State corrente usando FORWARD (b, a, o) • Ponto fundamental em PDMPOs: • A ação ótima depende apenas do Belief State corrente do agente • * (b): mapeamento de crenças em ações

  35. Resumo... • Problemas de decisões seqüenciais: • Utilidade do agente depende de uma seqüência de decisões • Envolvem utilidades, incertezas e percepção • Comportamento ótimo para um agente, que implementa um PDM: • <S, A, T(s,a,s’), R(s)> • R(s): funções aditivas ou descontadas • Q-Learning Q[s][a] =(1- ) Q[s][a]+ [ r + t maxa’ (Q[s´][a’])] • PDMPO • <S, A, T(s,a,s’), R(s),O>

  36. Complexidade de Q-Learning • Escolher uma ação é barato no tempo • No entanto, o tempo de treinamento cresce com #S • Em espaço: O(#S x #A) • Problemas • O número de estados possíveis cresce exponencialmente com a quantidade de características representadas • Como tratar estados contínuos?

  37. Exemplo prático: Jogo da Velha • Espaço de estados: • S = (S1, S2, ..., S9) • onde Si {livre,vermelho,preto} • Espaço de ações: • Qualquer posição livre • Recompensa • +100 se ganhar, -100 se perder • Não há recompensa nos estados intermediários

More Related