Aprendizagem em Camadas
Ioram Sette
Lembrete: Arquitetura do
Agente Jogador no CMUnited
Acordo do
Vestiário
Comportamentos
Internos
Interpretador
Informações
Sensoriais
Estado
Interno
Estado do
Mundo
Mundo
Real
Comportamentos
Externos
Preditor
Ações Primitivas
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.
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
Instanciação no
Futebol de Robôs Simulado
Camada Nível Estratégico
Tipo de Comportamento Exemplo
L1
L2
L3
L4
L5
Individual
Multi-Agente
Time
Time
Adversário
Robô – Bola
Jogador 1 p/ 1
Jogador 1 p/ muitos
Formação do Time
Time p/ Oponente
Interceptação da bola
Avaliação do Passe
Seleção do Passe
Posicionamento Estratégico
Adaptação Estratégica
Métodos usados e propostos
pelo CMUnited
Camada Comportamento Aprendido
Método de Aprendizagem Tipo do Treinamento
L1
L2
L3
Interceptação da bola
Avaliação do Passe
Seleção do Passe
Rede Neural
Árvore de Decisão
TPOT-RL
Off-line
Off-line
On-line
L4
L5
Posicionamento Estratégico
Adaptação Estratégica
RL observacional
Baseado em Memória
On-line
Off-line
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.
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.
Aprendendo uma
habilidade 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.
Aprendendo uma
habilidade 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
Aprendendo uma habilidade
individual: interceptar a bola
Atacante
Defensor
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)
Aprendendo uma
habilidade individual
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).
Atacante
10
BallDist
20
Defensor
4
Aprendizagem de uma
habilidade 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.
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento 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 Tree
decide sozinho as características relevantes.
Aprendendo um
Comportamento Multi-Agente
Lançador
Receptor
Oponente
Aprendendo um
Comportamento 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
Aprendendo um
Comportamento 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 considerase todo o time.
Aprendendo um
Comportamento 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
Aprendendo um
Comportamento 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(%)
79
15
5
63
29
8
58
31
10
44
53
3
33
67
0
13
79
8
65
26
8
Aprendendo um
Comportamento 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 posicionado
Correr 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.
Aprendendo um
Comportamento Multi-Agente
B
Passe
D
Dribble
Passe
Passe
?
A
Dribble
?
F
G
C
E
Chute
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento 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
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento Multi-Agente
Formação 4-3-3
LD
G
LM
LF
CD
CM
S
CF
RD
RM
RF
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento Multi-agente
 Incorporando RCF em um comportamento.
 Dada a RCF, a inserimos no comportamento
completo do agente.
1. SE confidência do local da bola < 0.5 ENTÃO encare a
bola
2. 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
3. SENÃO:
 Mova para sua posição default
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento Multi-agente
RCF(vs.OPR)
Jogos(V-D)
Placar Geral
DT
PRW
PRW(vs.OPL)
RAND
19-9
11-14
8-16
14-12
135-97
104-105
114-128
115-111
RCF(vs.OPR)
Jogos(V-D)
Placar Geral
DT Padrão
DT sem pressa
19-9
13-16
135-97
91-108
Aprendizagem de um
Comportamento 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
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento de Time
f
c
F
d
S
S
F
g
b
e
F
F
h
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento 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
Aprendendo um
Comportamento 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
Aprendendo um
Comportamento 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).
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento 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 xA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.
Aprendendo um
Comportamento 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  M
Quebra 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 |
Aprendendo um
Comportamento 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) quando
e (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.
Aprendendo um
Comportamento de Time
Aprendizagem 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.
Aprendendo um
Comportamento de Time
Seleçã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.
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento de Time
Aplicando 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.
Aprendendo um
Comportamento de Time
Generalizaçã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) < C
Usamos 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)
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento 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.
Aprendendo um
Comportamento de Time
 Caso 1
r = ______r0______
tlim = 30s (300 ciclos), Qmax=100,  = 10
1+(-1)* t0/tlim
Onde r0 é indicado abaixo:
-25
Lateral contra
-1
Direção de ataque
y
Gol Contra
-100
0.0
Gol a favor
x
Tiro de Meta a favor
-10
-25 Escanteio contra
1
100
Tiro de Meta contra
10
Lateral a favor
Escanteio a favor 25
25
Aprendendo um
Comportamento de Time
 Casos 2 e 3:
r =  _xméd_-_xt_
* xog - xt
r = - _xt_-_xméd_
* xt - xlg
se xméd > xt
se xméd  xt
 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)
Aprendendo um
Comportamento de Time
Seleção da Ação no Treinamento Multiagente
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.
Aprendendo um
Comportamento de Time
Resultados
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.
Aprendendo um
Comportamento de Time
Resultados
160 jogos de 10 minutos entre
um time que seleciona o passe aleatoriamente e
um usando TPOT-RL.
Quantidade de gols acumulada no final
450 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.
Aprendendo um
Comportamento 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).
Gols: após 40 jogos de
treinamento
Aprendendo um
Comportamento de Time
300
Sempre
Chuta
Treinamento Treinamento
Completo
Reduzido
TPOT-RL
250
OPR
200
150
100
50
0
(a)
(b)
(c)
 (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)
Aprendendo um
Comportamento de Time
|U|=2 |U|=2
|W|=2 |W|=1
|U|=1 |W|=1 |W|=2 e=er e=eh
Gols: após 40 jogos de
treinamento
|U|=2, e=e
200
TPOT-RL
Switching
150
100
50
0
(a)
(b)
(c)
(d)
(e)
Gols: após 40 jogos de
treinamento
Aprendendo um
Comportamento de Time
300
250
200
Ri
OPR
Rg
150
100
50
0
(a)
TPOT-RL
(b)
Aprendendo um
Comportamento 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-RL
 h3 = Política distribuída de seleção de passe.
Aprendizagem em Camadas
Aprendendo uma
habilidade 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%.
Aprendendo uma
habilidade 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).
Aprendendo uma
habilidade individual
Exemplos de
Treinamento
Defesas(%)
Gols(%)
Defesas
Gols+Defesas (%)
100
200
300
400
500
750
1000
4773
57
73
81
81
84
86
83
84
33
18
13
13
10
9
10
9
63
80
86
86
89
91
89
90
Aprendendo uma
habilidade individual
Ruído
Comportamento
Defesas(%)
Gols(%)
Defesas
Gols+Defesas (%)
0
NN
Direto
NN
Direto
NN
Direto
NN
Direto
NN
Direto
NN
Direto
NN
Direto
100
100
86
53
75
47
68
40
59
34
53
32
49
28
0
0
9
35
13
35
14
36
16
36
17
33
18
32
100
100
91
60
86
57
83
53
78
49
75
50
73
47
.05
.06
.07
.08
.09
.1
Aprendendo uma
habilidade individual
Comportamento
do defensor
Defesas(%)
Gols(%)
Defesas
Gols+Defesas (%)
RN
Tabela
Analítico
86
83
82
9
8
13
91
91
86
Download

LayeredLearning - Centro de Informática da UFPE