How humans generalize is a key questions that cognitive scientists are trying to to understand. Animals and computers cannot generalize like humans can. Most of the time when we think of computational generalization, we are thinking about perception and classification, but it applies to action and movement just the same, if not, even more.
I wanted to give a few examples of generalization by using the concept of “traveling”. To travel means to move, usually a far distance. We learn to control our movements from birth with walking occurring usually at a baby’s first birthday. From that point on, it feel natural even though we are executing a complex orchestration of legs, knees, feet, gait, and other movements all so that we can effortlessly walk.
So back to traveling, how you move there doesn’t matter, but before technology, traveling meant walking very long distances.
So for our example, lets say you live in San Francisco and you want to go traveling.
You want to go somewhere, you don’t know where. You know if you travel, you could take transportation systems like train, plane, automobile, or maybe still even walking. You don’t need to worry about the specific details of how you will get there.
Traveling to Los Angeles
Lets say you choose to go to Los Angeles. You know it is south of San Francisco and that if you head in that direction, you will generally get there. You could probably take any one of the 3 transportation methods outlined above. You decide to fly to get there the fastest.
Getting to the airport
On the day of travel, you may or may not know how to get to the airport. If you didn’t know the exact directions or have a car, you could just use the uber app and input the address of San Francisco International Airport (SFO) and you will arrive almost magically to the airport. If you happen to need to drive, you don’t need to memorize every single detail of the route. You know there is highway 101 that goes south and there is an exit for the airport. You don’t need to memorize every intersection and exit on the way there, you can follow a generalized plan. Alternatively, you may end up using GPS which is essentially “follow the directions of straight, left, or right” for about 25 mins and you will arrive at the airport.
Going through an airport
It doesn’t matter if you have never been to SFO before, as long as you have been through airports before, you will know the general process:
- optionally submit your luggage
- present your credentials
- go through security screening
- go and wait at gate
- optional eat and go to the bathroom
- get on the airplane once the gate opens
You don’t need to know any exact steps (except for maybe the exact process you are executing on right now), you just need to know the general steps and transitions. Choosing the right level of abstraction at the right time is core for humans to focus and not waste resources. If we had to think about every step of going through the airport when we are thinking about traveling, we probably wouldn’t be able to make it very far.
So generalization is somehow explicitly connected with action of the agent and planning. When you look at reinforcement learning, the typical model is optimizing for maximal reward accumulation from a set of fixed actions. With humans, maybe we are maximizing reward, but we are able to change the goal at anytime and have concurrent goals (go travel AND get through the airport AND get there on time AND get there safely). Humans’ planning system seems to be some sort of vector multiplication of multiple goals and actions. If the human mind is really an autonomous interlinked model engine, then each model can contribute to the agent’s current goal and action with some kind of reward mechanism.