1 pontos por GN⁺ 2024-08-29 | 1 comentários | Compartilhar no WhatsApp

Diffusion Models Are Real-Time Game Engines

  • GameNGen: o primeiro motor de jogo movido por um modelo neural, oferecendo interação em tempo real com ambientes complexos em alta qualidade
  • Simulação de DOOM: consegue simular interativamente o jogo clássico DOOM a mais de 20 quadros por segundo em uma única TPU
  • PSNR: alcança 29,4 de PSNR na previsão do próximo quadro, semelhante à compressão JPEG com perdas
  • Avaliadores humanos: avaliadores humanos tiveram desempenho apenas um pouco melhor do que palpites aleatórios ao distinguir clipes do jogo de clipes simulados

Vídeo completo da jogabilidade

Coleta de dados por meio de jogabilidade de agentes

  • Agente de RL automatizado: como não é possível coletar dados de jogabilidade humana em grande escala, a primeira etapa foi treinar um agente de RL automatizado para jogar e registrar as ações e observações desses episódios de treinamento para usá-las como dados de treinamento do modelo generativo

Treinamento do modelo generativo de difusão

  • Stable Diffusion v1.4: reutiliza um pequeno modelo de difusão condicionado por sequências de ações e observações anteriores (quadros)
  • Adição de ruído gaussiano: durante o treinamento, adiciona ruído gaussiano aos quadros codificados para degradar os quadros de contexto, permitindo que a rede corrija informações amostradas de quadros anteriores. Isso é importante para manter a estabilidade visual por longos períodos

Ajuste fino do decodificador latente

  • Autoencoder pré-treinado do Stable Diffusion v1.4: comprime blocos de 8x8 pixels em 4 canais latentes, o que causa artefatos significativos ao prever quadros do jogo. Isso afeta especialmente pequenos detalhes e o HUD da barra inferior
  • Treinamento do decodificador: para melhorar a qualidade da imagem, treina apenas o decodificador do autoencoder latente calculando a perda MSE sobre os pixels dos quadros-alvo

Resumo do GN⁺

  • GameNGen é o primeiro motor de jogo a usar um modelo neural para interagir em tempo real com ambientes complexos
  • Por meio da simulação de DOOM, oferece previsão de quadros em alta qualidade, a ponto de avaliadores humanos terem dificuldade para distinguir o jogo real da simulação
  • Reutiliza modelos existentes, como Stable Diffusion v1.4, para aumentar a eficiência e mantém a estabilidade visual com técnicas como a adição de ruído gaussiano
  • O ajuste fino do decodificador latente melhora a qualidade da imagem e preserva os detalhes dos quadros do jogo

1 comentários

 
GN⁺ 2024-08-29
Comentários no Hacker News
  • O modelo de difusão do Google usando SD 1.4 parece incorporar mais causalidade, consequência e sequência do que o esperado

    • Um agente joga Doom para obter dados de treinamento infinitos
    • Adiciona-se ruído gaussiano aos frames de origem e recompensa-se o agente por “corrigir” os frames sequenciais
    • É importante ensinar o modelo a corrigir erros e manter a estabilidade
    • Fico curioso se seria possível fazer fine-tuning desse modelo para um estilo “fotorrealista” ou de ray tracing
  • Este artigo não descreve um sistema que receba entrada do usuário em tempo real e ajuste a saída

    • Foi treinado com um grande conjunto de dados de um agente jogando Doom
    • A entrada do usuário não é refletida na simulação em tempo real
    • O artigo omite uma explicação sobre gameplay em tempo real por parte do usuário
  • É impressionante que esse modelo consiga renderizar a 20 fps

    • Parece o cruzamento entre um modelo de difusão e uma RNN
    • É semelhante a um modelo sonhando com um jogo que jogou muitas vezes
    • Os humanos também podem ser máquinas de prever o próximo instante
  • As tentativas de fazer Doom rodar em tudo continuam

    • Este modelo é a versão de Doom com os maiores requisitos de hardware
    • Doom está presente nos dois extremos das especificações de hardware
  • É engraçado ler comentários apontando que isso não tem sentido

    • Nem tudo precisa ser criado visando lucro
    • Também é importante criar algo pela experiência de aprendizado, pelo desafio e pela curiosidade
    • O tempo gasto sentindo prazer nunca é desperdício
  • Comparação entre os requisitos de sistema de Doom e o Stable Diffusion v1

    • Doom: 4 MB de RAM, 12 MB de espaço em disco
    • Stable Diffusion v1: 860M UNet e CLIP ViT-L/14, tamanho de checkpoint de 4,27 GB, rodando em TPU-v5e
    • Apesar de o modelo ter capacidade para memorizar o jogo centenas de vezes, ainda há muito espaço para otimização
    • Se você automatizar um jogo o suficiente, pode replicá-lo
  • O papel de uma engine de jogo é renderizar o mundo

    • A mensagem “esta porta precisa de uma chave azul” não entrega uma chave azul ao usuário
    • Uma engine de jogo pode criar novos jogos e modificar em tempo real as regras de jogos existentes
    • Um modelo de difusão não é uma engine de jogo
  • Embora não tenham sido fornecidas condições de texto, pode ser possível criar um novo jogo apenas com prompts de texto

    • Usou RL para aprender a aparência e o funcionamento de Doom
    • Simular um jogo de mundo aberto com estados infinitos seria difícil