aprendizado multiagente gustavo danzi de andrade [email protected] agentes autônomos patrícia...

44
Aprendizado Multiagente Gustavo Danzi de Andrade [email protected] Agentes Autônomos Patrícia Tedesco

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Aprendizado Multiagente

Gustavo Danzi de [email protected]

Agentes AutônomosPatrícia Tedesco

Page 2: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Lembrando

Aprendizado Um sistema que aprende melhora seu

comportamento futuro com base na experiência do passado

Envolve Aquisição de conhecimento Melhoria da performance Processo conduzido pelo próprio agente

Aplicação Ambientes complexo, grandes e dinâmicos O aprendizado pode ser off-line ou on-line

Page 3: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Motivação

Por que SMA? Muitos problemas do mundo real são melhor

modelados/resolvidos através de um conjunto de agentes

Mas SMAs estão tipicamente inseridos em ambientes complexos – grandes, dinâmicos e imprevisíveis

Por que aprendizado? A aquisição manual de conhecimento é difícil

(manutenção, adaptação e tratamento de incerteza)

Mas a inteligência pode não depender apenas de um único agente

Page 4: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Motivação

Portanto... vamos estudar o melhor dos mundos!

SMA Aprendizado

Aprendizado Multiagente

Page 5: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Roteiro

Alguns Conceitos Características: aprendizado em SMA Aprendizagem por reforço Aprendizado em SMA

Aprendizado e coordenação de atividades Aprendizado sobre e a partir de outros agentes Aprendizado e comunicação

Conclusões

Page 6: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Alguns Conceitos

Inteligência em SMA: Por que pensar a inteligência como propriedade

de um único indivíduo? Não existe inteligência em:

Um time de futebol? Um formigueiro? Na sociedade?

O conceito de inteligência em SMA é muito mais abrangente...

Page 7: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Alguns Conceitos

Aprendizado em um SMA não é apenas uma ampliação do aprendizado em sistemas single agent

Aprendizado em um SMA é mais do que a soma dos aprendizados isolados de cada agente!

Page 8: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Roteiro

Alguns Conceitos Características: aprendizado em SMA Aprendizagem por reforço Aprendizado em SMA

Aprendizado e coordenação de atividades Aprendizado sobre e a partir de outros agentes Aprendizado e comunicação

Conclusões

Page 9: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Categorias de Aprendizado em SMA

Generalizando, existem duas categorias de aprendizado em SMA: Centralizado (ou isolado): o processo de

aprendizado é totalmente executado por um agente, sem interação com demais agentes.

Descentralizado (ou iterativo): vários agentes estão engajados em um mesmo processo de aprendizado. Pode haver ou não troca de informação

Em um SMA, um agente pode estar envolvido em vários processos centralizados/descentralizados

Page 10: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Outras caracterizações

Grau de Descentralização: Um único agente seqüencial, ou vários agentes

atuando paralelamente

Nível da Interação: Observação por um curto período de tempo, ou

longas negociações

Grau de Envolvimento: Algumas atividades só podem ser realizadas por

um dado agente, ou há substitutos

Objetivo: Agentes têm objetivos complementares ou

conflitantes

Page 11: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Principais correntes de pesquisa

Não existe uma metodologia de ensino bem-definida para aprendizado em SMA

Existem tendências, focos em diferentes áreas, aplicações, ...

Estudaremos algumas delas...

Page 12: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Mas antes...

Existem vários métodos de aprendizado single-agente que podem ser aplicados em SMA

Mas aprendizagem por reforço (RL) é o método mais usado

Lembrando: Aprendizado Supervisionado: um professor

especifica as ações desejadas Aprendizado por Reforço: um crítico indica a

utilidade de cada ação Aprendizado Não-supervisionado: o agente

procura similaridades nas suas ações

Page 13: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Roteiro

Alguns Conceitos Características: aprendizado em SMA Aprendizagem por reforço Aprendizado em SMA

Aprendizado e coordenação de atividades Aprendizado sobre e a partir de outros agentes Aprendizado e comunicação

Conclusões

Page 14: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizagem por Reforço

“Aprender o que fazer (mapear situações em ações) de forma a maximizar um sinal numérico” [Sutton e Barto, 1998]

Page 15: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizagem por Reforço

Percepções (s)

Ações (a)

Reforço (+/-) R(s,a)

Agente

Ambiente

Oponente sem defesa...

Page 16: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizagem por Reforço

O agente percebe um estado s, e escolhe uma ação a, que leva a um novo estado s’

Cada par (s,a) possui um reforço R(s,a) transmitido ao agente quando executa a no estado s

O agente pratica uma política (s) a

Page 17: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizagem por Reforço

Queremos encontrar a política ótima *(s) a, que maximiza a soma esperada de recompensas futuras

Podemos definir uma função Q(s,a) , que indica o retorno esperado quando, a partir de s, o agente executa a ação a e segue a política a partir de então

Page 18: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Q-Learning

Q-Learning é um algoritmo que computa iterativamente a função Q: S x A

Usa a regra de atualização:Q(s,a) Q(s,a) + [r + V(s’) – Q(s,a)]ondeV(s’) = maxaQ(s’,a)

Converge para a função Q* ótima

Page 19: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Voltando a Aprendizado em SMA

Estudaremos três tópicos: Aprendizado e coordenação de atividades Aprendizado sobre e a partir de outros agentes Aprendizado e comunicação

Page 20: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Roteiro

Alguns Conceitos Características: aprendizado em SMA Aprendizagem por reforço Aprendizado em SMA

Aprendizado e coordenação de atividades Aprendizado sobre e a partir de outros agentes Aprendizado e comunicação

Conclusões

Page 21: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado e Coordenação

Problemas de Coordenação: Interesse coletivo e maximização da performance

global Abordagens tradicionais tratam a coordenação em

tempo de projeto (off-line), especificando regras de comportamento, protocolos de negociação, etc.

Mas SMAs são utilizados em ambientes abertos e dinâmicos, com agentes que têm objetivos e habilidades variáveis

Logo, torna-se necessário que os agentes se adaptem a novas demandas e oportunidades

Solução: Agentes devem aprender como coordenar suas

atividades dinamicamente

Page 22: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Exemplos

Robocup: Grupo de jogadores cuja medida de performance pode

ser dada por #GolsPro - #GolsContra

Patrulha: Grupo de robôs, em que cada

um patrulha uma parte do terreno Medida da performance dada pela ociosidade média do

terreno

Page 23: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado e Coordenação

Correntes de estudo: Aprendizado Isolado: agentes não se comunicam

no processo de aprendizado: parte do princípio de que a comunicação consome tempo, recursos, é suscetível a falhas...

Pode ser centralizado ou distribuído Aprendizado Interativo: agentes cooperam no

aprendizado, coordenando suas atividades conjuntamente

Ambas utilizam aprendizagem por reforço

Page 24: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado Isolado Centralizado

Características: RL tradicional, em um único agente (coordenador) O estado é o estado global Uma ação, para n agentes, é dada por uma tupla:

<a1, a2,..., an>

A recompensa é a medida de performance global do sistema

Problemas: Tamanho do conjunto de ações exponencial no

tamanho de agentes (intratável!) Acessibilidade total nem sempre é possível Enfim: só funciona em ambientes pequenos...

Page 25: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Exemplo: Futebol de barrinha Ambiente:

Barra pequena Cada time com 2 jogadores

S = (Pj1, Pj2, Pb, Po1, Po2) onde Pi é a posição do jogador i

A = (aj1, aj2) onde aji Є {tocar, chutar, marcarOponente1,

marcarOponente2, atacar}

R = #GolsPro - #GolsPro Problema:

Mais e no futebol de campo, com 11 jogadores?

Page 26: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado Isolado Descentralizado

Características: Cada agente aprende individualmente (RL) Ambiente deve possuir:

Pouco acoplamento entre os agentes O feedback dado em um tempo curto Muitas possibilidades de comportamento ótimo

Resumindo: o ambiente deve dar “muito” reforço Os agentes podem alcançar especialização, e não

aprenderem o mesmo comportamento

Problema: Atribuição de crédito: como dar uma recompensa

pela performance individual de cada agente?

Page 27: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Uma solução: Modelo de Recompensa

Selfish Utility (SU) Cada agente recebe como recompensa uma

medida da sua performance

Team Game Utility (TG) Cada agente recebe como recompensa uma

medida da performance global

Wonderful Life Utility (WLU) Recompensa calculada como:

Recompensa global – Recompensa se o agente não existisse

Penaliza conflitos por recompensas

Page 28: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado Interativo

Características: Aprendizagem dos agente envolve comunicação e

coordenação explícita Dois algoritmos:

Action Estimation Algorithm (ACE) Action Group Estimation Algorithm (AGE)

Cada agente aprende individualmente (RL)

Page 29: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado Interativo - ACE

Action Estimation Algorithm (ACE): Para um dado estado, cada agente divulga, em

broadcast, suas melhores ações e suas relevâncias

Os agentes escolhem a melhor ação não-conflitante com o contexto de atividades existente (inicialmente, vazio) e a insere no conjunto

Repete-se esses passos até que todos os agentes tenham determinado suas ações

O contexto de atividade é então executado

Page 30: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado Interativo - AGE

Action Group Estimation Algorithm (AGE): Para um dado estado, cada agente divulga, em

broadcast, todas as ações possíveis e suas relevâncias

Os agentes criam todos os contextos de atividades não-conflitantes possíveis com as ações existentes e as novas ações do agente

Repete-se esses passos até que todos os agentes tenham informado suas ações

Escolhe-se o melhor contexto de atividades e o executa

Page 31: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Roteiro

Alguns Conceitos Características: aprendizado em SMA Aprendizagem por reforço Aprendizado em SMA

Aprendizado e coordenação de atividades Aprendizado sobre e a partir de outros agentes Aprendizado e comunicação

Conclusões

Page 32: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado sobre e a partir de outros agentes

Ao contrário da coordenação, agora o aprendizado objetiva uma melhoria individual da performance do agente

Estuda como o aprendizado conduzido por um agente pode ser influenciado por outros agentes

Adivinhar o comportamento dos outros agentes: Preferência, Estratégias, Intenções, ...

Page 33: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Explorando o Oponente

Características: Utilizado em two player zero-sum games Procura aprender a estratégia do oponente

observando o seu comportamento A partir daí, adota uma estratégia mais

inteligente Abordagem com RL tradicional funciona em

alguns casos: Gamão (trabalho de Tesauro, 1995) Damas

Mas fracassa em outras Jogos Estocásticos Xadrez

Page 34: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Explorando o Oponente

Min-Max Q-Learning: Inclui as ações possíveis do oponente Q(s,aagente, aoponente) Bom contra oponente ótimo; não explora

comportamento estocástico do oponente

Exemplo: em um dado estado s

a1 a2 a3

a1 0 5 7

a2 1 2 0

a3 4 3 1

Ações do agente

Ações do oponente

Page 35: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Explorando o Oponente

Opponent Modeling Utiliza um modelo explícito do oponente Computa a freqüência de cada ação executada Calcula a recompensa esperada como uma média

ponderada pelas probabilidades

Page 36: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado sobre e a partir de outros agentes

Outras possibilidades de aplicação: Aprender papéis organizacionais Aprender em ambientes de mercado (leilão...)

Page 37: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Roteiro

Alguns Conceitos Características: aprendizado em SMA Aprendizagem por reforço Aprendizado em SMA

Aprendizado e coordenação de atividades Aprendizado sobre e a partir de outros agentes Aprendizado e comunicação

Conclusões

Page 38: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendizado e Comunicação

Aprender a ser comunicar: Nesse caso, o processo de aprendizagem objetiva

a diminuição da carga de comunicação entre os agentes

Comunicação como aprendizado: Nesse caso, a comunicação é vista como um

método de troca de informações que permite aos agentes refinarem suas tarefas de aprendizado

Nas duas abordagens: Deixar claro o que, quando, como e com quem se

comunicar Definir uma ontologia comum (consenso no

significado dos símbolos)

Page 39: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Aprendendo a se Comunicar

Contract-net Geralmente é implementado com broadcast:

satura a rede em grandes sistemas

Solução: Addressee Learning Agentes adquirem e refinam conhecimento sobre

as habilidades de resolução de tarefas de outros agentes

Implementação: CBR (case-based reasoning): Cada agente possui uma base da casos, contendo,

para cada caso:A especificação, os agentes que já resolveram, e o quanto boa ou ruim foi a solução

Tarefas alocadas diretamente e dinamicamente

Page 40: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Comunicação como Aprendizado Abordagem 1: baixo-nível

Interações simples, do tipo pergunta e resposta Realiza troca de informações que estão faltando Resulta em informação compartilhada

Exemplo: Caçada Caçadores caçam no tabuleiro Têm visão limitada Cada um tem uma Q-Table Trocam informações do tipo onde

estou, o que vejo e o que aprendi Resultado: os sensores e atuadores dos caçadores são

unidos (centralizados)

Page 41: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Comunicação como Aprendizado Abordagem 2: alto-nível

Interações complexas, como negociações ou explicação mútua sobre o objetivo da combinação das informações

Resulta em entendimento compartilhado e não apenas em informação compartilhada

Exemplo: Blackboard Em um quadro negro, agentes

propõem, contra-propõem, aceitam e negam hipóteses

Uma hipótese proposta por um agente é uma generalização do conhecimento desse agente

A1: proponho X

A2: concordo com X

A3: por que não usamos Y no lugar de X?

A1: concordo com Y

A2: concordo com Y

A1: ASSERT(Y)

A2: ASSERT(Y)

A3: ASSERT(Y)

Page 42: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Roteiro

Alguns Conceitos Características: aprendizado em SMA Aprendizagem por reforço Aprendizado em SMA

Aprendizado e coordenação de atividades Aprendizado sobre e a partir de outros agentes Aprendizado e comunicação

Conclusões

Page 43: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Conclusões

Aprendizado multiagente é um tema vasto, em que muitas e diferentes abordagens existem Muitas questões ainda em aberto...

O tema herda as complexidades inerentes de SMA: comunicação, coordenação, negociação.

O projeto mais complexo da aprendizagem pode ser compensado pela qualidade dos resultados

Page 44: Aprendizado Multiagente Gustavo Danzi de Andrade gda@cin.ufpe.br Agentes Autônomos Patrícia Tedesco

Mestrado em Ciência da Computação

Referências

Sen S., Weiss G., Multiagent systems: A modern approach to Distributed Artificial Intelligence., Cap. 06, The MIT Press, 1999.

Stone, P., Veloso, M., Multiagent Systems: A Survey from a Machine Learning Perspective, Carnegie Mellon University, 1997

Veloso, M. Uther, W. (1997) Adversarial Reinforcement Learninghttp://citeseer.nj.nec.com/uther97adversarial.html

Sutton, R., Barto, A. Reinforcement Learning: An Introduction. Cambridge, MA, 1998.