68
Aprendizagem em Camadas Ioram Sette

Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Embed Size (px)

Citation preview

Page 1: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendizagem em Camadas

Ioram Sette

Page 2: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Lembrete: Arquitetura do Agente Jogador no CMUnited

Acordo doVestiário

ComportamentosInternos

EstadoInterno

ComportamentosExternos

Interpretador Estado doMundo Preditor

MundoRealInformações

SensoriaisAções Primitivas

Page 3: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendizagem em Camadas Paradigmas de aprendizagem baseado em 4

princípios: Mapeamento direto da entrada para saída não é tratável

de se aprender. É dada uma decomposição bottom-up e hierárquica da

tarefa. Aprendizagem de Máquina explora os dados para treiná-

los e/ou adaptá-los.Aprendizagem ocorre separadamente em cada nível.

A saída da aprendizagem em uma camada alimenta a próxima camada.

Page 4: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Formalismo A tarefa de aprendizagem é decomposta em camadas

hierárquicas de subtarefas {L1, L2, ..., Ln} onde Li = (Fi , Oi , Ti , Mi , hi).

Li consiste em aprender uma função hi

mapeando: um vetor Fi das características (features) relevantes do estado S

para um conjunto de opções Oi a escolher

a partir do conjunto de treinamento Ti

usando o algoritmo de aprendizagem Mi

Page 5: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Instanciação no Futebol de Robôs Simulado

Camada Nível Estratégico Tipo de Comportamento Exemplo

L1L2L3L4L5

Robô – BolaJogador 1 p/ 1Jogador 1 p/ muitosFormação do TimeTime p/ Oponente

IndividualMulti-AgenteTimeTimeAdversário

Interceptação da bolaAvaliação do PasseSeleção do PassePosicionamento EstratégicoAdaptação Estratégica

Page 6: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Métodos usados e propostos pelo CMUnited

Camada Comportamento Aprendido Método de Aprendizagem Tipo do Treinamento

L1L2L3

Interceptação da bolaAvaliação do PasseSeleção do Passe

Rede NeuralÁrvore de DecisãoTPOT-RL

Off-lineOff-lineOn-line

L4L5

Posicionamento EstratégicoAdaptação Estratégica

RL observacionalBaseado em Memória

On-lineOff-line

Page 7: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendizagem On-line X Off-line

Off-line: Útil para habilidades básicas (em um jogo não se tem dados

suficientes para um bom treinamento) Comparado ao treino dos atletas por anos. Aprendizado compartilhado entre jogadores do mesmo time.

On-line: Útil para aprender durante o jogo. Aprendizado pode ser compartilhado nos períodos de

intervalo, quando a sincronização é permitida. Explorar novos caminhos x Usar melhor caminho já

conhecido Problema de corrida por armamentos (arm race)

A adaptando-se a B que se adapta a A etc.

Page 8: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Propagação de Erro Como cada camada afeta sua subseqüente, se

algo der errado, como determinar que camada está o problema?

Stone não trata este problema Quando são feitos testes, isola-se o que se tem

interesse em comparar. Desta forma, se comprova que a camada realmente melhora a performance.

Estudos detalhados sobre propagação e compensação de erro no aprendizado em camadas é uma área promissora para pesquisas futuras.

Page 9: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umahabilidade individual

Interceptação da Bola Como jovens jogadores, os robôs devem

aprender controlar a bola, antes de aprenderem estratégias complexas.

Num sistema multi-agentes, é essencial que os agentes tenham habilidades individuais.

Habilidade necessária como pré-requisito para o chutem, exceto para jogadas com bola parada.

Tarefa difícil no RoboCup devido ao ruído no movimento da bola e aos agentes terem capacidades sensoriais limitadas.

Page 10: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umahabilidade individual

2 possíveis métodos para interceptação da bola: Analítico: Estimando a velocidade da bola e

predizendo seu movimento baseado na velocidade Empírico: Coletando exemplos de interceptações

bem sucedidas e usando uma técnica supervisionada de aprendizagem para criar um comportamento genérico de interceptação da bola.

CMUnited: Implementou e avaliou as 2 abordagens com redes

neurais para a abordagem empírica Desempenho e tempo de desenvolvimento

semelhantes, redes neurais um pouco melhor

Page 11: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo uma habilidade individual: interceptar a bola

Defensor

Atacante

Page 12: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo uma habilidade individual: interceptar a bola

Treinamento: O treinamento desta habilidade foi realizado da seguinte forma: O defensor começa a uma distância 4 na frente do

centro do gol. A bola e o atacante são colocados randomicamente a

uma distância entre 20 e 30 do defensor. Para cada exemplo de treinamento, o atacante chuta a

bola diretamente em direção ao defensor, com a máxima força (power=100).

Sucesso se bola interceptada Falha se bola entra no gol Casos nos quais a bola nem é interceptada nem entra

no gol são retirados do conjunto de treinamento (irrelevantes)

Page 13: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umahabilidade individual

Defensor

Atacante

10 20 4

BallDist

O objetivo do defensor é determinar o ângulo TurnAng(t) que é o ângulo que ele deve girar no tempo t relativo ao ângulo da bola, para interceptá-la.

Enquanto BallDist(t) > 14,Turn(BallAng(t))

Quando BallDist(t) <= 14,TurnAng(t) = random(-45,

+45) Coletar entrada e saída das instancias

de treinamento: BallDist(t), BallAng(t), BallDist(t-1) e TurnAng(t).

Turn(BallAng(t) + TurnAng(t)). Dash p/ frente Classifica o lance como sucesso

(defesa) ou insucesso (gol ou falha).

Page 14: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendizagem de umahabilidade individual

L1 = (F1 , O1 , T1 , M1 , h1).

F1 = { BallDist(t), BallAng(t), BallDist(t-1) }. O1 = TurnAng(t). T1 = 750 exemplos de treinamento,

treinados como vimos anteriormente M1 = Rede Neural totalmente conectada com 4 unidades

sigmoid escondidas e uma taxa de aprendizado de 10-6 treinada para 3000 épocas.

h1 = um comportamento de interceptação de bola treinado.

Page 15: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Avaliação do Passe Uma vez que aprenderam a controlar a bola,

os robôs estão prontos para aprender como tomar decisões no campo como parte de um time.

Por exemplo, o passe requer ação de dois agentes diferentes: o lançador e o receptor.

O lançador deve chutar a bola em direção ao receptor, que deve pegar a bola.

A tarefa do receptor é a mesma do defensor visto anteriormente.

Page 16: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Complicação: intercepção por oponentes com a mesma habilidade os teammates.

Difícil decidir previamente quais características do estado do mundo estão relevantes para estimar a probabilidade de sucesso de um passe para cada teammate.

Algoritmo de treinamento: C4.5 Decision Treedecide sozinho as características relevantes.

Page 17: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-Agente

Lançador

OponenteReceptor

Page 18: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Procedimento de Treinamento: Os jogadores são colocados

aleatoriamente numa região O lançador anuncia sua intenção de

passar Os teammates que ouviram

respondem com suas visões do campo

O lançador escolhe um receptor aleatoriamente durante o treino, ou com uma árvore de decisão durante o teste

Atributos da árvore de decisão codificam a sua visão do campo do lançador e dos potenciais receptores

Saída da árvore de decisão retorna grau de confiança do passe para cada receptor ser bem sucedido

O lançador anuncia para quem vai passar

O receptor e quatro oponentes tentam pegar a bola usando sua habilidade de interceptá-la aprendida na camada inferior

Sucesso, se o receptor consegue avançar a bola em direção ao gol adversário

Falha, se um oponente pegue a bola

Casos nos quais ninguém intercepta a bola são retirados do conjunto de treinamento

Page 19: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Árvore de decisão filtra as características irrelevantes para o

aprendizado. trata valores ausentes

174 características para cada exemplo, metade da perspectiva do lançador e metade dos receptores

Posições desconhecidas dos jogadores são tratadas como valores ausentes, pois considera-se todo o time.

Page 20: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Treinamento Código C4.5 padrão com parâmetros default. 5000 exemplos de treinamento

51% dos quais foram sucesso 42% foram falhas e 7% foram irrelevantes.

Árvore podada gerada com 87 nós taxa de erro de 26% Primeiro nó testa se existe oponentes a 6 graus do receptor, da

perspectiva do lançador. Fatores de confidência do C4.5 definem a função:

(lançador, receptor) [-1,1]. Predição da árvore de decisão tem confidência [0,1]. (lançador, receptor) = se sucesso

0 se falha- se erro

Page 21: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Resultados Número de exemplos de treinamento: 5000 tentativas Lançador usa DT para escolher o receptor Se o passe pode dar sucesso, receptor de maior é

escolhido. Sucesso geral de 65% melhor que 51% randômico. Se o lançador quiser ter certeza de 79% de sucesso, deve

passar apenas com confidência de .8 a .9.

.8-.9 .7-.8 .6-.7 -.6-(-.7)

-.7-(-.8)

-.8-(-.9)

Total

(Número) (1050) (3485) (185) (34) (3) (39) (5000)Sucesso(%)Erro(%)Falha(%)

79155

63298

583110

44533

33670

13798

65268

Page 22: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Usando os Comportamentos Aprendidos Apto a julgar a performance de um passe, os

robôs estão prontos para tomar decisões em situações de jogos reais.

Quando o jogador tem posse da bola pode:Passar para um jogador estrategicamente posicionadoCorrer com a bola dominada (dribble)Chutar a gol

Criada seqüência de jogadas para verificar desempenho da habilidade de avaliar o passe.

Conclui-se que os comportamentos aprendidos são robustos e confiáveis.

Page 23: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-Agente

Dribble

Passe

Passe

Passe?

?Chute

Dribble

A

G

D

C

B

F

E

Page 24: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Jogador A começa com a bola e corre com a bola em direção ao gol oponente Quando ele se aproxima a 15 de um oponente, ele para e prepara para

passar a bola para um dos 2 teammates mais próximos: jogadores B e C. Ele então anuncia sua intenção de passar e recebe as respostas dos dois

jogadores mais próximos. Usando DT, decide qual dos receptores tem maior chance de sucesso na recepção do passe. No exemplo, ele passa pro jogador B. (A,B) > (A,C)

Jogador B e seu oponente adjacente tentam interceptar a bola usando suas habilidades treinadas. Se o oponente consegue pegar, ele chuta para o gol da esquerda, e o lance recomeça. Mas se B pega a bola, ele chuta imediatamente para D. (Se A passou para C, ele chuta para E, simetricamente).

Como D não está coberto, pode facilmente pegar a bola e começar a correr em direção ao gol. Usando o mesmo comportamento de A, D para e chegando a 15 do goleiro, escolhe entre passar para F e G, novamente usando DT.

Se F ou G interceptam a bola antes de seus oponentes, eles imediatamente chutam a gol.

Page 25: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Escalonando para jogos inteiros Treinamentos realizados em cenários

artificiais, sem refletir a amplitude de um jogo.

Jogador precisa saber o que fazer:quando está com a bola

• RCF (Função de Escolha do Receptor)– Função que determina o que fazer quando se tem a

posse da bola– Entrada: percepção do mundo. – Saída: ação (dribble, chute ou passe) e

direção (a jogador ou parte do campo).

quando está sem a bola

Page 26: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Para os testes, definimos 3 RCF’s: PRW – Prefer Right Wing – Dá preferência ao

jogador da direita na hora do passe. Atacantes tendem a chutar a gol.

RAND – Semelhante a PRW, mas escolhe aleatoriamente entre os candidatos.

DT-RCF – Usa a DT aprendida anteriormente para escolher o candidato que receberá o passe se confidência for alta. Caso contrário, determina quando dribblar ou chutar.

Page 27: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-Agente

G

RD

CD

LD

S

RM

CM

LM LF

CF

RF

Formação 4-3-3

Page 28: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Considerando o Tempo de Execução da Ação Quando lançador está entre a bola e o

receptor, deve arrodear a bola antes de passá-la, levando de 5 a 15 ciclos.

Se houver um oponente nas redondezas pode roubar a bola.

Incluímos nas RCF’s raciocínio levando em consideração o tempo: se houver um oponente a dmin, chute a bola.

Page 29: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Incorporando RCF em um comportamento.

1. Dada a RCF, a inserimos no comportamento completo do agente.

2. SE confidência do local da bola < 0.5 ENTÃO encare a bola

3. SE ball-dist dchase ou a teammates , ball-dist dist(a,ball) ENTÃO: SE ball-dist > kickable_area ENTÃO use RN p/ interceptá-la SENÃO passe, dribble ou chute a bola usando a RCF

4. SENÃO: Mova para sua posição default

Page 30: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

Resultados Colocamos para jogar

3 times, com RCF’s dadas e formação 4-3-3,

contra time OPR (Only Play Right) (amarelo).Time OPL é o simetricamente oposto.

Times OPR e OPL usam a RCF RAND.

Page 31: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento Multi-agente

RCF(vs.OPR) Jogos(V-D) Placar GeralDTPRWPRW(vs.OPL)RAND

19-911-148-1614-12

135-97104-105114-128115-111

RCF(vs.OPR) Jogos(V-D) Placar GeralDT PadrãoDT sem pressa

19-913-16

135-9791-108

Page 32: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendizagem de umComportamento Multi-agente

L2 = (F2 , O2 , T2 , M2 , h2).

F2 = Conjunto de 174 características contínuas e ordinais O2 = [-1,1] Fator de confidência de um passe (função ). T2 = 5000 exemplos de treinamento usando h1

(habilidade de interceptar a bola). M2 = C4.5 com todos os parâmetros default. h2 = árvore de decisão treinada para avaliação de passe

Page 33: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

Seleção do Passe Uma vez que os robôs aprenderam a julgar se

um passe vai ser bem sucedido, estão prontos a agir estrategicamente como parte de um time.

Começam a estimar efeitos a longo prazo de suas ações no jogo onde o objetivo é ajudar seu time a derrotar os oponentes.

Boas seleções do passe requerem um bom entendimento de efeitos a longo prazo de decisões tomadas dados os comportamentos e habilidades dos teammates e oponentes.

Construiremos um comportamento de time para um jogo baseado na interceptação de bola e na avaliação de passe.

Page 34: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

Seleção do Passe DT-DCF é bastante útil para se verificar a

possibilidade do passe, mas a tarefa de selecionar para quem passar é mais complicada.

Pode ser mais interessante passar a bola para um receptor mais longe do gol que o lançador.

O receptor que está mais apto a receber o passe pode não ser o que agirá mais favoravelmente em relação ao time.

Próxima figura ilustra o caso de o jogador preferir passar a bola para trás.

Page 35: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

d

Fe

S

c

S

F

f

h

b

F

F

g

Page 36: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

Suponha que o time oponente seja muito ruim na interceptação da bola. Seria melhor avançar p/ g.

Suponha que o time oponente é bom na interceptação, mas o jogador c tem uma pobre política de decisão. Embora pareça a melhor opção passar para f, o agente c decide passar para e que resulta no roubo da bola pelo oponente. Seria melhor b avançar para f ou g.

Suponha que o time oponente é bom na interceptação e c tem uma boa política de decisão. Ele passaria então para f. Seria melhor b recuar a bola para c.

Page 37: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

Este tipo de decisão estratégica depende do comportamento dos teammates e dos oponentes, e pode ser medido apenas pela análise a longo prazo.

Seleção do passe deve ser treinada on-line numa situação de jogo contra um oponente particular.

Page 38: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

5 características importantes para se escolher um método de aprendizagem de máquina para seleção do passe: Seleção depende de grande quantidade de informação.

Domínio de futebol de robôs tem mais de 10198 estados! Agentes devem aprender com exemplos de treinamento

limitados. Mérito de uma decisão particular pode ser medido apenas

considerando a performance do time a longo-prazo. Recompensa por uma ação particular depende do

comportamento dos teammates, e muda enquanto os teammates se aperfeiçoam (shifting concept).

Tarefa de aprendizagem é particionada entre os teammates: cada agente aprende a agir baseado em seu papel

Page 39: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

Transições opacas: assim que o agente executa uma ação, a transição para o estado resultante e as ações subseqüentes tomadas pelos outros agentes e suas transições para estado resultante são desconhecidas.

Sumário das características do algorítmo ML necessário para aprender seleção de passe: On-line; Capaz de lidar com um largo espaço de estados apesar

de treinamento limitado; Capaz de aprender baseado no longo-prazo, recompensa

atrasada; Capaz de lidar com shifting concepts; Trabalha em um cenário particionado de time; e Capaz de lidar com transições opacas

Page 40: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

Aprendizagem Por Reforço para Seleção do Passe Nenhum algoritmo de ML engloba todas as

características que vimos, mas o que mais se aproxima são os de aprendizagem por reforço (RL).

Foi criado então um novo algoritmo de RL para ambientes com as características vistas, o TPOT-RL (Team-Partitioned, Opaque-Transition Reinforcement Learning).

Page 41: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

TPOT-RL Como Q-learning, TPOT-RL aprende uma função valor

que mapeia pares estado-ação a recompensas esperadas.

3 principais adaptações no paradigma RL: A função valor é parcionada no time (cada agente aprende

apenas pelos estados em que atuam). Agentes são treinados simultaneamente com taxa de exploration decrescente e taxa de exploitation crescente.

Características dependentes da ação são usadas para produzir um espaço generalizado de características, que é usado como representação da entrada para o aprendizado.

Recompensas descontadas a longo prazo são adquiridas diretamente dos estados recompensáveis no ambiente mesmo que sejam propagados para trás através de estados intermediários.

Page 42: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

Projeto para trabalhar em domínios de mundo-real, TPOT-RL explora características dependentes de ação para criar um pequeno espaço de características V. V é usadocomo componente de entrada da função valor aprendida: Q : V x A .

Política de mapeamento do estado S para A: Generalização do Estado: O estado s generalizado para

um vetor característica v usando a função de generalização: f : S V .

Aprendizagem da Função Valor: O vetor característica v é usado como entrada na função valor aprendida Q : V x A , que estima a recompensa esperada por tomar uma determinada ação.

Seleção da Ação: Uma ação a é escolhida para execução e sua recompensa a longo-prazo observada é usada novamente para atualizar Q.

Page 43: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

Generalização do Estado f : S V mapeia o estado atual do mundo, s, como

vetor característica usado para aprendizagem, v. Mesmo que discretizando as várias dimensões de S,

f usa uma função característica dependente da ação:e : S x A U

e avalia cada ação possível ai A baseada em s.U é o conjunto discreto de características refletindo efeitos de ações esperados a longo-prazo.

e pode predizer a transição a ser causada por executar a ação ai baseada em s.

Page 44: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

Generalização do Estado (cont.) Num cenário multi-agente, o espaço de

características V também envolve um componente que particiona o estado S entre os agentes.

Função de Partição: P : S MQuebra o espaço de estados em |M | partições disjuntas a serem divididas entre os teammates. |M | m (número de agentes no time).

Conjunto de possíveis ações em s: A={a0, a1, ..., an-

1}f (s) = <e (s, a0), e (s, a1), ..., e (s, an-1), P (s)>V = U |A| x M

|V | = |U ||A| * |M ||V | < |S |

Page 45: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time Aprendizagem da Função Valor

Podemos assumir (heuristicamente) que a recompensa esperada a longo-prazo por escolher uma ação ai depende apenas do valor característica relacionado a ai.

Q (f (s), ai) = Q (f (s’), ai) quandoe (s, ai) = e (s’, ai) e P (s) = P(s’)

|Q | = |V | * |A | = |U ||A| * |M | * |A | Entretanto, a tabela-Q tem no máximo |U | * |M | * |A | entradas:

para cada ação possível, apenas uma é relevante. Em resumo, Q guarda um valor para cada possível combinação

possível de a A, e (s,a) U e P (s) M. Após escolher a ação a quando no estado s com f (s) = v, um

agente recebe a recompensa r e usa ela para atualizar Q (v, a): Q (v, a) = Q (v, a) + (r - Q (v, a)) onde é a taxa de aprendizagem.

Page 46: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de TimeAprendizagem da Função Valor (cont.)

A recompensa não pode ser feita logo após a escolha da ação devido às transições opacas. Em vez disso, fazemos ela a partir da observação das características do ambiente em um número máximo de passos tlim após a ação.

Função recompensa: R : S t

Na prática, o intervalo de R é [-Qmax, Qmax] onde Qmax é a recompensa quando o objetivo é atingido imediatamente após a ação.

Como objetivos não são atingidos freqüentemente, funções recompensa baseadas em reforço intermediário pode ser necessária. Esta função provê um retorno baseado em estados intermediários em direção ao objetivo.

Page 47: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de TimeSeleção da Ação

W U e B(s) A com B (s) = {a A | e (s,a) W}

Quando num estado s, o agente escolhe uma ação de B (s) em vez de A, seja randomicamente quando exploring ou pelo maior valor-Q quando exploiting, W atua no TPOT-RL como um filtro de ações que reduz o número de opções em consideração.

Page 48: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time Aplicando TPOT-RL ao Futebol de Robôs

Habilita cada teammate a aprender simultaneamente uma política de ação de alto nível, ou RCF.

Em nosso experimento, o agente tem 8 ações possíveis em A: para os 2 gols, para um dos 4 escanteios e para as 2 laterais no meio de campo.

Agentes consideram passar para locais e não jogadores, neste caso.

Page 49: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de TimeAplicando TPOT-RL ao Futebol de

Robôs Função (s,a) cobre agora o espaço usado

nesta seção. Uma nova DT é treinada então para predizer com confidência [0,1] quando o agente está no estado s.

DT é a função característica dependente da ação e em TPOT-RL.

Nova camada (seleção do passe) usa a camada anterior (avaliação do passe) como parte de sua representação de entrada.

Page 50: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de TimeGeneralização do Estado

A formação de um time é dividida em 11 posições. M = conjunto de posições do time (papéis) (|M | = 11) P (s) = posição atual do próprio jogador U = {sucesso, erro} e(s,a) = sucesso se (s,a) C

erro se (s,a) < CUsamos C = 0.734 como limiar

Assim:|U | = 2 e V = U 8 x {Posições dos Jogadores }|V | = |U ||A| * |M | = 28 * 11|U | * |M | * |A | = 2 * 8 * 11 (entradas da tabela-Q)

Page 51: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time Generalização do Estado (cont.)

O espaço de características é imensamente menor que o espaço de estados originais, que chega a 10198 estados.

Como e indica sucesso ou falha em cada ação, consideramos as ações que são classificadas como sucesso: W = {Sucesso}.

Cada agente aprende |W | * |A | = 8 Q-valores, com um total de 88 (|W | * |A | * |M |) aprendidos pelo time como um todo.

Como o time tem aprox. 10 exemplos de treinamento por 10 minutos de jogo e a função de recompensa muda quando a política dos teammates melhoram, a tarefa de aprendizagem é tratável.

A propósito de comparação a e definimos 2 funções dependente da ação:

er é a função aleatória que retorna Sucesso ou Erro. eh é a função heuristica para avaliação de passe, escrita a mão usada

no time de robôs reais.

Page 52: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time Aprendendo a Função Valor via Reforço

Intermediário Rg é definida em termos dos gols marcados.

Se um gol é marcado num tempo t após a ação a for executada (t tlim), então a recompensa é Qmax/t dependendo se o gol foi marcado a favor ou contra.

Ri também dá recompensa por gols marcados, mas também dá se 1. a bola sai do campo (incluindo gol) num tempo t +tr

(tr<tlim);2. a bola volta para o agente num tempo t +tr (tr<tlim);3. a bola está em campo num período t +tlim.

Page 53: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time Caso 1

r = ______r0______ tlim = 30s (300 ciclos), Qmax=100, = 10 1+(-1)* t0/tlim

Onde r0 é indicado abaixo:

Direção de ataque

0.0

1 25

Lateral contra

Tiro de Meta contraTiro de Meta a favor

-1-25

Lateral a favor

-10 10

-100100

Gol Contra Gol a favor

25-25Escanteio contra Escanteio a favor

x

y

Page 54: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time Casos 2 e 3:

r = _xméd_-_xt_ se xméd > xt

* xog - xt r = - _xt_-_xméd_ se xméd xt

* xt - xlg xt = coordenada x da bola no tempo t xméd = média das coordenadas x da bola durante o intervalo xog = coordenada x do gol do oponente xlg = coordenada x do gol do aprendiz

O uso da variável em todas as equações assegura que recompensas intermediárias não ultrapassem as recompensas obtidas devido a um gol, Qmax, que deve ser o maior valor de r0

Finalmente, após executar a ação ai e receber a recompensa r:Q (e(s,ai), ai) = (e(s,ai), ai) + (r - (e(s,ai), ai)) onde = 0.02 (Cada exemplo conta 2% do valor Q atualizado)

Page 55: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de TimeSeleção da Ação no Treinamento Multi-

agente Múltiplos agentes aprendem

concorrentemente. Da perspectiva individual, ambiente não é um

sistema estável. 2 estratégias adotadas:

Agentes permanecem na mesma partição do estado durante o treinamento

Taxa de exploração é muito alta no início e gradualmente decresce simultaneamente para todos os agentes.

Page 56: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de TimeResultados

Testes empíricos demonstram que TPOT-RL pode aprender políticas de controle multi-agente em domínios complexos e dinâmicos.

Os agentes começaram experimentos agindo aleatoriamente e com tabelas-Q vazias.

No percurso, a probabilidade de agir aleatoriamente, p, decresceu linearmente em períodos de 40 jogos: de 1 para 0.5 no jogo 40, para 0.1 no jogo 80, para 0.01 no jogo 120 e assim por diante.

Agentes usaram a função intermediária Ri.

Page 57: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de TimeResultados

160 jogos de 10 minutos entre um time que seleciona o passe aleatoriamente eum usando TPOT-RL.

Quantidade de gols acumulada no final450 para o TPOT-RL e 90 para o time randômico.

11 jogadores tiveram uma média de 1490 ações c/ reforço.

Média de 9.3 reforços por jogo, por jogador• menos de um por minuto

Cada uma das 8 ações foi testada em média 186.3 vezes em 160 jogos

• apenas 1 a cada jogo de 10 minutos.

Page 58: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time Resultados

Testes contra times feitos a mão e orientados a gol Este time é baseado na formação do time amarelo na figura

abaixo. RCF feita a mão direciona o passe pelo lado (direito) para os atacantes, que então chutam a gol.

Após 5 minutos (intervalo) o time (switching team) inverte o lado (troca o comportamento de OPR para OPL).

Page 59: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

0

50

100

150

200

250

300

(a) (b) (c)

Gol

s: a

pós

40 jo

gos

de

trei

nam

ento

TPOT-RLOPR

Sempre Chuta

Treinamento Completo

Treinamento Reduzido

(a) Heurística de sempre chutar em direção ao gol (b) TPOT-RL (intervalos de 40 jogos num total de 160 jogos) (c) TPOT-RL (intervalos de 20 jogos num total de 80 jogos)

Page 60: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

0

50

100

150

200

(a) (b) (c) (d) (e)

Gol

s: a

pós

40 jo

gos

de

trei

nam

ento

TPOT-RLSwitching

|U|=1|U|=2, e=e

|U|=2|W|=2e=er

|W|=1 |W|=2

|U|=2|W|=1e=eh

Page 61: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

0

50

100

150

200

250

300

(a) (b)

Gol

s: a

pós

40 jo

gos

de

trei

nam

ento

TPOT-RLOPR Rg

Ri

Page 62: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umComportamento de Time

L3 = (F3 , O3 , T3 , M3 , h3).

F3 = U 8 x {Posições dos Jogadores}Note que U deriva de O2 pois utiliza DT

O3 = O conjunto das 8 posições alvos do campo.T3 = Exemplos de treinamento adquiridos on-

line por um membro individual do time durante jogos reais.

M3 = TPOT-RLh3 = Política distribuída de seleção de passe.

Page 63: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendizagem em Camadas

Page 64: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umahabilidade individual

Aprender escolher um ângulo TurnAng(t) baseado em BallDist(t), BallAng(t) e BallDist(t-1).

Rede Neural escolhida pela sua habilidade de aprender valores de saída contínuos de entradas contínuas.

Melhor rede: totalmente conectada com 4 unidades escondidas função de ativação sigmoid taxa de aprendizagem 10-6

3000 épocas pesos conectando a entrada e as camadas escondidas

com decadência linearmente decrescente de peso começando em 0.1%.

Page 65: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umahabilidade individual

Resultados Número de exemplos de treinamento: 1000 tentativas

Falhas não foram incluídas nos resultados, pois são chutes que passam longe do defensor, que não tem muita chance de alcançar a bola antes que ela passe.

Efeito do ruído na simulação: Mover-se usando Redes Neurais Mover-se diretamente na direção em que ele viu a bola pela

última vez. Comparação com outros métodos

Comparação com métodos analíticos. Método usado na comparação calcula o movimento da bola

através de suas posições pelo tempo e e multiplica o vetor por 3, prevendo a posição da bola 2 passos sensoriais após (500ms).

Page 66: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umahabilidade individual

6380868689918990

33181313109109

5773818184868384

10020030040050075010004773

DefesasGols+Defesas (%)

Gols(%)Defesas(%)

Exemplos de Treinamento

Page 67: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umahabilidade individual

100100916086578353784975507347

0093513351436163617331832

100100865375476840593453324928

NNDiretoNNDiretoNNDiretoNNDiretoNNDiretoNNDiretoNNDireto

0

.05

.06

.07

.08

.09

.1

DefesasGols+Defesas (%)

Gols(%)Defesas(%)Comportamento

Ruído

Page 68: Aprendizagem em Camadas Ioram Sette. Lembrete: Arquitetura do Agente Jogador no CMUnited Acordo do Vestiário Comportamentos Internos Estado Interno Comportamentos

Aprendendo umahabilidade individual

919186

9813

868382

RNTabelaAnalítico

DefesasGols+Defesas (%)

Gols(%)Defesas(%)

Comportamentodo defensor