Pattern Recognition

Pattern Recognition

On Classes and Instances

Are there any concepts that could be of use in suggesting how machine learning could understand and convey meaning?

I think there are: repetition and generalization.

In the words of the great Philosopher Charles Barkley, I may be wrong, but I doubt it.

I think perception and learning work in this way. It doesn’t really matter if this is actually the exact mechanism for perception and learning; what matters is that this idea can lead to discoveries about how we might teach a machine to learn.

If you think about looking at any specific object, whether it’s a geranium, a cherry tree, or a cow named Buttercup, you’ve never actually seen it from this precise angle and at this precise distance before. Yet you recognize it.

This lack of precision, this kind of fuzzy perception, is the norm, and is necessary for us to survive in the world. The brain is not a perfect precise detail-memorizing machine; there are an infinite number of details. What we are seeing when we see Buttercup is a recognizable generalization of that very specific cow. There are many other cows; she is one. Buttercup herself is specific; our perception of her is a generalization. Not just because she is one of many cows, but also because she is a generalization of herself. This is true of everything we see; it is well known in psychology as perceptual constancy.

What this means is that we live in a world of specifics, but we can only perceive a world of generalities. In computer terms, we live in a world of instances but we perceive that world as a world of classes.  To our understanding, the instance is seen through a veil; the thickness of the veil has to do with how finely we observe it. But no matter how finely we observe it, there is also a level beyond that, a level of specificity we can’t perceive. We’ve never seen this crowd before. We’ve never seen this collection of people gathered before. We recognize it as a crowd. The crowd is a generalized idea. But so is this fiddle-back desk chair, or that La-Z-Boy, that pinnacle recliner, that Leisure King. But this, like every other concept, follows the normal distribution.

The solution, the process of the solution itself, must be generalized. How do we do that? We create multiple variations on the original, which all get to similar solutions. We train the model on this. Not on the input and the output, but on the way that the input gets to the output. (This has everything to do with language, because we recognize the exact same pattern in language, and the reason we do that is that we recognize the exact same pattern in the world. Everything shares, everything partakes, and context is reflected in the percentages of the partakings.)

The generalizations themselves are what we ‘understand,’ which is to say, what we recognize. It isn’t that we “generalize,” it’s that generalization is the base. Instances are one level of abstraction up from classes, not the other way around. We know this because it is so much easier: this is the level on which we recognize things, and it doesn’t require additional effort. It isn’t a puzzle to be solved. That is why it is easy to see that Buttercup is a cow, but more difficult to describe or to recall or to draw exactly what she looks like. In order to do that, we would have to apply something called ‘attention,’ which we pay in order to examine something more closely.

It is not surprising then, that the process of convolving in a convolutional neural network involves averaging, recalculating the value for a given pixel or set of pixels.

What that in turn means, is this: recognition is composed of repetition and generalization. Or, in pseudo-mathematical/cosine similarity terms, recognition = repetition + generalization.

That is, perhaps not coincidentally, what machine learning does.