Published on May 26, 2025 11:45 AM GMT
When thinking about neural network generalization, I want to be able to refer to "simple" concepts. But what do I mean by simple?
One (classic) answer: a concept is simple if it has low Kolmogorov complexity. If we think of a concept as program transforming inputs to 0 or 1, then simple concepts have short programs.
But this definition fails to capture some intuitive notion of complexity. Consider two concepts: the first defines a randomly sampled mapping of 10 points in the plane to . The second maps high resolution images to {hot-dog, no-hot-dog}. The program for the point mapping (a small lookup table) will certainly be shorter then the visual processing program required for the hotdog classier. But in a certain sense of complexity, this feels off. The point map is all special cases. Hotdogs are a coherent category. And if we already "have" the concept of hotdog, all that's required is to point to it.
When defining the complexity of concepts then, we want to be able to reference our existing model of the world. We already "have" the concept of a hotdog - the concept just needs to point to it.
To capture this notion formally, we can use the notion of conditional Kolmogorov complexity. For programs and , let denote the length of the shortest program that encodes given access to the program . We want to define the conditional complexity of a concept with respect to...the human brain. With a concept, and a human brain, we get the complexity measure . Imagining the brain mapping inputs to a dictionary of concepts, we can specify the hotdog with a simple lookup:
def hotdog(x, brain): return "hotdog" in brain(x)
but assuming a worst-case assignment, the point mapping require 10 separate cases:
def point_map(x): if (x,y) == (3,2): return True elif (x,y) == (-1, 5): return False ...
There's some hand-waving going on here - a brain API would not be this clean. But the conditional Kolmogorov complexity seems to be capturing what we want out of a definition of "simple-to-human" concepts.
Given this complexity measure, we can now define "human concepts" more generally as the set for some threshold .
There's a separate question of how unique/contingent human concepts are, which I hope to cover in a future post.
Discuss