12 votes

Nvidia’s AI recreates Pac-Man from scratch just by watching it being played

7 comments

  1. [7]
    Turtle
    Link
    I thought this part was interesting:

    I thought this part was interesting:

    Some elements of the process definitely need tweaking, though, and demonstrate the particular fragility of artificial intelligence when learning new tasks. Fidler told journalists that to recreate Pac-Man, GameGAN had to be trained on some 50,000 episodes. Getting that gameplay data from humans wasn’t feasible, so the team used an AI agent to generate the data. Unfortunately, the AI agent was so good at the game that it hardly ever died.

    “That made it hard for the AI trying to recreate the game to learn the concept of dying,” says Fidler. Instead, in early versions of the AI-generated Pac-Man, GameGAN tweaked the game so that ghosts never actually reached the title character but trail directly behind it like baby ducks following a parent. “It’s a funny effect of the way we trained it,” says Fidler.

    2 votes
    1. [6]
      stu2b50
      Link Parent
      I feel like this is a direct example of how much "AI" has been overloaded as a term. There's two "AIs": the AI that they used to get the data, probably some kind of graph search, and the "AI" that...

      I feel like this is a direct example of how much "AI" has been overloaded as a term.

      There's two "AIs": the AI that they used to get the data, probably some kind of graph search, and the "AI" that is GANs.

      One "AI" is a term used for a field that tries to get agents in environments to act rationally. It doesn't prescribe a method. Good ol' minimax, MCTS, and graph search methods from just breadth-first to A* are all in this category, along with, say, MCTS + neural networks for state evaluation.

      Another "AI" is... uh, people getting overexcited by the misnomers that are"neural network" and "machine LEARNING". To be honest, there's little actual reason to put any of these under the bucket of "AI" other than to drum up misguided images of Skynet in the minds of investors and laypeople.

      But regardless, machine learning, and specificaly neural networks, is a method to do something. Rather than the above, it proscribes how, not what, is done. And to be honest I fail to see how your 3 layer MNIST neural network classifier is any more "AI" than when your TI-83 does linear regression, the latter which would certainly not be considered AI by most people.

      I'm not one to proscribe linguistics, so I'm not going to say that "AI" should or shouldn't mean any particular thing, but it's incredibly confusing when you have, say, something like a GAN in the same field as Libratus, the CMU Poker AI which "just" used CFRM, with no neural network in sight.

      5 votes
      1. imperialismus
        Link Parent
        AI has always been about what kind of results you achieve, not what methods you use. John McCarthy, who coined the term artificial intelligence and is widely considered one of the founders of the...

        AI has always been about what kind of results you achieve, not what methods you use. John McCarthy, who coined the term artificial intelligence and is widely considered one of the founders of the field, defines AI thus: ‘It is the science and engineering of making intelligent machines, especially intelligent computer programs.’ Nothing in there about how to go about achieving that goal.

        Of course, what counts as intelligence is hardly straightforward. We define it by looking at the things that humans do to solve problems, but we struggle to define and measure it in a way that is universal to all human cultures, nevermind extending the definition to cover animal or machine intelligence. Add to that the fact that there is a linguistic phenomenon known as the AI effect, where some task is reclassified from ‘intelligent’ to ‘not intelligent’ once we teach computers how to do it and see that they don’t solve the problem the way humans do (e.g. Optical character recognition), and you’ve got quite a mess.

        1 vote
      2. [4]
        Turtle
        (edited )
        Link Parent
        Not a computer scientist so I don't really understand. Are you saying their AI is mostly a bunch of mathematical functions? How would you classify it?

        Not a computer scientist so I don't really understand. Are you saying their AI is mostly a bunch of mathematical functions? How would you classify it?

        1. stu2b50
          Link Parent
          Traditionally, AI is about how to make an agent in an environment act rationally. For example, in the environment of a pacman game, to act rationally is to collect pellets and avoid the ghosts....

          Traditionally, AI is about how to make an agent in an environment act rationally. For example, in the environment of a pacman game, to act rationally is to collect pellets and avoid the ghosts.

          Neo-AI, that is to say anything with a neural network in it, can be used for such purposes, however often is not. For example, it's really a stretch to say the main work, a GAN, is an agent acting rationally in an environment.

          Are you saying their AI is mostly a bunch of mathematical functions? How would you classify it?

          I mean, a GAN is, but that's fine. I would say it's a product of the vast field of machine learning, which intersects, but is not contained nor contains the traditional field of AI.

          3 votes
        2. [2]
          Weldawadyathink
          (edited )
          Link Parent
          /u/stu2b50 clearly knows much more about ML and AI than I do, but I think I can answer your questions. Let’s say you want to make a program to play Pac-Man. You have to allow the program to see...

          /u/stu2b50 clearly knows much more about ML and AI than I do, but I think I can answer your questions.

          Let’s say you want to make a program to play Pac-Man. You have to allow the program to see the world, so you give it some variables that it can look at. Let’s give it the coordinates of Pac-Man, each ghost, and each uneaten vitamin. The program can look at all of this information, and use the directional buttons. Now we get the learning phase. Take this program and run it through some games, let’s say 1000. This program has no idea what to do, so it just mashes the buttons randomly. Most of these games will end pretty quick. Let’s take the top 10 games (in terms of score) and tell the program everything about those games. Now, based on that data, the program can get some idea of what to do. For example, a game where Pac-Man went directly for a ghost would be discarded, and a game where he avoided the ghost would not be. The program is now more likely to move away from the ghosts. Finally, we repeat this process of playing 1000 games and saving the top 10. We can repeat this anywhere from tens of times to millions of times. Now, we have a program that plays Pac-Man.

          If you are interested in this, check out the YouTuber codebullet. He does a pretty good job of explaining what he does to make a machine learning program.

          Edit: most definitions of intelligence require something to look at a novel problem, come up with an idea, and see if it works. ML is just a brute force guess and check algorithm. It is directly based on evolution. Most people agree that evolved instincts are not a sign of intelligence. This would be analogous to plants growing towards the areas of highest sunlight, which is not intelligence.

          2 votes
          1. stu2b50
            Link Parent
            That's a machine learning based pacman AI, which is perfectly valid. However, I'd wager that the "AI" used for data collection was a traditional Pacman AI, which are quite good now. For example,...

            That's a machine learning based pacman AI, which is perfectly valid. However, I'd wager that the "AI" used for data collection was a traditional Pacman AI, which are quite good now. For example, to move towards pellets, just use A*. That's the same algorithm Google uses to route you to your house, and it involves no training data or machine learning.