I want to share with you all a page of my notebook.
Previously I came to the conclusion that the purpose of the brain is to control the body. Everything that happens in the brain must eventually impact your actions in some way, or else that brain activity would be quite literally useless. “The brain controls the body” is a conceptual framework for understanding what the brain does and why it does it. To that end, I’ve been studying the principals of closed loop control.
The research question that I will discuss today is: “What is the difference between decision making and closed loop control?”
First let’s write out the equations for closed loop control:
Error = Setpoint - SensoryFeedback
Action = f ( Error )
Where Setpoint
and SensoryFeedback
are vectors of real numbers, with the same units.
Where Action
is a vector of real numbers, but with possibly different units/dimensions than the setpoint and sensory feedback.
Second, let’s look at an example of a decision:
A mouse sees a predator. It could either:
* Run home to its underground burrow,
* Climb a tree,
* Freeze and hope not to be seen.
Third, notice that these actions are all distinct categories, not real-valued numbers. You can not do arithmetic on these actions in the same way that you could for a normal closed loop controller.
Also these actions are all mutually exclusive, the mouse must pick one of these actions.
These are the defining features of decision making.
Note: the setpoint and sensory feedback will never be categorical like this. If you have multiple distinct concerns, each with their own setpoint and sensory feedback, then you can combine all of their errors into one big multidimensional error term. Then you can reason about which action satisfies all of the concerns at once. You can always have multiple desires, even if you can only do one action.
Finally, context is critical for good making decisions. In our example, if the mouse escapes by climbing a tree then the tree needs to be nearby and the predator can’t be a cat because cats can also climb trees. So let’s update our closed loop control equations to:
Error = Setpoint - SensoryFeedback
Action = f ( Error, Context )
Now, the function f()
can not be a simple set of synapses. It must at least be a set of cells to combine the inputs from both the context and the error. The context alone does not cause actions, and likewise the error alone does not cause actions. You can think of the error as the motivation to solve problems, which needs to be combined with the contextual ability to perform specific actions, and the result is the actions that you want to perform.