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

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

Agentes Baseados em Utilidade

Apresentações semelhantes


Apresentação em tema: "Agentes Baseados em Utilidade"— Transcrição da apresentação:

1 Agentes Baseados em Utilidade
Gustavo Danzi de Andrade Geber Ramalho

2 UE(s,a) = ∑ i T(s,a,s i) . U(s i)
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: Objetivo:
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 1 2 4 3 INÍCIO -1 +1 0.8 0.1

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 2 4 3 -1 +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: 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 Problema Estados Ações Recompensas
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 patrulhador Posiçã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 ([s0, s1, ... , sn]) Primeiro deve-se responder as seguintes perguntas: O Horizonte Temporal para a tomada de decisão é Finito ou Infinito ?

11 Horizontes Finitos e Infinitos
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 2 4 3 +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 estado s executa uma ação a vai para um estado s’ 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

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 + 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(st) = rt +  rt+1 + 2 rt+2 + 3 rt+3 ... V(st) = rt + V(St+1) Ex. Se  = 90%, então: V(st) = rt rt rt 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 Q*(s,a) = r(s,a) +  maxa’ [Q(s’,a’)]
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 Q[s][a] =(1- ) Q[s][a]+ [ r + t maxa’ (Q[s´][a’])]
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 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 1 2 4 3 -1 +1

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 Q[s][a] =(1- ) Q[s][a]+ [ r + t maxa’ (Q[s´][a’])]
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


Carregar ppt "Agentes Baseados em Utilidade"

Apresentações semelhantes


Anúncios Google