Return to MODULE PAGE

McCulloch-Pitts Neurons: Introductory Level (page 1)

A computer model of the neuron

In 1943 Warren S. McCulloch, a neuroscientist, and Walter Pitts, a logician, published "A logical calculus of the ideas immanent in nervous activity" in the Bulletin of Mathematical Biophysics 5:115-133. In this paper McCulloch and Pitts tried to understand how the brain could produce highly complex patterns by using many basic cells that are connected together. These basic brain cells are called neurons, and McCulloch and Pitts gave a highly simplified model of a neuron in their paper. The McCulloch and Pitts model of a neuron, which we will call an MCP neuron for short, has been very important in computer science. In fact, you can buy an MCP neuron at most electronic stores, but they are called "threshold logic units." A group of MCP neurons that are connected together is called an artificial neural network. In a sense, the brain is a very large neural network. It has billions of neurons, and each neuron is connected to thousands of other neurons. McCulloch and Pitts showed how to encode any logical proposition by an appropriate network of MCP neurons. And so in theory anything that can be done with a computer can also be done with a network of MCP neurons. McCulloch and Pitts also showed that every network of MCP neurons encodes some logical proposition. So if the brain were a neural network, then it would encode some complicated computer program. But the MCP neuron is not a real neuron; it's only a highly simplified model. We must be very careful in drawing conclusions about real neurons based on properties of MCP neurons.

A study of the McCullough Pitts neuron is enlightening for several reasons. You will see the early history of the development of what would become the impressive artificial neural net programs used today. Second, you'll see the evolution of a computer model that gradually moves away from the classical conception of a digital computer to the emergence of what we call a non-classical computer (see Classical vs. Non-classical Computers). These non-classical computers are making a significant contribution in the research that is being done to better understand the workings of the human brain. Finally, you will come to appreciate the vitally important contribution that mathematicians have made to the scientific study of the mind. This is a stellar example of mathematics in practice.

Some MCP neuron examples

In order to understand MCP neurons, let's look at an example. Suppose there is a neuron in a bird's brain that has two receivers, which are connected somehow to the bird's eyes. If the bird sees a round object, a signal is sent to the first receiver. But if any other shape is seen, no signal is sent. So the first receiver is a roundness detector. If the bird sees a purple object, a signal is sent to the second receiver of the neuron. But if the object is any other color, then no signal is sent. So the second receiver is a purple detector. Notice that for either receiver there is a question that can be answered "yes" or "no," and a signal is only sent if the answer is "yes." The first receiver corresponds to the question "Is the object round?" The second receiver corresponds to the question "Is the object purple?" We would like to produce an MCP neuron that will tell the bird to eat a blueberry, but to avoid eating red berries or purple violets. In other words, we want the MCP neuron to send an "eat" signal if the object is both round and purple, but the MCP neuron will send no signal if the object is either not round or not purple, or neither round nor purple. So the bird will only eat an object if the MCP neuron sends a signal. If no signal is sent, then the bird will not eat the object. Here is a table that summarizes how the MCP neuron would work in several cases.

Table 1

Object

Purple?

Round?

Eat?

Blueberry

Yes

Yes

Yes

Golf ball

No

Yes

No

Violet

Yes

No

No

Hot Dog

No

No

No

Notice that all the signals sent to the MCP neuron and the signal that it sends out are all "yes" or "no" signals. This "all or nothing" feature is one of the assumptions that McCulloch and Pitts made about the workings of a real neuron. They also assumed that somehow a real neuron "adds" the signals from all its receivers, and it decides whether to send out a "yes" or "no" signal based on the total of the signals it receives. If the total of the received signals is high enough, the neuron sends out a "yes" signal; otherwise, the neuron sends a "no" signal. In order to "add" the signals that the MCP neuron is receiving, we will use the number 1 for a "yes" and the number 0 for a "no." Then Table 1 will now look like this.

Table 2

Object

Purple?

Round?

Eat?

Blueberry

1

1

1

Golf ball

0

1

0

Violet

1

0

0

Hot Dog

0

0

0

Now we need a way to decide if the total of the received signals is "high enough." The way McCulloch and Pitts did this is to use a number they called a threshold. So what is a threshold, and how does it work? Every MCP neuron has its own threshold that it compares with the total of the signals it has received. If the total is bigger than or equal to the threshold, then the MCP neuron will send out a 1 (i.e. a "yes" signal). If the total is less than the threshold, then the MCP neuron will send out a 0 (i.e. a "no" signal). So the MCP neuron is answering the question "Is the sum of the signals I received greater than or equal to my threshold?"

In order to see how this threshold idea works, let's suppose that we have an MCP neuron with two receivers connected to a bird's eyes. The one receiver is a roundness detector and the other is a purple detector, just as we had in the example above. Since we want the neuron to instruct the bird to eat blueberries but not golfball, violets or hotdogs we need a threshold high enough so that it requires that both of the two properties are present. Let's try a threshold of "2" and see if that doesn't work.

If the bird sees a blueberry, then the purple detector sends a 1 and the roundness detector sends a 1. So our MCP neuron adds these signals to get a combined input of 1+1 =2. Now our MCP neuron takes this total input of 2 and compares it to its threshold of 2. Because the total input (= 2) is greater than or equal to the threshold (=2), the MCP neuron will send an output of 1 (which means, "EAT").

But how will the bird behave in the presence of a golfball? or in the presence of the other objects we've considered? To help you explore these questions and to aid your understanding of MCP neurons, we have a Flash animation (below) of a bird deciding which objects to eat and which to avoid. We are imagining that within the bird is a simple MCP neuron that influences what it eats and what it doesn't eat. The MCP neuron is presently set with a threshold of 2, as described in the paragraph above. You will see how the MCP neuron controls the eating behavior of the bird as the bird decides what to do with our four different objects (blueberry, golfball, violet and hotdog). There are four separate animations of a neuron-controlled bird as it encounters each of our four objects. Watch the animations, clicking through the various steps in the process.

You should now be familiar with the basic workings of an MCP neuron. Your next task is to plug in different values for the threshold to produce different types of behavior in the bird. Where would you set the threshold so the bird would eat 3 of the 4 objects? none of the objects? all four of the objects? In the interactive exercises below, you will be asked to set the threshold so as to cause the bird to behave in different ways. There are three separate tasks that you can perform. We encourage you to do all of them.

Let's summarize what we know so far. The behavior of our (artificial) bird is dependent upon (1) the information it receives from the environment (through it's two sensory "detectors"), and (2) the threshold at which the MCP neuron is set. The detectors can be thought of as "looking for" particular properties. The combined input to the neuron (from the detectors) will be larger or smaller depending upon how many of the "looked-for" properties are detected by the sensors. Whether or not the total input from the sensors will be a number high enough to cause the neuron to "fire" (i.e, to give an output of "1" instead of "0") depends upon how high the threshold is.

We can represent all of this information in a table. Table 3 (below), for example, shows the situation if the threshold is set at 1. You will see that this would cause the bird to eat not only food that is proper (blueberries) but also food that it should not eat (golfballs and violets).

Table 3

Object

Purple?

Round?

Total  Greater than or equal to threshold of 1?

Eat?

Blueberry

1

1

 2  Yes

1

Golf ball

0

1

 1  Yes

1

Violet

1

0

 1  Yes

1

Hot Dog

0

0

 0  No

0

These are the basic characteristics of a simple MCP neuron that takes only positive numbers as input. Let us now give the neuron slightly more flexibility by adding negative input values.