Inteligência Artificial Aprende a Jogar Super Mario Bros (Aprendizado por Reforço)

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ม.ค. 2025

ความคิดเห็น •

  • @acaronet
    @acaronet 9 หลายเดือนก่อน +8

    Seu vídeo foi indicado na pós de IA d ufv. Parabéns, meu caro!!!

  • @viniciusteixeira9803
    @viniciusteixeira9803 3 ปีที่แล้ว +28

    Parabéns pela iniciativa, Gabriel! Lembro, há dois anos, no bandejão, na única vez que conversamos, quanto apreço você demonstrou pela área de IA. Espero que este canal aqui lhe renda frutos.

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +3

      Muito obrigado pelo apoio, Vinicius!! Espero que possamos nos encontrar no bandejão novamente em breve. Abraço!!

    • @TheCar8200
      @TheCar8200 3 ปีที่แล้ว

      @@talendar7068 qual emulador que vc usou like no video

    • @shanks1754
      @shanks1754 2 ปีที่แล้ว

      @@talendar7068 tem como eu fazer ó mesmo com um jogo de celular? Responda a minha duvida

  • @leodionisiolima
    @leodionisiolima ปีที่แล้ว +1

    Caraca véi, maneiríssimo esse víceo, parabéns mesmo

  • @thiagolomba4182
    @thiagolomba4182 3 ปีที่แล้ว +6

    Seria incrível ver a IA fazendo um tempo baixo de speedrun. Nessa mesma pegada, gostaria de ver uma IA speedrun de UMK3. Parabéns pelo vídeo!!

  • @gutavogamesbr8674
    @gutavogamesbr8674 3 ปีที่แล้ว +15

    Nossa é muito difícil achar esse tipo de conteúdo deveria ser mais notado, mas muito bom seus vídeos

  • @xandin8885
    @xandin8885 3 ปีที่แล้ว +4

    Vim do grupo Nintendo Brasil, já me inscrevi muito interessante

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +1

      Seja bem-vindo, cara!! Obrigado!

  • @joaopedropereiradelacerdat1895
    @joaopedropereiradelacerdat1895 3 ปีที่แล้ว +3

    Quando vejo isso, um i.a que não tem de um milésimo da capacidade humana fazer isso eu penso "nossa eu sô um MERDA!!!"

  • @largadeugnt
    @largadeugnt 3 ปีที่แล้ว

    Gostei muito das explicações. Dá pra ver que entende do assunto. Like 👍

  • @rhaissab.2006
    @rhaissab.2006 3 ปีที่แล้ว +3

    Muito bom o vídeo, parabéns!!

  • @wallacefonseca8380
    @wallacefonseca8380 ปีที่แล้ว

    Genial mano, parabéns.

  • @edsonlima8195
    @edsonlima8195 3 ปีที่แล้ว +3

    Muito bom! Parabéns!

  • @murilogamesyt12345
    @murilogamesyt12345 2 ปีที่แล้ว

    A inteligência artificial:Quem é Vc?
    Mario:olá,vc pode me ajudar a salvar a princesa?
    IA:sim

  • @lucasborelli9760
    @lucasborelli9760 3 ปีที่แล้ว +3

    Mto foda...parabéns!

  • @johnramos4076
    @johnramos4076 14 วันที่ผ่านมา

    excelente video, + 1 inscrito

  • @davidproweb
    @davidproweb 3 ปีที่แล้ว +20

    Seria muito legal criarem uma categoria de Speedrun baseado exclusivamente em IA: cada um poderia programar o próprio meio de conclusão, com os recursos que tiver. Dai poderia avaliar qual chegaria mais longe em 1 hora de treinamento (sempre do zero).

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +4

      É uma excelente ideia, cara!! Em 2009 teve uma competição desse tipo (julian.togelius.com/mariocompetition2009/), mas acho que não foi pra frente. Seria sensacional se houvesse competições desse tipo hoje em dia, tanto pro Mario quanto para outros jogos.

    • @davidproweb
      @davidproweb 3 ปีที่แล้ว +1

      @@talendar7068 seria top, com certeza!
      A capacidade humana de fazer speedrun é incrível por si só, mas a realização humana de criar uma inteligência que simule (e melhore) a nossa com a IA é sensacional.
      Além disso, certamenta ajudaria a melhorar o speedrun humano, detectando glitches, como ocorre nos 14:55 do seu vídeo. Eu já vi um speedrun que um cara fazia isso, mas é incrível como a IA conseguiu perceber e tirar vantagem disso.

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +1

      @@davidproweb Sim, cara!!

    • @davidproweb
      @davidproweb 3 ปีที่แล้ว +1

      @ não curto muito TAS, pq n vejo muita tecnologia envolvida. Claro, tem uns caras que levam ao nível hardcore e estuda a memória do jogo pra saber onde podem acessar e melhorar com o TAS, mas IA seria um luxo! Pra qualquer jogo, determinar uma forma da IA aprender a chegar mais longe em um determinado período de tempo.

    • @davidproweb
      @davidproweb 3 ปีที่แล้ว +1

      @ Ahhh!!! Ai sim é top mesmo!

  • @caiocesar8310
    @caiocesar8310 ปีที่แล้ว

    Excelente! Parabéns

  • @MrRangh
    @MrRangh 3 ปีที่แล้ว +2

    Rapaz a IA achou até um atalho e uns bugs do game e se beneficiou deles. Quero ver ela matando o Bouser.

  • @kamus9629
    @kamus9629 2 ปีที่แล้ว +1

    tem como ensinar como configurar ele ? para outros jogos

  • @evairmona
    @evairmona 2 ปีที่แล้ว +1

    muito bom amigo, tem comjo fazer um video ensinando compilar esse projeto no jupyter?

  • @matheusdaveigasilvanosouza5252
    @matheusdaveigasilvanosouza5252 ปีที่แล้ว +1

    Gabriel, o cira não vai mais voltar? Sua plataforma ajudava muita gente, mas parece que o servidor caiu :(

  • @wslipk
    @wslipk 10 หลายเดือนก่อน

    Sensacional... parabéns.

  • @ericmodaeli5462
    @ericmodaeli5462 3 ปีที่แล้ว +1

    Não deixe a princesa esperando meu caro, solte a parte 2 kkkk

  • @cowboymrfinn6701
    @cowboymrfinn6701 2 ปีที่แล้ว +1

    FICO IMAGINANDO I.A SE DIVERTINDO JOGANDO MARIO KKKKKKK

  • @Maikon-M-C
    @Maikon-M-C ปีที่แล้ว

    2 anos depois, e a ia ainda não aprendeu os outros níveis.
    Tô na espera. Se quiser dou umas aulas para ela.

  • @Netoniva
    @Netoniva 3 ปีที่แล้ว +5

    mario é o meu jogo favorito

  • @Jogandonaboa
    @Jogandonaboa 3 ปีที่แล้ว +3

    Ficou fantástico
    Fiquei na dúvida sobre a quantidade de memoria que tem no seu equipamento, já que em vários momentos frisou isso.

  • @Igor-dd7ru
    @Igor-dd7ru 3 ปีที่แล้ว +4

    Tem um porém, um dos castelos é um labirinto infinito se você escolher o caminho errado, isso pode travar sua IA, o caminho certo precisa ir um pouco pra esquerda

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +1

      Sim, cara!! É o nível 4 do mundo 4. Se você olhar lá no GitHub, vai ver que tive que pular esse nível hahah. Usando essa mesma estratégia do vídeo, não vai ter como o agente aprender a completar o nível, pois, como você disse, ele precisa andar para a esquerda. Mesmo dando a ele a capacidade de movimentos mais complexos, ainda acho improvável que ele aprenda a passar desse nível só por meio de tentativa e erro. Depois, vou tentar fazer algo que se chama "expert demonstration", onde mostro ao agente o que ele tem que fazer. Abraço!!

    • @Coolbowser64
      @Coolbowser64 3 ปีที่แล้ว

      O 8 de 4 e a mesma coisa que o 4 de 4

  • @ProjetoKanonys
    @ProjetoKanonys ปีที่แล้ว

    O que acontece se a IA descobrir os caminhos secretos que pula mundo, nas que precisa regressar pra esquerda para concluir ?
    Ele fica morrendo pro tempo infinitamente, ou desiste do atalho?

  • @tokito8776
    @tokito8776 2 ปีที่แล้ว

    Essa mecânica é tão incrível quê parece um humano jogando e aprendendo

  • @arthurcarlos4043
    @arthurcarlos4043 3 ปีที่แล้ว +1

    Aprendi redes neurais e queria tentar algo assim, mas a minha duvida é, como vc le as variaveis dentro do jogo? Vc acessa um arquivo do jogo?

  • @pangolim17
    @pangolim17 3 ปีที่แล้ว +1

    Talendar, parabéns por trazer esse assunto interessante.
    Seria legal ver essa IA tentando vencer um jogo mais complexo, como o Jurassic Park 2 Chaos Continues do SNes.
    O Emulador BizHawk tem suporte a Script LUA.
    Esses dias vi o NEATevolve(MarI/O), pegando-o como base seria possível criar uma IA Adaptável a qualquer ROM, só adicionando/trocando certos parâmetros da RAM do jogo que deseja dentro do script?

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +1

      Obrigado, cara! Em relação a IA adaptável, acredito que seja possível, sim, mas precisaremos de uma métrica em comum para medir a performance da IA nos diferentes jogos (pode ser a pontuação nos jogos, por exemplo). Se não me engano, a DeepMind fez algo assim com os jogos de Atari.

  • @TalesCembraneliDantas
    @TalesCembraneliDantas 3 ปีที่แล้ว +2

    Cara parabéns, muito legal, mas já vou lhe prever um problema pra zerar o jogo, na última fase vc percurso entrar em canos, senão o cenário fica em loop, é bom já ir pensando nisso

  • @ricardo.vichesi
    @ricardo.vichesi 3 ปีที่แล้ว +2

    Isso é muito interessante

  • @Gameshow_360
    @Gameshow_360 3 ปีที่แล้ว +3

    Ficou muito bom. Sabe dizer se tem como integrar no metatrader para tomar decisões de compra ou venda de um ativo?

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +1

      Obrigado, cara!! O algoritmo certamente pode ser usado (e já é) para trading. Em relação a integrar com o metatrader, eu não sei te dizer, pois não conheço a plataforma. Eu já brinquei um pouco com IA para trading ( github.com/Talendar/neuroevolutionary_investor ), mas na época usei neuroevolução. Tenho vontade de tentar de novo usando o Deep Q Learning. Abraço!!

    • @Gameshow_360
      @Gameshow_360 3 ปีที่แล้ว +1

      @@talendar7068 entendi. Continue os vídeos, parabéns pelo conteúdo.

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว

      @@Gameshow_360 Valeu, cara!!

  • @leandrojldp
    @leandrojldp ปีที่แล้ว

    maravilha
    tem algum video que explicar como executar o codigo ?

  • @Netoniva
    @Netoniva 3 ปีที่แล้ว +5

    otimo video!!!

  • @cristianoa3089
    @cristianoa3089 ปีที่แล้ว

    Cara muito bom o vídeo, parabéns
    Só gostaria de abrir uma aspas aqui, pois no início do vídeo diz que o "agente é penalizado, recebendo reforço negativo". Reforço negativo também aumenta a probabilidade do comportamento acontecer, não confundir reforço negativo com punição negativa, são consequências diferentes.

  • @yurepablo8931
    @yurepablo8931 3 ปีที่แล้ว +6

    Mano, massa demais! Fiquei curioso pra saber como o algoritmo decide quais experiências devem ficar e quais devem sair do banco de memória.

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +6

      Valeu, Yure!!! Muito legal a sua pergunta! No Deep Q Learning tradicional, o banco de memórias é uma fila, de forma que as experiências mais antigas dão lugar para as experiências mais novas. Na versão que usei, aplico uma técnica que prioriza certas experiências dependendo de quão bem o agente conseguiu fazer previsões em cima dela (as experiências nas quais o agente tem mais dificuldade de prever os resultados recebem maior prioridade). Nesse caso, uma fila de prioridade é usada. Abração!!!

  • @novato2x928
    @novato2x928 11 หลายเดือนก่อน

    como que voce faz isso ? colocar uma ia para jogar ?

  • @rocha1926
    @rocha1926 3 ปีที่แล้ว +1

    sensacional!

  • @HenriqueMSilva-bk6gb
    @HenriqueMSilva-bk6gb 2 ปีที่แล้ว

    Como consigo aprender a fazer isso

  • @charlesadriano1937
    @charlesadriano1937 ปีที่แล้ว

    Aprendizagem por reforço... na minha visão a mais impressionantes de todas, porem, sempre otimizamos os agentes para chegar no fim do nível e do jogo (missão principal), como ficaria este agente, se adicionarmos a necessidade de coletar todas as recompensas do nível, matando todos inimigos e pegando todos os espólios, esse seria um processo mais trabalhoso de todos, porem bem mais completo... fica como sugestão para o próximo projeto

  • @vedita1245
    @vedita1245 ปีที่แล้ว

    nos creditos, vc mereceu demais o meu like, demais mesmo. kkkkk

  • @sollrac_d8946
    @sollrac_d8946 3 ปีที่แล้ว

    me parece que sua ia n ta aparecendo a jgr, ela apenas ta gravando na memoria uma sequencia de ações q faz cm q ela finalize a fase. um exemplo são as bolas de fogo dentro do castelo que ela não desvia ou espera na fase 2-4, ela ja tinha visto no primeiro castelo bolas de fogo e mesmo assim ela ainda n entendeu q n é pra tocar naquilo, ela apenas gravou ql input tocar nakele tempo de jogo especifico.
    o objetivo da ia eu imagino seria ela compreender o que são obstáculos "monstros, parede, mola, etc" pra tomar a melhor decisão... acho q ela n ta aprendendo prq ela ta tendo acesso a exata sequencia de inputs q ela usou antes de morrer pra chegar tão longe, dai ela so muda o q é necessário pra progredir, ou vc ter cortado parte da memoria dela reduziu o aprendizado dela.
    vc poderia colocar ela novamente nas fases inicias mas com objetos random assim ela não teria como gravar a fase, ou ela aprende a lidar com os objetos do jogo ou não passa, acho que tbm reduzia um pouco seu problema de memoria, prq vc n estaria mais salvado td o progresso da ia nas fases, mas apenas as regras de negocio que ela mesmo desenvolveu.
    ajudaria tbm se vc utilizasse 2 ias diferentes no mesmo mapa, sempre q uma delas tiver a melhor pontuação vc descarta o codigo da q teve pior pontuação e usa a da melhor pra duas, mas faz pequenas modificações no codico das duas, assim vc cria uma aleatoriedade no codigo como no mundo real.

  • @chuvacomusica
    @chuvacomusica 3 ปีที่แล้ว

    amigo, como faço para rodar essa programação? preciso do Mario Bros para funcionar também?

  • @rodrigoeus5272
    @rodrigoeus5272 3 ปีที่แล้ว +3

    muito bom

  • @Axlcrux1888
    @Axlcrux1888 2 ปีที่แล้ว

    Curti demais! E é possível utilizar a sua IA para outros jogos? Como por exemplo, algum jogo indie...

  • @edpatrik
    @edpatrik 2 ปีที่แล้ว +2

    Se você der um curso disso, serei o primeiro a comprar. Pense a respeito, por favor.

  • @casal_diversal_oficial
    @casal_diversal_oficial 10 หลายเดือนก่อน

    Será que vc poderia dreinar a IA para jogar WYD ? O jogo usar somente o mouse pra se mover

  • @mykeapo
    @mykeapo 3 ปีที่แล้ว +3

    Queria ver a IA treinada usando todos os comandos do Super Mário, será que ela iria utilizar os Power Ups e os canos?

    • @Empreededor18y
      @Empreededor18y 2 ปีที่แล้ว +1

      Só se ela visse que é necessário, pelo que entendi IA só usa o suficiente pra receber a recompensa

  • @henriquealves1673
    @henriquealves1673 ปีที่แล้ว

    Alguém sabe recomendar tutoriais gratuitos para programar meu primeiro código Deep Q leraning ?

  • @adrianocristiane6671
    @adrianocristiane6671 3 ปีที่แล้ว

    Muito legal, para cada fase é um código diferente? Ou treinamos o mesmo para todas as fases? Onde consigo mais informações, tipo como vc utilizou para capturar a tela e a ia jogar, material para estudo. Parabéns ficou muito bom.

  • @jessevasconselos7544
    @jessevasconselos7544 ปีที่แล้ว

    Poe pra jogar aquele jogo do dino Qnd tá sem net

  • @alexsanders8881
    @alexsanders8881 ปีที่แล้ว

    qual linguagem de programação você usa amigo?

  • @mariaguedes-ia
    @mariaguedes-ia 2 ปีที่แล้ว

    Quais as especificações do PC que usou?

  • @fgamesplayer3350
    @fgamesplayer3350 2 ปีที่แล้ว

    Ótimo vídeo!

  • @Livesedy
    @Livesedy ปีที่แล้ว

    Esse video tem 2 anos e ele nunca mais voltou

  • @allan7387
    @allan7387 3 ปีที่แล้ว +3

    15:00 /gamemode creative

  • @danieldelanes
    @danieldelanes 3 ปีที่แล้ว +1

    Que demais! Será que é difícil fazer a IA jogar um futebol de super Nintendo?

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว

      Obrigado, cara! Acredito que a IA consiga, sim, aprender!

  • @adailsonfranca7389
    @adailsonfranca7389 3 ปีที่แล้ว +1

    Como você aprendeu essas coisas? tenho interesse.

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +1

      A maior parte aprendi lendo artigos e blogs e fazendo cursos online. Se você está começando com IA e já tem alguma experiência com programação, recomendo bastante esse curso de aprendizado de máquina (foi por onde comecei): www.coursera.org/learn/machine-learning
      Boa sorte na sua jornada! É uma área muito legal de se estudar. Abraço!

  • @ricardocampos5284
    @ricardocampos5284 3 ปีที่แล้ว

    Bacana parabems..

  • @arturgamesfilms4129
    @arturgamesfilms4129 9 หลายเดือนก่อน +1

    0:26 🤨🤨🤨felipe neto de criativo?

  • @gtbronks
    @gtbronks 3 ปีที่แล้ว +1

    Parabéns pelo seu projeto! Você pode implementar ele em qualquer jogo de videogame? Tipo, esse jogo tá em Python e por isso a rede neural consegue pegar os status dele? Ou vc usa um emulador de videogame?

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +2

      Obrigado, Bruno! O jogo é o original e encontra-se em uma ROM. Ele roda em um emulador (nesse caso, acho que é um emulador do NES). Por meio de uma framework implementada em Python, consigo ter acesso, em meu programa, ao status do jogo, o que inclui os seus dados em RAM. É daí que eu pego a imagem da tela para alimentá-la para a rede neural. Abraço!

    • @gtbronks
      @gtbronks 3 ปีที่แล้ว

      @@talendar7068 Valeu por me responder! Deixa eu ver se eu entendi: existe um framework em python que consegue acessar os dados no emulador? Qual framework que é? Ele é específico de NES ou consigo acessar qualquer emulador de videogame com ele?

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +1

      @@gtbronks É isso mesmo! O framework é o Nes-py ( github.com/Kautenja/nes-py ) e ele é específico para NES. No vídeo, utilizei uma biblioteca específica para o Super Mario Bros, que abstrai a complexidade de acesso aos dados do emulador ( github.com/Kautenja/gym-super-mario-bros ).

    • @gtbronks
      @gtbronks 3 ปีที่แล้ว

      @@talendar7068 entendi. Você sabe se existe um framework para SNES?

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว

      @@gtbronks Não conheço nenhuma, cara. Tenta dar uma olhada lá pelo GitHub, talvez tenha algo.

  • @TheRockToraGaii
    @TheRockToraGaii 2 ปีที่แล้ว

    E engraçado que para a gente e tão fácil jogar super mario ou qualquer outro joga de plataforma.mais ele (no caso a ia)tem bastante dificuldade
    Uma coisa que eu reparei é que em vários momentos ele vai de cara com os inimigos do jogos ao invés de evitá-los e da vários saltos de fé desnecessário.
    Fico pensando se com a evolução da inteligência artificial tenhamos uma ia que pega a malha do jogo mais rápido.
    Isso seria interessante

  • @stoneyocoelho8054
    @stoneyocoelho8054 3 ปีที่แล้ว

    Pq vc não programou a ia pra procurar power ups as veses

    • @Coolbowser64
      @Coolbowser64 3 ปีที่แล้ว

      Ai seria muito facil

  • @ProjetoKanonys
    @ProjetoKanonys ปีที่แล้ว

    Mas o próprio jogo é uma IA, o jogo independente do level se modifica de acordo com a competência do jogador

  • @caioff5097
    @caioff5097 ปีที่แล้ว

    como coloca a porra da ia no mario???????

  • @Sams_br
    @Sams_br 3 ปีที่แล้ว +3

    Eae maano, eu te desafio a criar um jogo em C#, e em 20 Dias

    • @talendar7068
      @talendar7068  3 ปีที่แล้ว +3

      Eita, cara, pior que eu tenho muita vontade (e ideias) de desenvolver jogos. O tenso é arrumar tempo kkkkkkk

  • @erikff5426
    @erikff5426 3 ปีที่แล้ว +1

    Opa solta a parte 2 ai pra nois ele zerando o jogo kkk

  • @monatp1
    @monatp1 3 ปีที่แล้ว +1

    É impressão minha ou a IA transcendeu e aprendeu a fazer wall jump num jogo do mario que não tem wall jump?

    • @fabioriato
      @fabioriato 3 ปีที่แล้ว

      Na verdade, tem sim, na forma de glitch. É um dos recursos usados por speedrunners desse jogo, inclusive. ;)

    • @monatp1
      @monatp1 3 ปีที่แล้ว

      @@fabioriato a ia virou encontrou um glitch mais rapido que os speedrunners kkkkkk

  • @cristianompereira5514
    @cristianompereira5514 4 หลายเดือนก่อน

    Interessante e ao mesmo tempo assustador a capacidade dessas ferramentas.

  • @alexandregomesdesouza8965
    @alexandregomesdesouza8965 3 ปีที่แล้ว +2

    Cara ele morreu umas 10 vezes e vc diz que aprendeu rápido? Acho que não 🤔

  • @Edman.40
    @Edman.40 ปีที่แล้ว

    faça um bot para apreender damas se for possivel

  • @vitorantrax
    @vitorantrax ปีที่แล้ว

    Nao seria melhor se voce tivesse usando um algoritimo genetico ?
    Estou estudado sobre esse assunto e acho que resolveria melhor esse problema que o CNN

  • @Pdeideias
    @Pdeideias 3 ปีที่แล้ว

    Será que dá pra ela aprender a jogar um jogo de futebol?

  • @geovanicmoraes
    @geovanicmoraes 5 หลายเดือนก่อน

    Achei que tinha sido enganado 😂

  • @a.oliveira4419
    @a.oliveira4419 ปีที่แล้ว

    Mano, sei la, sou muito burro pra entender tudo isso kk

  • @eletrotecch
    @eletrotecch ปีที่แล้ว

    Essa AI, ai não tem inteligência... O negocio dela é tentativa e erro. A cada vez que ela perde em determinado tempo ela muda a ação quando chega nesse mesmo ponto e assim vai evoluindo na fase. Seria bom se ela detectasse obstáculos, colisões com sensores e tbm fizesse por querer pontuar pegando moedas e matando bichos. kkkk

  • @ProjetoKanonys
    @ProjetoKanonys ปีที่แล้ว

    Bem burra essa IA, o ser humano aprende a primeira fase em duas ou tres tentativa

  • @sunukifumuki452
    @sunukifumuki452 ปีที่แล้ว

    Opa mano tem como você me passar seu discord ou contato?