What makes a machine a robot?

I think the mark of intelligence is the ability to make adaptive assumptions from some implicit state and make your result more correct.

I attended a colloquium recent from an assistant professor from Berkeley about convex optimization and its use in Robotics. (I’m a PhD student in AI/Machine Learning) He presented a Robot that could fold laundry. This is actually a rather complex project, because unlike factory assembly robots, this robot wasn’t allowed to make assumptions about the state of the cloth. It could be arbitrarily twisted and crumpled (within reason – no knots or anything) before the robot manipulated it.

The robots took a really long time to actually accomplish the task (we’re talking minutes per piece of cloth), but it was able to find the cloth, grasp it, analyze it with a camera, build an internal model, and figure out how to untangle and fold it.

This is fairly close to AI, but not perfect. The issue I have with things like Siri is how context-free they are. Siri makes very local assumptions about what you meant based on other words, but she lacks the ability to make corrective assumptions based on more global context. On the other hand, Google does this to a degree.

More to the point, one of the major problems with AI and Machine Learning in general right now is a severe lack of flexibility. Slightly different problems will require learning everything again from the ground up. Even that cloth folding robot had to be almost completely retrained just to change the problem to “tying a rope”. A significant amount of effort is also put into feature selection. We have pretty good algorithms that can learn tasks as long as you have a team of data analysts that can figure out what’s important to the model, and know how to control samples so you don’t accidentally overfit.

There’s definitely some work on both ends, Deep Learning tackles the former problem fairly successfully (with “successfully” being a relative term), while some of the work in Transfer Learning tackles the latter. Neither are really “there” yet, but the work is there.

A big part of the issue is market realities. For one, ground up, semi-supervised deep transfer learning takes a huge corpus of data and often a long time to “bootstrap” (though it’s fairly robust after that bootstrapping phase). From the perspective of a developer, getting this sort of generalized model-learning AI would be ideal, but it’s far easier to take some out of the box software and massage it to perform a domain-specific task (even if massaging the problem this was can still involve years and a lot of math). “A lot of data” is also hard to come by for a lot of domains, especially if it has to be hand-labelled by an expert (otherwise you can whore that part out to Mechanical Turk or something).

So we kind of have AI, but it requires a lot of human intervention. IMO, the state of AI right now is sort of like doing complex numeric calculations before computers. Certainly possible, but more error prone and often arduous.

If we want to test the definitions, here’s another example: Back when I was in middle school, I made a gizmo that could find its way through a maze. It had a feeler that reached out to touch the wall on its right, and moved in such a way that it kept on touching that right wall. It had a task to do, and used a sensor to react to its environment in order to do it. But it was incredibly simple: It didn’t include so much as a single transistor. The entire circuit consisted of a battery, a double-pole switch, two motors, and some wire. Oh, and a couple of LEDs, but those were just for decoration. Is that a robot?

I don’t really see how that’s not a robot. It’s a domain specific robot that works by proxy of the fact that the right-side rule always works on mazes, but it is a robot.