Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.