Upload
diogo-mendonca-carrilho
View
222
Download
2
Embed Size (px)
Citation preview
Aprendizagem em Camadas
Ioram Sette
Lembrete: Arquitetura do Agente Jogador no CMUnited
Acordo doVestiário
ComportamentosInternos
EstadoInterno
ComportamentosExternos
Interpretador Estado doMundo Preditor
MundoRealInformações
SensoriaisAçõ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
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
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
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 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.
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
Aprendendo uma habilidade individual: interceptar a bola
Defensor
Atacante
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 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).
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.
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.
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.
Aprendendo umComportamento Multi-Agente
Lançador
OponenteReceptor
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
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.
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
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
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.
Aprendendo umComportamento Multi-Agente
Dribble
Passe
Passe
Passe?
?Chute
Dribble
A
G
D
C
B
F
E
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.
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
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.
Aprendendo umComportamento Multi-Agente
G
RD
CD
LD
S
RM
CM
LM LF
CF
RF
Formação 4-3-3
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.
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
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.
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
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
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.
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.
Aprendendo umComportamento de Time
d
Fe
S
c
S
F
f
h
b
F
F
g
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.
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.
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
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
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).
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.
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.
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.
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 |
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.
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.
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.
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.
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.
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)
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.
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.
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
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)
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.
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.
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.
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).
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)
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
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
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.
Aprendizagem em Camadas
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%.
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).
Aprendendo umahabilidade individual
6380868689918990
33181313109109
5773818184868384
10020030040050075010004773
DefesasGols+Defesas (%)
Gols(%)Defesas(%)
Exemplos de Treinamento
Aprendendo umahabilidade individual
100100916086578353784975507347
0093513351436163617331832
100100865375476840593453324928
NNDiretoNNDiretoNNDiretoNNDiretoNNDiretoNNDiretoNNDireto
0
.05
.06
.07
.08
.09
.1
DefesasGols+Defesas (%)
Gols(%)Defesas(%)Comportamento
Ruído
Aprendendo umahabilidade individual
919186
9813
868382
RNTabelaAnalítico
DefesasGols+Defesas (%)
Gols(%)Defesas(%)
Comportamentodo defensor