I’ve been writing notes on general intelligence for a month now and would like to summarize what I’ve learned about the brain, and state some directions for future research. I want this post to be somewhat stream-of-consciousness so I won’t be adding references. There are already many referenced papers in the notes, and if you think something I say is horribly wrong feel free to send me an email.
In order to design AGI, we need to figure out just how weird the brain really is, relative to regular computers. Fortunately, it’s fairly clear that the brain is Turing-equivalent, which means that the brain and our computers are theoretically capable of evaluating the same set of functions. This idea rests on two claims: first, humans can manually evaluate any algorithm, so the brain is at least Turing-complete; second, we have a lot of reasons to believe that super-Turing computation is not physically possible, and therefore the brain cannot be more powerful than a Turing machine.
If the brain is a quantum computer, then we might run into performance issues trying to reproduce its algorithms on classical machines. Quantum computers are actually Turing-equivalent as well, but they have an exponential speed advantage for certain types of computations. However, quantum computers require extreme physical stability and low temperatures, but the brain is warm and tends to move around too much. Also, neural spikes tend to operate on millisecond-timescales, but quantum effects would occur around ten orders of magnitude faster. So it’s difficult to see how quantum effects could be relevant if we believe that spikes are used in computation at all. Overall, it seems safe to rule out quantum computation in the brain.
Next, we have to consider the dynamical system theory of cognition. Basically, it states that neural networks primarily compute through receiving and transmitting spikes, and that each neuron can be described by a set of differential equations. This theory has a few holes. First, the binding problem: how is data stored and associated? Second, analog noise will be introduced into the computation, which could make results meaningless. Finally, this is a fairly inefficient way to perform computation, since each neural spike is very energy-intensive. In fact, I think these three points are enough to rule out the dynamical system theory. Combined with the heuristic that people have been playing with recurrent and spiking neural networks for decades now and nothing much has happened, I think it’s fairly clear that dynamical systems are insufficient to explain cognition.
Disposing of dynamical systems helps eliminate a few more ideas. Reservoir computing is a computing principle consisting of a fixed randomly-connected neural network (or other dynamical system) and a linear readout layer that is trained to measure the system. By feeding input to the system, computation is performed “naturally”, and the linear layer learns to decode the results. The arguments against reservoir computing are:
- the reservoir doesn’t learn, so it needs to be larger to contain desired dynamics
- reservoir computing doesn’t prescribe a way to build a reservoir, so we’re not much further along
- the previous point about problems with dynamical systems
Furthermore, since recurrent neural networks and the more exotic spiking neural networks are both dynamical systems that lack Turing-completeness, it is safe to ignore them.
Let’s take a moment to talk about chaos and noise. Could some sort of chaotic behavior underlie the brain’s computational mechanisms, making it profoundly difficult to identify patterns? I think, no. The presence of analog noise in signals would easily destabilize a chaotic computer. Extensive error correction would be necessary, but error correction itself creates dynamical attractors (converging to the correct value), which makes the system non-chaotic. Combined with the fact that we don’t believe dynamical systems explain the fundamental principles of the brain, I think we can safely rule chaos out.
The lack of quantum and chaotic behavior suggests that approximation via numerical methods is possible, and makes me fairly confident in the eventual success of whole brain emulation.
That’s the story so far. In the near future, we’ll examine the following questions:
- What data are neural spikes encoding, and how?
- Is computation occurring at the molecular inside neurons? What’s the evidence?
- What is predictive coding?