A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Agentes Baseados em Utilidade Gustavo Danzi de Andrade Geber Ramalho

Apresentações semelhantes


Apresentação em tema: "Agentes Baseados em Utilidade Gustavo Danzi de Andrade Geber Ramalho"— Transcrição da apresentação:

1 Agentes Baseados em Utilidade Gustavo Danzi de Andrade Geber Ramalho

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 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 INÍCIO

6 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      +1 

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: S 0  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 ProblemaEstadosAçõesRecompensas 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-se em uma determinada direção, lançar magia, dar porrada, etc... (Sangue tirado – sangue perdido) Agente patrulhadorPosição no mapa (atual e passadas), ociosidade da vizinhança, etc... Ir para algum lugar vizinho do mapa Ociosidade (tempo sem visitas) do lugar visitado atualmente

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 ([s 0, s 1,..., s n ]) Primeiro deve-se responder as seguintes perguntas:  O Horizonte Temporal para a tomada de decisão é Finito ou Infinito ?

11 Horizontes Finitos e Infinitos Horizontes Finitos:  Existe um tempo limite N após o qual nada mais importa  U h ([s 0, s 1,..., s n+k ]) = U h ([s 0, s 1,..., s n ]), 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 INÍCIO +1

12 Cálculo de Utilidade para Seqüência de Estados Com o que U h ([s 0, s 1,..., s n ]) 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) U h ([s 0, s 1,..., s n ]) = R(s 0 ) + R(s 1 ) R(s n )  Recompensas descontadas (horizontes finitos e infinitos) U h ([s 0, s 1,..., s n ]) = R(s 0 ) +  R(s 1 ) +  2 R(s 2 ) +... 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 estado s o agente está em um estado s executa uma ação a executa uma ação a vai para um estado s’ vai para um estado s’ recebe uma recompensa r (determinística ou estocástica) recebe uma recompensa r (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 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  (s 0 ) = r 0 + r 1 + r 2 + r 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  (s t ) = r t +  r t+1 +  2 r t+2 +  3 r t+3...  V  (s t ) = r t +  V  (S t+1 )  Ex. Se  = 90%, então: V  (s t ) = r t r t r t r t+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) =max a [ r(s,a) +  V*(  (s,a) ) ]   *(s) = argmax a [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) = argmax a [Q(s,a)] não é função de  Q*(s,a) = r(s,a) +  max a’ [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 +  max a’ (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   Q n (s,a) = (1-  )Q n-1 (s,a) +  [r + max a’ Q n-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 max a’ (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 PDMs Parcialmente Observáveis (PDMPOs) Exemplo: agente não tem menor idéia de onde está  S 0 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:   R(s): funções aditivas ou descontadas Q-Learning Q[s][a] =(1-  ) Q[s][a]+  [ r +  t max a’ (Q[s´][a’])] PDMPO 

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 = (S 1, S 2,..., S 9 )  onde S i {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


Carregar ppt "Agentes Baseados em Utilidade Gustavo Danzi de Andrade Geber Ramalho"

Apresentações semelhantes


Anúncios Google