James Anderson
Department of Cognitive and
Linguistic Sciences
Brown University
September 10, 2007
Overall goal: design a brain-like computer architecture , both hardware and software .
Such a device must be capable of being programmed .
Such a device must compute results for interesting and important classes of problems.
And (potentially) do it better than traditional computers.
We have studied several applications areas.
First, Cognitive Signal Processing :
•
Invariant Vowel Formant Ratio
Computation
•
A Morse Code reader.
Second, we have realized several simple, useful basic program operations.
Examples:
•
Identity of two patterns.
•
Symmetry of two patterns.
•
Ratio of two amplitudes.
• Ersatz “logic.”
Third, we have designed a multi-step Ersatz
Program to perform a significant task.
The task is to decide whether or not a new item is part of a previously learned list.
The task has similarities to many significant practical problems.
An example: deciding whether or not a character string (MANTY) is an English word.
Ersatz Programs work at multiple scales.
The Ersatz Brain has a natural set of functional scaling mechanisms.
First, single cortical columns
( modules) modeled as a dynamical system.
Second, we proposed large sets of these modules formed the
Network of
Networks.
Third, small numbers of active modules in a
Network of
Networks array can became associatively linked through learning .
These module assemblies can form self-exciting groupings that can represent concepts.
In the brain representations seem to be sparse.
Sparse means there are not many active neurons.
By extension, we hypothesize that not too many columns are active to represent a complex figure, percept, or concept.
Tanaka’s IT data supports that claim.
Sparseness also turns out to be very useful for designing Ersatz applications.
For a useful programmable system we need to work at multiple scales.
The next step in scale is to work with multiple module arrays.
Module assemblies in multiple arrays work together in self exciting
“arrays of arrays.”
Note these levels are all technically dynamical systems based on scaled components.
We are working at both low and high levels of system organization.
At a low level , we want to show that emergent structures such as module assemblies arise naturally given:
• The Network of Networks topographically organized array.
• Module and system dynamics.
• Hebbian associative learning.
Several small simulations suggest this is indeed the case.
At a high level , we assume that module assemblies have formed and that multiple interconnected arrays can exist.
We then ask what kind of computations can this rich system perform?
How can these computations be programmed?
And how well do they work?
My part of this presentation will largely be concerned with this set of issues.
Tanaka (2003) suggests a columnar organization of different response classes in primate inferotemporal cortex.
There seems to be internal structure in these regions: for example, spatial representation of orientation of the image in the column.
Biological Evidence:
Columnar Organization in
Inferotemporal Cortex
IT Response Clusters: Imaging
Tanaka (2003) used intrinsic visual imaging of cortex.
Train video camera on exposed cortex, cell activity can be picked up.
At least a factor of ten higher resolution than fMRI .
Size of response is around the size of functional columns seen elsewhere: 300-
400 microns.
Responses of a region of
IT to complex images involve discrete columns.
The response to a picture of a fire extinguisher shows how regions of activity are determined.
Boundaries are where the activity falls by a half.
Note: some spots are roughly equally spaced.
Columns: Inferotemporal
Cortex
Active IT Regions for a Complex Stimulus
Note the large number of roughly equally distant spots
(2 mm) for a familiar complex image.
We will look next at interesting operations that might be performed on single NofN arrays.
We look at two operations in details:
• Identity of two patterns.
• Ratio of two analog quantities.
Consider simple identity .
Two sets of (sparse coded) features are on a Network of
Networks array in any location .
Are the two sets the same?
Note: The “identity” operation really mean to “very high degree of similarity” not logical identity.
Patterns spread laterally from their origin.
When two of the same patterns meet they add .
The interference pattern module response is large.
These are spatio-temporal interactions like optics , or surface acoustic wave filters [SAW].)
Need to measure ratios of quantities for programs like Identity .
Can use amplitude timing relationships to generate spatial representation of a ratio.
General neural rule: weak signals produce slower responses than strong ones .
One name: Strength-latency tradeoff .
Found from peripheral sensory systems up to cortex.
Assume a linear array of modules .
Low ( q
1
/ q
2
): q
1 ooooo R oooooooooooooooooooooooooooooo q
2
.
^ ^
Input Strength q
1
Input Strength q
2
High ( q
1
/ q
2
): q
1 oooooooooooooooooooooooooooooo R oooo q
2
.
^ ^
R indicates the location of active modules. The location of R should be related to the value of the ratio, (q
1
/q
2
).
Example
Suppose we have a linear array of modules
Assume that q
1 ends. and q
2 arrive simultaneously as inputs on the
Assume the time, Δt , for a module to respond to an input is a function of the input amplitude.
Example: Δt
1
= c/q
1 and Δt
2
= c/q
2
At a given time, the stronger input has traveled further than the weaker one .
Approximate spatial locations for this strengthlatency relationship.
q
1 q
XoooooooooooooooooooooooooooooooooooooooooooooooooooY
2
^ ^ small 1:5 1:3 1:2 1:1 2:1 3:1 5:1 large q
1
/ q
2 q
1
/ q
2
A system much like this is used for spatial localization in the auditory system .
This is a spatially arranged parallel system so we can compute several ratios simultaneously .
q
1
R ----q
2
\ /
\
R /
R q
3
•
The Identity function is a flexible starting point .
• Note:
Ersatz-Identity is based on a similarity measure , not logical identity.
Other application examples:
• Ersatz Logic
• Ersatz Symmetry
Use a variant of the identity program to compute symmetry
Use lateral pattern spread with different weighting regions and times.
Key Point: Our approach to Eratz “software” is based on observing, using, and manipulating the spatial and temporal relationships among module activity patterns.
Consider complex systems involving multiple NofN arrays and multiple module assemblies.
Two ways to look at the operation of memory in
Ersatz Systems.
First is simple pattern recognition . Useful but inflexible.
Call it “ passive memory
.”
The second is task based memory. Can be programmed and is much more flexible.
Call it “active memory.”
For active memory , memory and sensory data from different NofN arrays mix together at another array.
We call this array the mixer.
In some programs the activity level at the mixer provides the result of the computation.
Such an architecture can be:
• Flexible.
• Task dependent.
• Programmable.
We outline next a program to perform the famous (among cognitive scientists!)
Sternberg List Scanning Experiments .
Task:
• Memorize a short list of items (2 to 5 items).
• Decide quickly whether a new item was on the list or not.
Assume we learn a short list of letters.
A, B, G, K, L
K is presented.
Press the positive response key.
M is presented.
Press the negative response key.
Record the time it takes to respond.
For non-academics: This task is not trivial and is similar to many real world tasks.
An important example:
Is MANTY a word?
(Need to check the full lexicon to answer.)
Is Corvette a car name?
Is Peerless a car name?
Is Utopian Turtletop a car name?
One mental function that we have great interest in doing with the Ersatz system is described in detail in a recent best selling book by Malcolm Gladwell: Blink .
The subtitle of Blink is “
The Power of
Thinking without Thinking
.”
The point of the book:
“We believe that we are always better off gathering as much information as possible and spending as much time as possible in deliberations. There are moments …when our snap judgments and first impressions can offer a much better means of making sense of the world. The first task of Blink is to convince you of a simple fact: decisions made very quickly can be every bit as good as decisions made cautiously and deliberately. (p.
13-14)
One goal of the Ersatz project is to make an artificial system with these properties:
• Be
Fast (Work in a single or very small number of steps.
No tree searches.)
• Be able to integrate information from many sources .
• Example:
Combine information from the senses and from perceptual analysis with past information stored in memory in a fast, efficient, programmable manner .
• Be right most of the time.
We will use the Sternberg list experiments as our first attempt at showing how this might be done.
Plot average response time against list length.
Key experimental finding:
Positive (present) and negative
(absent) responses have the same slope.
Consider how reaction time will vary with number of list items.
If we scan the items sequentially, we will scan half the list items on average for a positive response.
But we must scan all the items for a negative response.
The slope of the negative responses should grow twices as fast as the positive responses.
Positive and negative slopes are equal .
This suggests that all the list items are tested at once before a response is made.
This implies that list matching is a parallel process and items are not matched individually.
Comment: The entire lexicon (400,000) items can be scanned in less than a second.
Seems unlikely to be a serial process.
We assume 26 letters represent the categories.
Module Arrays : Three NofN Arrays , Array
A, Array B, and Array C
Connections: In line, reciprocal
A<=>B<=>C
Array A : Sensory Input Array ( a,b,c,… z )
Array B: Intermediate representations
Assemblies {a,b,c … z}
Array C : Classifications (Stable Module
Assemblies)
Assemblies: { A,B,C …, Z }
Standard associative learning:
Input to Output
Array A <=> Array B <=> Array C
Data Features Category ay = > a => A bee = > b => B cee = > c => C
… zee = > z => Z
When the categories are forming, we also learn the reciprocal associations: ay <= a <= A bee <= b <= B cee <= c <= C
… zee <= z <= Z
List Formation. A list is a subset of the categories in Array C , for example,
{A,B,C,D,E}
We present the list in sequence at Array C.
The downward projects to form a summed associative representations in Array B.
Step 1. Form list representation by sequential presentation:
Array A Array B <= Array C a <= Present list item A a+b <= Present list item B a+b+c <= Present list item C a+b+c+d <= Present list item D a+b+c+d+e <= Present list item E
Assume activity in Array B sums patterns excited by downward projections from Array C .
At the mixer, new sensory data and the list filter interact. For a linear system taking an inner product between inputs to middle Array B from higher level Array C and lower level Array A:
Step 2. Interaction
Array A Array B Array C a => a+b+c+d+e
[a,a] + noise
Note: We assume (in the simplest case) that the Mixer ( Array B ) takes the inner product between the test item and the list filter.
The activity at Array B when input pattern a is presented to input
Array A is then
Scalar Activity in B = [a,a] + [a,b] + [a,c] + [a,d] + [a,e]
= [a,a] + noise.
Note: This technique realizes a matched filter for pattern a.
The matched filter is the optimal linear filter.
Example: If [a,b,c … z] are orthogonal:
A positive activity value corresponds to presence of the test input in the list. Zero activity corresponds to absence from the list.
Step 3. Decision Criteria (very tentative):
Positive: Large, rapid, synchronized compact activation pattern in Array B is positive .
Negative: Smaller, slow, unsynchronized, widespread activation pattern in Array B is negative .
The decision parameters are set by the accuracy required, the nature of the categories, etc. Experience is required .
Detecting the presence of a item on the list does not require identification of the test item.
The system does not reason, “I see a C. > C is on the list. >
Therefore I will make a positive response.”
The process is instead “The item is some item on the list. >
Therefore I make a positive response.
With additional effort I can conclude the item is a C.
This curious prediction is experimentally correct.
In general: It often makes sense to operate at a level the above the finest detail, even thought the detail is available.
We can extend this to multiple inputs from the sensory systems and from memory.
We can suggest how to program (on the fly) more complex multimodal list experiments.
An Example:
List: 1, 2, 2, 3, 4
Is 3 on the list?
We can bring together multiple sources of information at the mixer.
Activity levels in the mixer can tell whether or not some task demand is satisfied.
Note the combination of analog and pattern based computation.
And systems like this may be statistically optimal!
The most interesting applications of the Ersatz system will be to high level cogntion.
For example, we can extend these ideas to work with contextual and conceptual information.
We may now have entries both into language and into cognitive signal processing with the same approach.
We can make simple context neighborhood from integrating multiple data sources.
We assume that previous input words hang around and are associatively linked to their associates..
Perhaps an entire semantic network could be constructed from the union of neighborhood.
Consider a set of four sentences on a common topic:
I needed caffeine.
I walked to Starbucks.
“A vente,” I said to the barrista.
“Ah, java”, I exclaimed
Assume that word patterns from multiple sentences superimpose just like the Sternberg experiments.
What is the appropriate meaning of ‘ java’ in this sequence?
The string ‘ java’ can be:
• A slang term for coffee.
• An island in Indonesia.
• A programming language.
Superposition of the associations of the words gives rise to a context that easily disambiguates ‘java.’
The Ersatz Brain Project is developing a scalable, understandable, brain-like computing architecture.
We are working to turn it into a computing system .
We are developing techniques for working with real world data.
We feel the same basic ideas will work over a wide range of scales.
We can now outline programs that can be applied over a range from cognitive signal processing to task-based memory retrieval to contextual disambiguation .