[Entrevista] Como redes neurais e aprendizado de máquina estão tornando os jogos mais interessantes

Alex Lashkov Blocked Desbloquear Seguir Seguindo 7 de janeiro Crédito da imagem: Unsplash

O aprendizado de máquina e as redes neurais são tópicos importantes em muitas áreas de tecnologia, e o desenvolvimento do jogo é um deles. Lá, essas novas tecnologias são usadas para tornar os jogos mais interessantes.

Como isso é alcançado, quais empresas são agora líderes em novas tecnologias de adoção e pesquisa quando nós, como usuários, veremos resultados notáveis desta pesquisa e muito mais a ser discutido hoje. Vamos conversar com Vladimir Ivanov, o principal ML em especialista em jogos.

A primeira pergunta é: o que você quer dizer quando fala que jogos "não são interessantes" e a nova tecnologia poderia consertar isso?

Bem, a coisa é bem simples: se estamos falando não sobre o modo de jogo humano versus humano, você precisa competir com bots. Muitas vezes isso não é tão interessante quanto poderia ser. Esses bots são roteirizados, ou seja, sua vantagem sobre o jogador é uma reação mais rápida e um conhecimento profundo de um mapa jogado.

No entanto, depois de vários jogos serem jogados, o ser humano pode reconhecer os algoritmos que o bot está seguindo e usá-lo para prever seus novos movimentos. O bot não pode fazer coisas não padronizadas; É por isso que você pode ficar entediado rapidamente.

O modo humano versus humano nem sempre é possível, e seria legal criar bots que agem mais como seres humanos para enriquecer a experiência de jogo. É por isso que o desenvolvimento de bots semelhantes aos humanos é um dos campos de pesquisa promissores na indústria de jogos. O aprendizado de máquina é uma ferramenta perfeita para aplicar aqui.

Ok, então como podemos criar melhores bots que são mais interessantes de se jogar?

Treinar o bot jogando contra outros bots é uma das formas de aprender. Vamos imaginar que criamos um jogo onde você pode se mover no mapa, atirar em inimigos, realizar outras ações.

Poderíamos então enviar os bots com habilidades pré-programadas para este mapa. Esses bots jogarão um contra o outro, dominarão suas habilidades, aprenderão novos movimentos. Potencialmente, milhares de jogos podem ensinar ao bot muitas coisas novas. Como resultado, seu comportamento será menos previsível e mais humano do que é possível agora.

Outra abordagem interessante é a aprendizagem baseada em interação quando os bots são enviados para o mapa para atuar como uma equipe.

Parece interessante, mas existem implementações do mundo real? Talvez existam alguns exemplos de jogos reais com robôs tão inteligentes?

A principal complexidade do ML e das redes neurais é uma grande quantidade de recursos que você precisa para processar todas as variantes de ação possíveis. Por exemplo, para ensinar uma rede neural a reconhecer o elefante em uma foto, você terá que mostrar muitas imagens com elefantes. Com os jogos, o sistema precisa jogar um número enorme de jogos. Você poderá obter resultados mais ou menos interessantes a partir de várias dezenas de milhares de parâmetros analisados.

Existem jogos em que você pode conseguir algo assim, mas esses jogos devem ser simples. Por exemplo, um VizDoom é bastante simples, além de sua plataforma ter uma alta frequência de quadro de 70 mil FPS. Então, os bots do jogo podem viver muitas vidas por um curto período.

Como resultado, eles podem ser treinados mais rapidamente, o que leva a melhores resultados. É muito mais interessante jogar o VizDoom com bots treinados do que com os roteiros habituais. Se você decidir colocar ML-não contra o usual, a versão ML sempre ganhará também.

Com tudo isso dito, você precisa saber que as ações do bot ainda serão relativamente simples. O bot será bom em realizar movimentos de reflexo como balas se esquivando, mas não será capaz de memorizar suficientemente bem o mapa e criar idéias fora do padrão (como fazer uma emboscada na zona de reaparecimento dos inimigos para matá-los imediatamente). Isso é muito complexo. A plataforma VizDoom não possui recursos para que você possa aumentar o número de experimentos para o nível desejado.

Quais são as outras restrições que impedem implementações mais amplas de redes ML e neurais?

Outro problema essencial é adquirir dados para análise e construir hipóteses para testar. Às vezes, os pesquisadores podem obter essas informações, por exemplo. A válvula fornece esses dados para o DOTA. Geralmente, isso é feito gerando um arquivo JSON que você pode analisar para entender como o mundo do jogo está funcionando, analisar todos os elementos essenciais, como o nível de saúde, etc.

Se os desenvolvedores de um determinado jogo não fornecerem essas informações, você deverá criar suas ferramentas para o fornecimento de dados. Supondo que você precise coletar e analisar milhares de parâmetros para vários objetos, resolver essa tarefa pode ser complicado.

Às vezes a situação intermediária é possível quando você tem apenas um vídeo de um jogo e precisa analisá-lo. Essa abordagem pode funcionar bem para jogos simples como o VizDoom; você pode desconstruir a imagem e entender os principais parâmetros. Para jogos mais complexos, você precisará de mais dados, o que é difícil de coletar dessa maneira.

Quais empresas são as mais ativas nesse mercado? Eles têm algum resultado notável?

Eu gosto do trabalho da empresa DICE, os desenvolvedores do Battlefield. Em um moderno jogo AAA em primeira pessoa, eles conseguiram repetir em um grande número de computadores coisas que antes eram feitas em um Doom mais simples. O fator que difere Battlefield de outros jogos é uma mecânica de jogo mais complexa, visualmente mais diversificada do mundo. Mas outras coisas são muito semelhantes aos jogos mais fáceis.

Isso significa que a rede neural obtém uma imagem como entrada e precisa gerar alguma saída. A única diferença é que para Doom a imagem terá resolução de 300?400 pixels com menor número de ações possíveis enquanto que para Battlefield terá 1920?1080 com mais atividades possíveis. Além disso, como o mundo do jogo é mais rico, o número de camadas na rede neural é maior que três. É necessário memorizar mais coisas durante a exploração do mundo. Por exemplo, deve-se entender que não há apenas armas, mas também granadas que voam não como uma bala e que você pode escalar obstáculos baixos.

Curiosamente, antes de mudar para o aprendizado de máquina para o Battlefield, os desenvolvedores criaram um sistema semelhante ao VizDoom para testar o algoritmo. Em vez de casas, usava cubos grandes, caixas coloridas representando saúde e armaduras, etc. Isso permitia tornar a tarefa mais simples para o agente. Aprende a entender a informação visual primeiro. Então, antes que o bot seja capaz de ir para a retaguarda de seu inimigo, ele precisa se tornar capaz de diferenciar a casa e o kit de primeiros socorros. É por isso que os simuladores para testar algoritmos de aprendizado de reforço são sempre tão simples quanto possível do ponto de vista visual. Isso é feito para simplificar a compreensão inicial do mundo.

A equipe do OpenAI também publicou os resultados da pesquisa sobre aprendizado de máquina. Por exemplo, recentemente eles realizaram uma série de experimentos. Durante um dos testes, as pessoas estavam jogando contra o bot em um modo one on one. Os humanos estavam lutando para derrotar o bot em uma luta cara a cara, já que tinha reações mais rápidas. No entanto, logo eles foram capazes de encontrar falhas na estratégia do bot e usá-lo para ganhar.

O segundo teste foi realizado em equipe no modo de equipe quando os ex-campeões do DOTA jogaram contra os robôs de autoaprendizagem. Finalmente, a equipe de bot aprendeu a ganhar.

Durante o último experimento, esse time bot estava lutando contra os atuais campeões do DOTA, e desta vez os humanos venceram usando outra falha na estratégia dos bots. Esses bots foram treinados em jogos padrão DOTA, que são quase sempre de 40 minutos de duração. No entanto, as lutas com os campeões humanos foram difíceis e duraram de 50 a 60 minutos. Os bots foram bons nos primeiros 40 minutos, mas depois desse limiar, o desempenho deles diminuiu significativamente. Eles não conseguiram criar estratégias tão longas.

Não é que muitas empresas possam realizar tais pesquisas. Isso requer muitos recursos; você precisa gastar dinheiro no departamento de P & D, comprar computadores para executar testes. A coisa é que esta pesquisa não pode ser comercializada tão cedo, então você estará investindo em um futuro distante.

Por que ainda não há bots semelhantes a humanos?

Os bots são fracos e generalizados, ou seja, geram conclusões baseadas em experiências anteriores. Os humanos são bons nisso, e os pesquisadores ainda não conseguem preencher essa lacuna usando a tecnologia de aprendizado de máquina.

Então, o que pode ser feito sobre isso? Existe alguma probabilidade de que a situação melhore?

Tudo leva tempo. As especificidades do uso de ML e redes neurais no desenvolvimento de jogos é que você precisa executar uma hipótese usando centenas de computadores por vários dias. Você pode simplificar a tarefa usando mini-jogos.

Essa abordagem implica em dividir um grande jogo em vários pedaços menores. Por exemplo, o jogo envolve apenas fotografar, mover ou comprar alguns itens. Algoritmos para esses minijogos são muito mais simples e você precisa de menos recursos para depurá-los. Às vezes, um mini-jogo pode ser renderizado usando GPU. Você pode dimensionar os resultados obtidos em ambientes de jogos mais complexos.

Finalmente, você poderia dar sua previsão sobre o desenvolvimento de ML e redes neurais em conexão com o desenvolvimento de jogos e outras esferas?

É mais ou menos claro com os jogos: conforme o tempo passa, haverá bots mais avançados que serão mais interessantes para interagir.

No entanto, os jogos são apenas a ponta de um iceberg. Eu acho que a criação de bots inteligentes pode levar a algo maior. Hoje você tem um bot totalmente virtual que é bom em jogar shooters; amanhã você carrega essa rede neural para mecanismos robóticos físicos. Se o algoritmo souber como a mão se move, quais músculos estão envolvidos em ações específicas, ela poderá enviar sinais de controle para um membro físico. Imagine como esses robôs podem ser produtivos enquanto usados em linhas de produção reais.

Todo mundo já viu os robôs da Boston Dynamics, mas eles não usam ativamente o ML. Esta empresa tem recursos para trazer os melhores matemáticos a bordo para criar modelos e algoritmos. É caro. Por sua vez, a aplicação de abordagens para a criação de seres humanos, desenvolvidos em desenvolvimento de jogos, permite uma redução significativa de custos e pode levar ao surgimento de dezenas de novos participantes em um mercado de robótica.