This is the beginning of the "and Computers" part of the "Brains, Minds, and Computers" course. If I had to choose one phrase to describe the topics we will cover during the next month, I'd pick "machine intelligence" - simulating Brain or Mind with a computer.
So far, the course has been all about Brains, on the level of basic neurobiology. This is for a good reason. If our goal is to understand how brains work, perhaps with the hope of making "smarter computers", we need to understand the components that form the "wetware" of the brain. This is essentially a bottom-up reductionist approach. By starting by trying to understand the properties of parts of neurons -- cell membranes, ion channels, and synapses, we hope to gain an understanding of single neuron behavior, and then network behavior, and finally the behavior of the entire organism.
This has an analogy with understanding how the hardware of a computer works. An understanding of atoms leads to an understanding of silicon semiconductor junctions, which leads to an understanding of transistors, and then the very large scale integrated (VLSI) circuits used to construct a computer. Can we do the same with brains? Or should we start with a more high level approach?
What about Mind? If we understand the Brain, will we then understand the Mind? The (unproven) assumption that we take in this course is that "Mind" somehow arises out of the function of Brain. i.e, that mental states should somehow be related to patterns of firing of neurons and their synaptic connections.
We won't say much more about Mind in this course, so I'd like to spend a little time to at least give names to some of the subjects that relate Brains, Minds, and Computers. I like to picture the relationships with a figure like this, where the direction of the arrows indicates how one area of study influences another:
Cognitive Neuroscience sheds light on the relationship B --> M by asking "what does the functioning of the brain have to do with states of mind?". It explores the other direction, B <-- M by asking "what do do subjective states of mind imply about the functioning of the brain?" In general, it attempts to understand mind in terms of what we know about the biology and physiology of the brain. It places a lot of emphasis on trying to understand the internal representation of external events.
Artificial Intelligence (AI) implements high-level abstract models of human cognition (Mind) to make computers more "intelligent".
Cognitive Science uses computer models (among other approaches) to understand the functioning of Mind.
Artificial Neural Neural Nets (ANN) use knowledge of the behavior of neurons to make computer algorithms (or hardware implementations) that are more "intelligent" than conventional computers.
Computational Neuroscience is usually understood to mean the use of computer models to help understand the way that neurons or networks of neurons process information, or "compute". However, there is often disagreement as to the level of detail and biological realism that is needed in the models in order to achieve this goal.
There are a number of techniques and tools of experimental neuroscience that have provided the necessary data to construct quantitative theoretical models in cognitive neuroscience and computational neuroscience:
There are two main motivations for making computer models of "brain" or "mind". Pure Science tries to understand "how the brain computes" or "how intelligence works" by using computer simulations to test and refine their theoretical models. The Practical Engineering approach is concerned with learning how to make "better" or "more intelligent" computers.
Clearly, there is a lot of overlap between these two goals -- an engineer needs to know something about the workings of the brain in order to apply this knowledge to computers. Of course, a philosopher will want to start by answering the question "what is intelligence?" This can be a lot of fun to debate with friends late at night after a few beers, but I'm not going to say much about it because it could take forever. We all recognize that although computers are very fast, there are many things which people, and even very primitive animals, do better and faster. For example, which of these is not a tree?
Or, what does this represent? Would a computer program that was trained to recognize photographs of cats be able to recognize it as a cat?
These are hard problems for a computer to solve, even though we can solve them easily. All three approaches (Computational Neuroscience, AI, and Artificial Neural Nets) attempt to understand how problems like these can be solved. It's interesting to think about what we do when we solve them. What goes on in your mind or in your brain when you solve one of these problems?
This introspective approach is basically the one taken by traditional artifificial intelligence (AI). How would you tell someone what you did to solve these problems? Or is your answer just a rationalization of something you did much less consciously?
Computational Neuroscience has mostly the goals of pure science, although it may shed some light on how to accomplish the goal of practical applications. The other two approaches, AI and Neural Networks, both offer a more practical approach toward implementing "machine intelligence". In order to understand how the brain works, we might have to model it down to the detail of single ion channels, but (at least with present computer technology) we wouldn't expect our simulations to be a practical way of performing "brain-like" computations. We need to leave out some details.
So, how do we make a computer "intelligent"?
This knotty problem is like a tangled ball of wire which we can attack from two sides. The two different practical approaches are "Traditional AI" and "Artificial Neural Nets". The first approach has its roots in psychology, and might be called "Minds and Computers". It tends to focus on high level abstractions like "the mind". The other approach, which I'll call "Brains and Computers" tries to apply what biology and physiology tell about the way the brain works.
"Minds and Computers"
"Brains and Computers"
Artificial Neural Networks falls mainly in the category of practical applications (although many workers in this field believe that simplified models can shed light on the workings of the brain). Here, the idea is to perform computations with networks of neuron-like elements. The approach has a lot in common with computational neurobiology, but we would like to leave out as many of the complicated biological details as we can safely ignore.
People with different interests and backgrounds tend to have different opinions/prejudices about the best end of the problem to attack. Having worked as a solid state physicist, I like the bottom-up approach. If I want to understand the behavior of fluids, I start with a computer simulation of interacting molecules and try to understand their macroscopic behavior on the basis of what we know about the microscopic behavior of the components. On the other hand, someone who needs to predict the behavior of 40 weight racing oil won't find this approach very helpful, at least in the short term. He or she may need a more empirical approach, using a lot of "black boxes" which aren't understood in detail. Also, we'll see that some types of "intelligent behavior" are better treated with one approach than the other. You might think about which approach seems best for the two pattern recognition problems which I posed. Do you take a cognitive approach (thinking about how you would describe the differences between a tree and a telephone pole)? Or is your process less conscious? Or do you think about how a frog recognizes a fly? A frog probably doesn't intellectualize things much. A pattern falls across its retina, its tongue goes out, and ZOT!
The nice thing about being an engineer is that you get to pick and choose between the various alternatives, and choose the one that seems to offer the best possibilities at the time. Sometimes when untangling a ball of wire, you work on one loose end until progress slows down, and then switch to the other. You hope to eventually meet in the middle. My own opinion is that recently, the approach of trying to understand the biological details of brain function has been more fruitful than high level models of cognition.
This is a very short summary of the Artificial Neural Network (ANN) approach to neural modeling. Our goal here is to explain the neurobiological basis of ANN models by identifing the characteristics of biological neurons and neural networks that should go into a simple model of what we might call "biologically-inspired computation". We can't model the brain down to every level of detail, so we have to decide what features are important for the types of computation which are performed by the brain. With any sort of modeling of a complicated system, this question always comes up.
Someone once said that if we really wanted biological realism, then airplanes should have feathers. Then, there is the story of the physicist who was going to model a race horse to predict the winner of a horse race. ("First, let us assume a spherical horse ...") We don't want our model to be either an airplane with feathers or a spherical horse. The decision to leave out certain details should be an informed one, not based on ignorance of the details.
What do we know about the behavior of real neurons which we would like to include in our model?
Input Output |_______|_______|_______|_______| ________________________________ |___|___|___|___|___|___|___|___| |_______|_______|_______|_______| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_| ||||||||||||||||||||||||||||||||| |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
Do you remember why this is so?
If we plot the input firing rate vs. the output firing rate, we generally get something like this, with a threshold, and a saturation level arising from the refractory period for firing.
There are many variations on the models which have been proposed for artificial neuron-like computational units. Other lectures in this course will cover some of them in detail, and a few of them superficially. Most of them have these basic features.
The function often has some sort of threshold parameter (theta) that allows different neurons to have different thresholds for activation. We'll see different variations on this basic paradigm. Almost all of them have in common the idea that the so-called "neurons" receive inputs from the outside world, or from other neurons, which are multiplied by some weighting factor and summed. The output or "activation" is formed by passing the input through some sort of "squashing" function. This output often becomes the input to other neurons.
The situation we are describing is something like this,
with some units ("neurons") receiving external inputs (I), some presenting an external output (O), and others being intermediate (hidden) units that only connect with other units. The output of one unit is passed on to become part of the weighted input of another, finally reaching the output units. The states of the neurons may be updated in parallel (synchronously), or one at a time (asynchronously). In most neural network models, the network is designed so that the outputs of all the neurons will eventually settle down to a steady state when the external input is held constant. It may take a number of iterations of the update process for this to occur. (Biological networks are different in this respect - their output is usually continously changing.) Various learning algorithms such as "backpropagation" are used to modify the weights in order train the network to perform some mapping between inputs and outputs.
A question to discuss: What possibly significant features have we left out of our model? Are there any important ways in which it is different from real neurons?
Spatial effects - What are the consequences of having inputs to various parts of an extended dendritic tree? Can the right weights in a ANN model take this into account? Perhaps not. For example, shunting inhibition by the activation of channels close to the soma can "gate" excitation from more distant regions. The various ways that that computations are performed in the dendritic tree is a current research topic.
Temporal effects - is firing rate everything? Our artifical neurons have an output which either corresponds to a firing rate or simply to "firing" or "not firing". However, the pattern of firing of a biological neuron can encode information. The phase relationship and correlations between the firing of neurons can be important. If a neuron receives input from several others that are firing in unison, the effect will be larger than if their firings were uncorrelated. There may be even more subtle ways that the spacing of action potentials can convey information. Consider the differences between the firing patterns of neurons A, B, and C, which all have the same average firing rate:
A |___|___|___|___|___|___|___|___| B __|___|___|___|___|___|___|___|__ C |||_________|||_________|||______
If another neuron receives synaptic inputs from neurons A, B, or C, can you see how the results might vary?
Here are some specific examples:
(Some others are listed in L. Watts, Advances in Neural Information Processing Systems 6 pp. 927-934 (1994))
For some more information on AI and Artificial Neural Nets, see:
Lecture notes on AI and Artificial Neural Nets from past years. These are somewhat rough HTML lecture notes for lectures on Artificial Intelligence and Artificial Neural Nets, used in 2004 and earlier years. You may also want to look at this list of references, which gives some suggestions for optional reading. (This is not very up-to-date, however.)
The following lectures will emphasize biologically realistic neural models. But, there are many reasons why one should NOT make realistic neural simulations. We should at least be aware of them. The usual excuses are:
If we plunge ahead and strive for maximal biological realism, here are some of the challenges that we face:
There are a large variety of neurons that have a shapes (morphology) and behavior that are specific to their function in the network. Here are some types of neurons found in monkey visual cortex;
There are many varieties of spiking patterns in cortical neurons
Even a "simplified" neocortical wiring diagram, such as this one is very complex with detailed and specific patterns of connections:
Based on: G. M. Shepherd, "Synaptic Organization of the Brain". 5th ed (2004)
But there are also some good reasons to face this challenge:
The next lecture, on Computational Neuroscience and the Hodgkin-Huxley Model, will elaborate on the approach of aiming for as much biological realism as is feasible in neural modeling.
Next lecture Return to the main page
Index of Lectures on Computational Neuroscience
The GENESIS Home Page