Hoje será a primeira partida entre os profissionais OpenAI e Dota 2 (pessoas vencidas). Entendemos como o bot funciona



[UPD 2] A equipe Pain Gaming derrotou o OpenAI Five. A partida durou 53 minutos e terminou com uma pontuação de 45-41 para frags a favor dos bots. A gravação do jogo pode ser vista no Twitch aqui . Comece às 7:38:00

Hoje à noite, 22 de agosto, antes do início do próximo dia dos playoffs internacionais, a primeira partida de demonstração entre jogadores profissionais e o bot OpenAI Five será realizada como parte das atividades do show. Informações sobre as partidas apareceram no site oficial do Dota 2 na seção com a programação dos jogos para os playoffs do The International. No total, o OpenAI jogará três partidas em três dias com jogadores profissionais.

Esse evento é significativo, já que há um ano o bot "reprimiu" Daniil Ishutin no confronto com o espelho médio 1x1 solo SF , e algumas semanas atrás ele derrotou a "mistura de comentadores" e ex-jogadores profissionais.

Desta vez, o desenvolvimento de uma empresa patrocinada por Elon Musk e outros empresários de destaque do setor de TI enfrentará um adversário mais sério: a International reúne anualmente as melhores equipes do mundo, para que não seja fácil para os bots. Até o momento, a equipe de desenvolvimento não informou se todas as restrições antigas sobre picos e mecânicos que eram relevantes no jogo contra pessoas no início do mês serão aplicadas, mas vale a pena lembrar.

Portanto, as regras antigas são as seguintes:
  • grupo de 18 heróis no modo Rascunho Aleatório (Machado, Donzela de Cristal, Profeta da Morte, Agitador da Terra, Girocóptero, Lich, Leão, Necrofos, Rainha da Dor, Navalha, Riki, Demônio das Sombras, Slark, Sniper, Sven, Caçador de Marés, Viper ou Bruxa Médico);
  • sem Divine Rapier, Bottle;
  • sem criaturas e ilusões controladas;
  • combinar com cinco mensageiros (eles não podem ser observados e despachados);
  • sem usar uma digitalização.


Nos comentários de nossa última publicação sobre esse assunto, muita controvérsia surgiu sobre os métodos de treinamento de redes neurais. Desta vez, trouxemos alguns visuais sobre como o bot OpenAI funciona e como ele se parece do ponto de vista das pessoas.

Os desenvolvedores disseram que, devido ao grande poder computacional, ao grande número de registros e à capacidade de executar treinamentos em vários fluxos, o OpenAI imitava diariamente até 180 anos de jogos contínuos no Dota 2. Obviamente, a capacidade de aprendizado dessa IA é muitas ordens de magnitude menor do que as não tão inteligentes "Animais, para não mencionar cães ou primatas, aos quais o homem pertence.

Para treinar o OpenAI, a equipe usou seu próprio desenvolvimento chamado Gym ( repositório do github , documentação oficial). Essa "cadeira de balanço" é compatível com qualquer biblioteca pública, como TensorFlow ou Theano. No treinamento de redes neurais no âmbito do Gym, o loop agente-ambiente clássico é usado:



Os desenvolvedores afirmam que qualquer um pode usar o Gym para ensinar sua rede neural a jogar títulos clássicos para o Atari 2600 ou outros projetos relativamente fáceis de entender. Obviamente, a velocidade do treinamento depende diretamente da quantidade de recursos envolvidos nisso. Como exemplo, os desenvolvedores da OpenAI ensinaram a rede neural a jogar a Vingança de Montezuma .

Mas o segundo e o quarto estágios - a ação e a análise do resultado (recompensas pela ação) são do maior interesse para nós. E no contexto do Dota 2, o nível de variabilidade acaba rolando, e as ações inicialmente avaliadas pelo bot como “certas” em uma longa distância podem levar à perda.

Como a equipe OpenAI ensinou a IA a jogar Dota 2 em termos de equipamento


A equipe de desenvolvimento abordou a questão de aprender o OpenAI no Dota 2 mais do que a sério. Você pode ler o relatório oficial completo no blog do projeto aqui , mas forneceremos os principais trechos da parte técnica e da implementação sem marketing e outras reverências.

Os comentaristas da publicação anterior estavam mais interessados ​​na energia consumida pela rede neural OpenAI para treinamento. Obviamente, um par de Ryzen não poderia fazê-lo, especialmente no contexto de imitar 180 anos de jogo em um dia real. Ao mesmo tempo, o bot para Dota 2 não é um bot para o atirador de nível Quake, que o usuário notou muito claramente em resposta a um dos céticos:

Parece-me que você apenas imagina o tamanho do espaço tático no DotA, porque não está familiarizado com o jogo em si. Não há chance de fazer bots sem envolver redes neurais, limitando-se a pelo menos alguns recursos de computação sãos. Sério. Este não é o Quake, onde você pode ser um carvalho completo em termos de tática, compensando isso com tiros desumanamente rápidos em nabos dos trilhos. Ideal em termos de reação e habilidades mecânicas, os robôs que não sabem jogar cinco deles e não “sentem a carta” estão condenados a qualquer jogador de carne habilidoso.

Além disso, o DotA é um jogo com informações incompletas, o que complica dramaticamente a tarefa. A tarefa "o que fazer quando vejo o inimigo" é muito mais simples do que a tarefa "o que fazer quando os inimigos não estão visíveis" - não apenas para carros, mas também para as pessoas.

Os desenvolvedores da OpenAI entenderam claramente isso; portanto, milhares de máquinas virtuais foram usadas simultaneamente para treinar bots. Especificamente, esses números são dados no blog oficial do projeto para treinar o bot 1x1 Solo Mid, capaz de derrotar Daniel Ishutin com algumas restrições e treinar uma equipe completa para o jogo 5x5:


Este não é um ponto decimal. Para treinar o OpenAI no modo 5x5, 128 mil núcleos de processador do Google Cloud são usados ​​constantemente. Mas isso não é tudo. Como a visão de máquina é usada no ensino do bot OpenAI (sobre o qual falaremos um pouco mais adiante), nessa configuração monstruosa existem outras GPUs NVIDIA 256 PID ( acelerador de Tesla ).

De acordo com o folheto oficial da NVIDIA, o P100 possui os seguintes recursos:



O custo oficial de um P100 Tesla de 12 GB PCI-E é de cerca de US $ 5800; o Tesla P100 SXM2 16GB começa em US $ 9400. O OpenAI usa apenas o modelo SXM2 mais antigo. As placas de vídeo são necessárias não para renderizar “gráficos” em máquinas virtuais, mas para processar e computar dados que vêm constantemente de todos os lotes em execução. Para processar esse fluxo, a equipe teve que implantar um sistema inteiro de nós, dentro dos quais o P100 Tesla trabalha. As placas de vídeo processam e calculam os dados obtidos, para produzir o resultado médio de todos os lotes e compará-lo com os indicadores anteriores da OpenAI.

Tais capacidades tornam possível simular redes neurais de cerca de 60 partes por minuto, para cada uma das quais a rede neural analisa cerca de 1,04 milhão de ciclos médios de agente, como mencionado anteriormente.

Como a OpenAI vê o jogo


Dinheiro é poeira, se você a tiver, é claro. Até as estimativas mais aproximadas do custo de um dia de treinamento OpenAI causam um pequeno choque, e o calor gerado nos servidores do Google Cloud é suficiente para aquecer uma cidade pequena. Mas muito mais interessante é como a OpenAI "vê" o jogo.

É claro que os robôs não precisam de renderização gráfica, mas esses poderes são usados ​​por um motivo. O bot em suas ações conta com a API Valve padrão para bots , através da qual a rede neural recebe um fluxo de dados sobre o espaço circundante. A API é necessária para executar os dados por meio de uma rede LSTM de camada única de 1024 blocos e, como resultado, receber soluções de curto prazo que são consistentes com as estratégias de longo prazo disponíveis para a rede neural.

As redes LSTM determinam a prioridade das tarefas para o bot "aqui e agora" e, de acordo com o modelo de longo prazo do comportamento da rede neural, a ação mais vantajosa é selecionada. Por exemplo, os robôs se concentram prontamente nos arrepios de último golpe para ganhar ouro e experiência, o que é consistente com o modelo de obtenção de benefícios a longo prazo na forma de objetos e a vantagem subseqüente no jogo.

Segundo informações dos desenvolvedores, todas as partes ocorrem com o desenho de eventos no mapa com uma frequência de 30 FPS. Rede neural A OpenAI analisa constantemente cada quadro através do LSTM, com base no resultado do qual toma outras decisões. Ao mesmo tempo, o bot tem suas próprias prioridades: todas as interações possíveis com o ambiente são submetidas à análise mais completa por meio de áreas especialmente selecionadas da "visão" do bot - esses são quadrados de 800x800 divididos em 64 células de 100x100 (o tamanho da faixa de ação e movimento do jogo é tomado, e o tamanho do quadrado é 8x8 ) É assim que o bot "vê" parcialmente o jogo em um quadro específico:


Um construtor completo com a capacidade de alternar ações, estimar o tamanho dos quadrados e outras possibilidades de "torcer configurações" está disponível no blog oficial dos desenvolvedores na seção Estrutura do modelo

E aqui está a visualização da rede LSTM em termos de previsão em tempo real de eventos de jogos:


Além do LSTM e da avaliação da situação aqui e agora, o bot da OpenAI constantemente usa uma grade de “previsão” e define suas próprias prioridades. É assim que parece para as pessoas:



O quadrado verde é a área de maior prioridade e a ação atual do bot (ataque, movimento etc.) O quadrado verde claro tem prioridade mais baixa, mas o bot pode alternar para esse setor a qualquer momento. Mais dois quadrados cinzentos - áreas de atividade potencial, se nada mudar.

Veja como o bot "vê" o jogo e toma decisões com base nessas quatro zonas pode ser visto no vídeo abaixo:


Deve-se notar que as áreas prioritárias do bot nem sempre estão localizadas próximas ao modelo do personagem. Ao arrastar o mapa, todos os quatro quadrados são facilmente deslocados para várias telas da posição atual do bot, ou seja, o OpenAI analisa simultaneamente todo o espaço do jogo quanto à disponibilidade e conveniência de qualquer ação, e não apenas uma tela.

O OpenAI brinca constantemente consigo mesmo. Ao mesmo tempo, 80% dos bots são treinados e 20% usam táticas e estratégias já desenvolvidas. Essa abordagem permite que a rede neural aprenda com seus próprios erros, encontrando padrões vulneráveis ​​no comportamento real e, ao mesmo tempo, consolidando padrões de comportamento bem-sucedidos.

Amanhã já. Profissionais versus máquina


Em vez do resultado, vale a pena voltar ao tópico do confronto de amanhã entre jogadores profissionais e a OpenAI.

Os detalhes ainda não são conhecidos, mas com confiança podemos dizer que as redes neurais terão dificuldades. Ao contrário de seus oponentes anteriores, o OpenAI enfrentará o melhor dos melhores, e a possibilidade de manobras e trabalho em equipe no âmbito de uma partida do programa permitirá que as pessoas alcancem todo o seu potencial. O formato Solo Mid 1x1, é claro, é extremamente espetacular, mas não revela toda a essência do jogo e é extremamente intolerante aos micro-erros que as pessoas costumam fazer.

A questão toda é quão seriamente os profissionais levarão esse confronto. Se alguma informação adicional aparecer, a publicação será atualizada.

Source: https://habr.com/ru/post/pt420825/


All Articles