Aprendizagem por Reforço e
Otimização de Políticas
Esparsas
Prof. Pablo Azevedo Sampaio Tópicos Avançados em Inteligência Artificial Universidade Federal Rural de Pernambuco
Introdução
• Termos comuns
– Agente
– Política (policy)
• Idéia comum
– Agentes vagueiam realizando ações
– Recebem recompensas (reforço) para repetir ou não as ações
Estrutura da Aula
1. Aprendizagem por Reforço
1.1. Soluções da MATP 1.2. Análise
2. Otimização de Políticas Esparsas
1. Aprendizagem por
Reforço
Do Que Trata?
• Política dada por um conjunto de regras
estado-ação
if <estado> then executa <ação>
• Estuda a descoberta da política ótima para
um “ambiente” baseada apenas no reforço
recebido pelo agente ao adotar diferentes
Exemplo de Ambiente
• Mundo da barata
– Grid plano
– Ações e modelo de transição – Comidas e choques
Exemplo do Jogo da Velha
Analisando os Exemplos
• Características comuns
– Quantidade fixa de estados – Quantidade fixa de ações
– Probabilidade fixa de transição
– Recebe recompensas a cada estado
• de forma determinística
Markov Decision Process
• Composto de 5 componentes principais
– S conjunto finito de estados – A conjunto finito de ações
– P(s,a,s’) dá a probabilidade de, ao estar em um estado
s e executar a, chegar ao estado s’
– R(s,a,s’) dá a recompensa dessa transição – Função de recompensa a ser maximizada
0 1,
,
k k k k kR
s
a
s
0 < γ < 1Q-Learning
• É um algoritmo de aprendizagem por reforço
• Mantém uma política (s)
– A melhor descoberta até aquele ponto
• Explora o espaço estado x ação atualizando
(s) a cada passo, para estimar *(s)
Q-Learning
• Mantém a Q-Table, que é uma função Q(s,a)
que estima quão bom seria
– No estado s, realizar a ação a
– E, então, nas ações futuras, seguir *
• Com a Q-Table ótima Q*(s,a), teríamos
• Na verdade, o algoritmo explora o espaço
atualizando Q(s,a), para estimar Q*(s,a)
Q-Learning com Modelo
• Se houver um conhecimento perfeito
– das probabilidades P(.,.,.) e – das recompensas R(.,.)
• Algoritmo offline, calcula Q*(s,a) diretamente
a partir do modelo do problema
• Converge para o ótimo global Q*, pois não
há ótimos locais!
Q-Learning com Modelo
• Atualiza Q(s,a) assim:
– Para cada estado s e cada ação a
Q-Learning
• Na verdade, ele é um algoritmo sem modelo
– Não conhece nem P(.,.,.) nem R(.,.,.)
• Além disso, é um algoritmo online
– Agente vaga pelo mundo, realizando ações, recebendo recompensa e atualizando Q(s,a)
Q-Learning
• Atualiza Q(s,a) assim:
– Quando, no estado s, efetua a ação a e vai para s’ ganhando a recompensa r
• Explicação:
recompensa imediata +utilidade futura,
ao seguir a política atual
valor anterior (histórico das recompensas)
Q-Learning
• Como escolher a ação no estado s?
– Aleatoriamente: converge lentamente
– A melhor ação descoberta: prende em ótimos locais
• Abordagem típica
– Em geral, escolhe a melhor ação
– Mas pode escolher aleatoriamente, com probabilidade ε
• Outras ideias
– Do livro: estilo “Simulated Annealing”
Soluções da MATP
• Hugo Santana, et al. (2004)
– Soluções com aprendizagem por reforço (algoritmo Q-Learning)
– Recompensa imediata: ociosidade do nó
– A função de recompensa adotada equivale à ociosidade média
Santana et al. (2004)
• Criaram agentes de diversos tipos
• Quanto à utilidade
– SU (selfish utility): ociosidade obtida pelo agente
– WLU (wonderful life utility): ociosidade obtida pela sociedade
• Quanto à forma de interação
– BBLA (gray-box learner agent): um agente não conhece as intenções dos outros
Santana et al. (2004)
• O estado tem estas informações:
– O nó atual do agente
– O nó de onde ele veio (dentre os vizinhos) – O nó vizinho de ociosidade mais alta
– O nó vizinho de ociosidade mais baixa
– Os nós adjacentes que serão visitados por outros agentes (GBLA apenas)
Santana et al. (2004)
• Comparação interna
– Melhor geral: GLBA/SU
• Compara com os agentes de Machado (CR,
CC, etc.) e Almeida (HPCC)
– GBLA ganhou na ociosidade média em algumas (não todas) configurações
Problemas
• Regras muito específicas: uma regra por
estado
– Exige exploração detalhada do mundo – Não generaliza
• Q-Learning ainda pior: mantém tabela
estado
ação durante a execução
Alternativas
• Alternativa 1: Policy Search
– Uso de redes neurais para agrupar estados no corpo da regra
• Alternativa 2: Sparse Stochastic Policy
Optimization
– Abordagem também chamada, em geral, de Learning
Classifier Systems? (wikipedia)
2. Otimização de Políticas
Esparsas
Introdução
• A ideia central é adotar regras mais
abrangentes, tais como:
– Ao invés de lidar com 1 ponto do espaço de estados, ela define uma caixa ou região retangular
Introdução
• Política ótima do mundo da barata, com 5
regras
Introdução
• Requer cuidados especiais em duas
situações
• Sub-especificação: quando há estados
não-cobertos por regra
• Como tratar?
– Pode-se adotar uma regra default ou gerar uma nova regra
– Ou pode-se definir um match score que define “quão bem” o estado casa com a regra
Introdução
• Sobre-especificação: quando mais de uma
regra lida com algum estado
• Tratada com um esquema de arbitragem,
geralmente baseado em
– Utilidade da regra
– A variância da utilidade – Erro da utilidade
Tipos de Regras
• Seguem algumas das formas apresentadas
pelo livro de definir as regras:
• Caixas
– Match score:
• Percentual das dimensões em que houve casamento
Tipos de Regras
• Hiper-esfera ou Hiper-elipsóide
– Match score: similar ao das caixas
Tipos de Regras
• Hiperplanos
– Match score: distância ao hiperplano?
• Espaços não-métricos (conjuntos não
ordenados)
Tipos de Regras
• Espaços booleanos
– Match score: quantidade de variáveis casadas (dentre as que importam)
Duas Abordagens
• Duas abordagens para aprender conjuntos
de regras
• Pitt Approach
– Cada candidato é um conjunto de regras de 1 agente
• Michigan Approach ou Learning Classifier
Systems (LCS)
– O indivíduo é uma regra
Introdução
• O livro foca no algoritmo SAMUEL
• Evolui conjuntos de regras (rulesets) como
indivíduos
• Usa ideias de aprendizagem por reforço para
melhorar regras dentro de cada indivíduo
SAMUEL
Quatro passos principais:
1. Cada indivíduo é executado n vezes e, ao final de cada execução, os resultados são usados para atualizar as utilidades das regras
2. As regras dos indivíduos são melhoradas com um operador de mutação especial
SAMUEL – Passo 1
• Simula n execuções completas do agente,
sendo cada execução uma repetição destes
passos:
– Calcula o match set: regras de maior match score – Escolhe uma regra com algum tipo de seleção
• toma a de maior score ou faz uma escolha proporcional ao score
– Aplica a ação a da regra
– Guarda em um conjunto de regras ativas todas as regras que também efetuam a ação a
SAMUEL – Passo 1
• Para escolher quais regras atualizar e quais
deletar, mantém um indicador de atividade
• Quando uma ação a é realizada, toda regra
com a ação a é atualizada assim:
SAMUEL – Passo 1
• Ao final de cada execução, o agente recebe
uma recompensa r, que é usada para atualizar
as qualidades das regras ativas
– Utilidade da regra
– Variância da utilidade da regra
SAMUEL – Passo 2
• Efetua uma dessas mutações para melhorar
as regras:
• Remoção de regra
– Se for antiga, pouco ativa ou fraca – Se for “englobada” por outra regra
SAMUEL – Passo 2
• Generalização de regra
– Análogo à especialização
• Cobertura de regra
– É um tipo de generalização, baseada em conhecimento do disparo das regras
– Condições pouco “satisfeitas” são relaxadas
• Mesclagem de regras
– Para regras fortes com mesmas ações e condições sobrepostas
SAMUEL – Passo 3
• Igual ao passo 1, exceto que
– Não atualiza indicadores de “qualidade” das regras – Calcula o fitness do indivíduo (ruleset) como a soma
das recompensas recebidas em todas as m execuções do agente
SAMUEL – Passo 4
• Faz seleção e reprodução GA-style
• Seleção
– O algoritmo original usa um mecanismo muito complicado
• Livro: equivalente a usar “truncation selection”?
– Qualquer outro mecanismo de seleção seria razoável
• Fitness-proportionate, • Tournament, etc.
SAMUEL – Passo 4
• Mutações
– Alteram as regras aleatoriamente
– Não costumam manter a regra original
• Recombinação
– Trocar subconjuntos aleatórios de regras (troca n-m) – Ou repetir n trocas de regras (n trocas 1-1)
– Evitar separar pares de regras que, juntas, conseguem boas recompensas
SAMUEL
• Alternativas para inicialização dos
indivíduos (rulesets):
– Regras aleatórias
– Regras escolhidas intuitivamente por você – Usar inicialização adaptativa
• Uma regra para cada ação, aceitando todos os estados
Introdução
• Abordagem proposta pelo pioneiro dos GAs
– John Holland
• Tradicionalmente focava em regras booleanas
– Mas já foi generalizada
• Também adota ideias da aprendizagem por reforço
• Veremos duas meta-heurísticas
– ZCS (Zeroth-Level Classifier System)
ZCS
Dois passos principais:
1.A população de regras (atuando como 1 agente) é executada/simulada n vezes
– Fitnesses das regras atualizados durante cada execução – Pode criar regras novas, se necessário
2.Faz reprodução (mutação e crossover) entre as regras
ZCS – Parte 1
• Faz n execuções do agente, sendo cada execução
uma repetição destes passos:
– Calcula o match set: regras que casam exatamente com o estado atual
• se nenhuma casar, cria uma regra aleatória
– Usa seleção para escolher uma regra, resultando na ação a – Calcula o action set: todas as regras que efetuam a
– Atualiza os fitnesses das regras da iteração anterior – Aplica a ação a, coletando a recompensa r
ZCS – Parte 1 (detalhes)
• Atualização do fitness, considerando que
– A e A’ são, nesta ordem, os actions sets das duas últimas iterações
– M e M’ são os match sets das duas últimas iterações – r é a recompensa anterior
ZCS – Parte 1 (detalhes)
• Diminui o fitness das regras que
– Seriam aplicáveis ao estado (estão em M)
– E que efetuariam ações diferentes (não estão em A)
• Assim, para cada regra de M–A
ZCS – Parte 2
• Consiste em uma única iteração de evolução
GA-style das regras:
– Seleciona dois pais – Gera dois filhos assim:
• Com certa probabilidade, faz um crossover seguido de mutação • Ou apenas mutação (nos pais)
– Os fitnesses dos filhos serão a metade dos fitnesses dos pais – Seleciona para remoção dois indivíduos
XCS
• Melhoria do algoritmo ZCS
• Algumas mudanças
– Indicadores de qualidade das regras – Escolha da ação
– Como atualizar os indicadores de qualidade – Seleção e reprodução
XCS
• Indicadores de qualidade das regras
– Fitness – Utility
– Utility error
• Também transformado em “precisão”
• Escolha da próxima ação
XCS
• Atualização dos indicadores de qualidade
• O valor b é a utilidade da melhor ação
• Cada valor ai representa a “precisão” (accuracy) da ação, calculada
XCS
• Seleção e reprodução das regras
– Faz seleção apenas no action set A
• o último?
– Indicadores de qualidade dos filhos distribuídos de modo um pouco diferente
• Utilidade e seu erro: ½ dos valores dos pais
XCS
• Outros acréscimos ao ZCS:
– Contador de multiplicidade de cada regra
– Mecanismo de “incentivo” nos indicadores de novas regras
Resumo
1. Aprendizagem por Reforço
– Algoritmo: Q-Learning – Problemas
• regras pontuais
• explosão do espaço de busca
2. Aprendizagem de Políticas Esparsas
Problema da Porta
Conclusão
• Existem estudos de Otimização de Políticas
acrescentando bits de memória no agente
– “Fairly cutting-edge”