Jackie Elam asked me to provide some background information on population thinking. I will pass on some more analytical material later but I wanted to note a terrific example that just fell into my lap today. This example takes a bit of explanation, but stay with me, we end up looking at some cool movies (not of Clay Shirky, either). If you want all the background and details, look at this article, more extensively documented with this technical paper and videos.
Stanford University has been working on robotic helicopters for many years. (They also have a great research program in robotic cars.) Flying a helicopter is a hard problem because as expert pilot Garett Oku says "The helicopter doesn't want to fly. It always wants to just tip over and crash". The Stanford team created robot helicopters that solved that problem -- they could fly reliably. However the team couldn't program their robots to do the complex acrobatics that human pilots can -- manuvers with names like traveling flips, rolls, loops with pirouettes, stall-turns with pirouettes, knife-edges, Immelmanns, slappers, inverted tail slides, hurricanes and tic tocs.
Further the team "realized that even defining their goal was difficult." There's no formal definition of "flying well" -- it is "whatever an expert... pilot does at an airshow." This is the same as complex gymnastic manuvers, diving moves, etc. -- good performance can only be defined by the judgments of expert practitioners -- until now. Like many real categories, even the experts can't describe a perfect tic toc, but they know it when they see it, and they pretty much agree.
So the Stanford team realized their robot had to learn its complex manuvers by "watching" the expert pilot put a helicopter through the manuvers. The pilot (Oku) flew a manuver multiple times and the researchers recorded each time. The learning software found the similarities between the multiple instances of the manuver and developed an "ideal" version of the manuver. Then it could try to perform the "ideal", but due to wind, control variations, etc. its actual performances would always be imperfect.
Now as promised, some cool pictures:
- First, a computer display of a bunch of tic tocs flown by Oku. Note these are very diverse and it is hard to see exactly what elements are common to all of them.
- Second, all the same tic tocs, but now aligned so the common aspects stand out.
- Third, the "ideal tic toc" (white track) extracted from the common aspects of the examples, and a simulated attempt by the robot to fly the same path (black track).
- And finally the real robot helicopter trying to emulate the ideal manuver. No human assistance. Unfortunately you may have to download this to view it.
So here we see a clear example of population based concept learning. We start out with a bunch of named concepts. Each concept has a clear definition in the minds of an experts, but the expert can only give us a "population" of examples to explicate the concept. Then our robot takes that "population" and finds the "ideal type", but once again when the robot wants to explicate its ideal type, it ends up generating a variety of imperfect examples due to its inherent performance limitations.
If we tested multiple experts, they probably would each have somewhat different but similar "ideal" definitions. Similarly if multiple robots learn the definitions from lots of examples they will probably end up with slightly different "ideals" but will usually agree in practice, for example when judging a competition.
Update: Here's the basic idea again, this time in "tech speak" extracted from the paper. This is partly for amusement value and partly an illustration of a very different way to encode the concept:
...one can... have the expert demonstrate the desired [behavior]. .... Unfortunately, perfect demonstrations can be hard (if not impossible) to obtain. However, repeated expert demonstrations are often suboptimal in different ways, suggesting that a large number of suboptimal expert demonstrations could implicitly encode the ideal trajectory the suboptimal expert is trying to demonstrate.
Note that this slightly misses the key point of population thinking. The writers assume that there is an optimal demonstration -- which would imply that there's an ideal version of the manuver out there somewhere. But actually the population of examples is fundamental, and the "ideals" are constructed as summaries of those populations.
Comments
Excellent point, Sumonta. I agree that in a human this would be tacit knowledge. Human language has no way to represent the trajectories the system has recorded, its "ideal" trajectory, or the control strategy that is generated to keep the helicopter near the ideal trajectory.
This gives a pretty good feeling for why so much human knowledge is tacit. When apprentices learn complex skills their internal representations are essentially impossible to code into natural language.