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:SV. 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 xAU 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