This blog has moved:

In addition to my current writing, all the old posts are collected on the new page.
(You can use your browser's "find" function to find what you're interested in there.)
Your browser does not support Javascript.
This site requires Javascript.
You can see where this becomes a problem.
Without Javascript,
Many posts will look wrong
Comments are inaccessible
Interactive dialogues won't function
Hidden text will never be revealed
The sidebars will not open

If you choose to continue, be warned
That you are missing crucial elements
Of I Am Not's design.

Wednesday, January 13, 2010

~Project Natal: Programmed By Machines

Wednesday, January 13, 2010

Project Natal: Programmed By Machines

Note (16/1/2010): Moshe has informed me that my enthusiasm is misplaced: actually this kind of real AI is in reasonably common use already. He told me that there's a machine that's already learning for itself how to speak like humans, though he didn't know any specifics so I can't verify that. Still, all that can really be taken away from this post is how out of the loop I am on a subject that used to seem like one of the most important things in the world to me.

I knew Project Natal was impressive. But I didn't realize Microsoft needed to use real artificial intelligence to make it. Look at this:

The article is short, but here's what I understand from it. When Project Natal sees an image of a room and identifies a person in it, it then puts together a list of likely guesses as to what that body is doing, assigns a probability to each possible interpretation, and then takes the most likely assumption. Nothing more glamorous is going on here than following rules like "If the leg is two pixels further to the left, then increase the probability of case #1,694.". But those rules were not programmed by people.

Somewhere in Microsoft headquarters is a big network of computers that together form what the project workers call "the living brain". I am not making this up, it's right there in the photo gallery on the Popular Science page. This computer system is not just programmed but trained to recognize body positions from images. It was only programmed with a basic knowledge of how human bodies are shaped, which is much like how a living creature has basic functions programmed in as instincts. The "living brain" is given pictures and is told repeatedly what body positions those pictures are supposed to stand for, and then it writes its own rules to make sense of all that. When it's finished, the list of rules it's come up with will be put into the considerably-dumber Project Natal systems, which will not learn for themselves but just follow the rules which have already been learned. And those rules aren't objective laws decided on by some programmer or team of experts, they're the personal views of this particular computer network in Microsoft headquarters. They're rules which are the result of this particular program's design and experiences, with all the imperfections that implies.

The article, like I said, is short. It doesn't say whether this same technique is being used to train Project Natal's recognition of emotions, though I imagine it must be. And I'd really be interested in hearing a more thorough analysis of the way they're getting this program to learn. The article doesn't even say if this sort of thing is common nowadays; I haven't heard of anything this ambitious before, but I don't hear much. What this article does tell me is that I was wrong about AI systems. Clearly real artificial intelligence does exist, it's just running on hardware too expensive for end users and still needs to be trained by professionals for very specific tasks. It is a start.



Just as a note of my concern for project natal is that the current precision of the system might not be high enough for people to do what they imagine they want to do with such a system. This will than lead to disappointment with the product.

I will use an example from a sport that I enjoy and am adept at. Ping pong. I'm assuming that most people will imagine that project natal will allow them to simulate a game of ping pong. It just seems like something it should be able to do. However, the precision of Natal is something like + or - 5 cm ( I read this in some article I can't find again).

Now ping pong is all about millimeters. Tiny differences in speed and angles. I'm sure that in sensing the angle of the paddle, a precision of roughly 1 mm would make it feel really authentic.

So to design games for Natal, they need to be designed in such a way that 5 cm is enough precision, and feels right. Something like an extreme upgrade to dance dance revolution.

I too am very interested in the whole project and can't wait to actually try it.

Hi! Haven't heard from you in a while.

I actually raised my own concerns about the lack of precision when I first wrote about Natal here. And you're right, a Ping Pong game wouldn't work. Or at least, a realistic Ping Pong game wouldn't work; if you start getting arcade-y, there are ways to make it fun. For a realistic Ping Pong game I think it would be easier to use the upcoming PlayStation Motion Controller or even Nintendo's MotionPlus add-on. The appeal I see in Project Natal is first in pulling more people into games, and second in augmenting existing kinds of games with little bits of natural motion.

Oh, and I should also say that from video demonstrations of Project Natal I could see a not-insignificant amount of lag between the action and its appearance on screen. But still, there's much that a good gamist could do with it.

After speaking to Moshe, I've added a note to the beginning of this post spelling out that there is actually nothing out-of-the-ordinary going on here. Obviously if I'd spoken to him earlier I would not have written this post, but it seemed like a big deal when I read about it.


Post a Comment