0% found this document useful (0 votes)
40 views86 pages

Neural Engineering Computation Representation and

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views86 pages

Neural Engineering Computation Representation and

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 86

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/3207658

Neural Engineering: Computation, Representation, and Dynamics in


Neurobiological Systems [Book Review]

Article in IEEE Control Systems Magazine · January 2006


DOI: 10.1109/MCS.2005.1573615 · Source: IEEE Xplore

CITATIONS READS

54 5,735

1 author:

Jag Sarangapani
Missouri University of Science and Technology
516 PUBLICATIONS 14,005 CITATIONS

SEE PROFILE

All content following this page was uploaded by Jag Sarangapani on 28 June 2013.

The user has requested enhancement of the downloaded file.


“Neural Engineering:
Computation, Representation,
and Dynamics in
Neurobiological Systems”
Chris Eliasmith Charles H. Anderson
Univ. Waterloo Wash. Univ. Sch. Med.
Waterloo, Canada St. Louis, MO
Supported by the Mathers Foundation and the
McDonnell Center for Higher Brain Function.

http://compneuro.uwaterloo.ca
MIT Press
Jan. 2003
I also want to acknowledge my interactions
with David Van Essen over the past 19
years and the support he has given me over
the last 10.
Implementation
“Theorems about Turing machines and
universal computation are only true in the
limit of infinite resources and infinite time.”
(John Denker and Yann LeCun, Bell Labs)

"Natural versus Universal Probability Complexity, and Entropy," in


IEEE Workshop on the Physics of Computation, pp. 122-127, 1992
Implementation issues are therefore
very important !!!
The First Question To Ask Is …
The First Question To Ask Is …

How do neuronal systems


represent analog, real valued
variables?
Why?
Why?

Because Neuronal Systems


Process Analog Signals
Neuronal Systems are Analog

1. Sensory Inputs (Vestibular – Visual)

Vestibular Signals:
1. Angular Head Acceleration
2. Linear Head Acceleration
3. 6 Degrees of Freedom
4. ~1000 Neurons
Neuronal Systems are Analog

1. Sensory Inputs (Vestibular – Visual)


2. Motor Outputs

• ~100 Degrees of Freedom


• ~700 Muscles
• ~ 1,000,000 Motor Neurons
Neuronal Systems are Analog

1. Sensory Inputs (Vestibular – Visual)


2. Motor Outputs
3. Internal Cortical/Cognitive (Probabilities)
Neuronal Systems are Analog

1. Sensory Inputs (Vestibular – Visual)


2. Motor Outputs
3. Internal Cortical/Cognitive (Probabilities)

Some have suggested there are ~100


neurons per degree of freedom in
cortical circuits.
So how do digital and neuronal systems
represent real numbers?
Bit Representation
System Variables

A/D
Converter

Bit Variables
Bit Representation
Neuronal Representation
System Variables

Neuron Variables
Neuronal Encoding
Neuronal Representation
System Variables

Neuron Variables
Neuronal Linear Decoding

Population Vector:
Georgopolous et al.

Linear Temporal Filters:


Bialek et al.
Optimal Linear Decoding Vectors
Linear Decoding
Representation Neuron Tuning Curves
700

600

500

Firing Rate
400

Encoding 300

200

100

0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

0.8

Estimate
0.6

Actual
0.4

0.2

Decoding
0

-0.2

(Linearity) -0.4

-0.6

-0.8

-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

x
Decoding Errors
Responses
Encode Decode
+Noise
+Spikes
Neuron Ensemble

1) Noise ~ 1/sqrt(N)
2) Static distortion ~1/N
3) Residuals from filtered spikes ~1/sqrt(N)
0
10
Distortion
Noise
Total
1/2
1/N
1/N
-1
10
RMS ERROR
RMS Errors

-2
10

-3
10
0 1 2 3
10 10 10 10
Number of Neurons
Number
Bits vs. Neurons
• Bits: (Almost infinite S/N ratio)
1. Precision scales as 2N, (N=#bits).
2. Fragile and costly in power.
Bits vs. Neurons
• Bits: (Almost infinite S/N ratio)
1. Precision scales as 2N, (N=#bits).
2. Fragile and costly in power.
• Neurons: (S/N Ratio ~5/1)
1. Precision scales as sqrt(N), (N=#Neurons).
2. Fails gracefully,
runs slower and/or loses precision…
Neurons work at the level of bits!!!
3 Key Elements of Framework

1) Neuronal Representation of Variables


(Population codes).

2) Neural Implementation of Transformations


(Synaptic coupling weights).

3) Mapping of Neuronal Dynamics onto Linear


Control Theory (Spikes and Post-synaptic filters).
Neuronal Representations
• Neuronal Variables: neuron outputs Examples
(as instantaneous firing rates or spike trains)
Neuronal Representations
• Neuronal Variables: neuron outputs Examples
(as instantaneous firing rates or spike trains)

• Higher-level Variables: mathematical objects


(scalars, vectors, functions, vector fields, probability functions, etc.)
Neuronal Representations
• Neuronal Variables: neuron outputs Examples
(as instantaneous firing rates or spike trains)

• Higher-level Variables: mathematical objects


(scalars, vectors, functions, vector fields, probability functions, etc.)

REPRESENTATION
(1)The higher-level variables are encoded
into the neuronal variables using nonlinear
spike generation rules,
Neuronal Representations
• Neuronal Variables: neuron outputs Examples
(as instantaneous firing rates or spike trains)

• Higher-level Variables: mathematical objects


(scalars, vectors, functions, vector fields, probability functions, etc.)

REPRESENTATION
(1)The higher-level variables are encoded
into the neuronal variables using nonlinear
spike generation rules,
(2) And decoded from the neuron variables
using linear decoding, where a weighted
average is taken over neural populations and
over time, i.e. linear filters.
Moving on to Spiking Neurons
Leaky Integrate and Fire Spiking Model
200
Firing Rate
150
On

100

50

x
n
irg
F
te
a
R

-50

-100

-150

-200
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Input voltage
200
Firing Rate
150
Off On

100

50

x
n
irg
F
te
a
R

-50

-100

-150

-200
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Input voltage
200
Firing Rate
150
Off On

100

50

x
n
irg
F
te
a
R

-50

-100

-150 Diff
-200
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Input voltage
Reminder to run Matlab
On-Off Pair
2

1
On-Off Pair
--1

0
2<

-1

-2
0 0.05 0.1 0.15 0.2 0.25

1
Neurons

0.5
ns2

0
E
2nd 100

-0
.5

-1
0 0.05 0.1 0.15 0.2 0.25
time(sec)
On-Off Pair
2

1
On-Off Pair
--1

0
2<

-1

-2
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1

0.6

0.4
2nd 100EnNeurons

0.2
s2

-0
.2

-0
.4

-0
.6

-0
.8
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
time(sec)
100 Neurons
1

0.5
100 Neurons
--1

0
2<

-0
.5

-1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1

0.6

0.4
2nd 100EnNeurons

0.2
s2

-0
.2

-0
.4

-0
.6

-0
.8
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
time(sec)
Linear decoding can do more
than support representation.
Population Representation
• Diversity of neuronal responses is important!
Representation 700
Neuron Tuning Curves
600

500
Firing Rate

400

Encoding 300

200

100

0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

0.8

0.6
Estimate
Actual
0.4

0.2

Decoding
0

-0.2

(Linearity) -0.4

-0.6

-0.8

-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

x
Population Representation
• Linear decoders also support functions of x.
Representation 700
Neuron Tuning Curves Extracting 1

600 Functions 0.9

0.8

500
Firing Rate

0.7

0.6
400

0.5

Encoding 300

Quadratic 0.4

0.3
200

0.2

100
0.1

0 0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

x x

1 1

0.8 0.8

0.6
Estimate 0.6

Actual
0.4 0.4

0.2 0.2

Decoding Cubic
0 0

-0.2 -0.2

(Linearity) -0.4

-0.6
-0.4

-0.6

-0.8 -0.8

-1 -1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

x x
Neuron activities, ai(x)
0.35

0.3

0.25

0.2

0.15

0.1

0.05

0
-1 -0.5 0 0.5 1
x
Principle Components, ψ n(x)
4

-1

-2 ψ 1(x)
ψ 2(x)
-3 ψ 3(x)
ψ (x)
4
-4
-1 -0.5 0 0.5 1
x
ai(x) Along Principle Component Axes

0
ψ4(x)

-1

-2
2
4
0 2
0
-2
-2 -4
ψ3(x) ψ2(x)
Computing Functions by Linear Decoding
Moving on
3 Key Elements of Framework

1) Neuronal Representation of Variables


(Population codes).

2) Neural Implementation of Transformations


(Synaptic coupling weights).

3) Mapping of Neuronal Dynamics onto Linear


Control Theory (Spikes and Post-synaptic filters).
Transformations
Transformations
Transformations
Transformations
Transformations
Neuron Coupling Weights

• Decode the incoming spikes.


• Applies the transformation.
• Encodes the result back into soma currents
that generate the output spikes.
Neuron Coupling Weights

• Decode the incoming spikes.


• Applies the transformation.
• Encodes the result back into soma currents
that generate the output spikes.

Learning coupling weights is complex!!


3 Key Elements of Framework

1) Neuronal Representation of Variables


(Population codes).

2) Neural Implementation of Transformations


(Synaptic coupling weights).

3) Mapping of Neuronal Dynamics onto Linear


Control Theory (Spikes and Post-synaptic filters).
Modern Control Theory

u(t) x(t)
dx/dt
B 1/s

A
Neural Dynamics and
Control Theory
• Modern linear control theory
u(t) x(t)
dx/dt
1 B 1/s
h( s ) =
s
A

• Neural Dynamics

1
h( s ) = u(t) x(t)
1 + sτ syn B' 1/(1+sτ)

A'
Neural Dynamics
u(t) x(t)
B' 1/(1+sτ)

A'

• Filter - Integrator

• Oscillator
Neural Dynamics
u(t) x(t)
B' 1/(1+sτ)

A'

• Filter - Integrator

• Oscillator

Changing the coefficients in the A


Matrix changes the dynamics!!
Neuron Coupling Weights

• Decode the incoming spikes.


• Applies the transformation.
• Encodes the result back into soma currents
that generate the output spikes.

Learning coupling weights is complex!!


Synthesis (Putting it together)

higher-level description

hsyn(t) neuron
encoding soma output
input spikes
spikes decoding dynamics
matricies

hsyn(t)

PSCs synaptic weights

dendrites
neuronal-level description

recurrent connections
Synthesis (details)

higher-level description
neuron
encoding soma output
input spikes
spikes decoding dynamics
matricies

PSCs synaptic weights

dendrites
neuronal-level description

recurrent connections
Applications
• Sensory Systems:
1. Visual System (Brandon Westover, David Van Essen)
2. Sound Localization in Barn Owl (Brian Fischer)
3. Vestibular System (Dora Angelaki)

• Motor Systems:
1. Neural Integrator (Chris Eliasmith)---{S. Seung}
2. Lamprey (Chris Eliasmith)
3. Arm movements (Zoran Nenadic)

• Cortical Systems:
1. V1 (Brandon, Greg DeAngelis and David Van Essen)
2. MT (Harris Nover and Greg DeAngelis)
3. PDF’s (John Clark, Mike Barber)
Major Unanswered Questions

1. How to incorporate learning.


2. Efficient implementation of contextual –
multiplicative interactions.
3. What is the source of the Poisson like
fluctuations observed in cortical and
cerebellar Purkinjie cells?
Summary: A Unified Approach to
Neuroscience
• Applicable to sensory-motor-cortical systems;
insects to humans.

• Links engineering and neuroscience.

• Bridges high level and low level modeling.

• A “compiler” for building model circuits.

http://compneuro.uwaterloo.ca
Published by
MIT Press, on
Jan. 2003

http://compneuro.uwaterloo.ca
Neural-Simulations Matlab
http://compneuro.uwaterloo.ca
1. Gen_ensemble.m
• Creates neuronal ensembles that represent vector spaces.
2. Setupsim.m
• Sets up a simulation from a text file describing the
circuit.
3. Runsim.m
• Runs the simulation.

C. H. Anderson, Chris Eliasmith and John Harwell


Dynamic Filter

Ensemble 1 Ensemble 3
x(t) x y y(t)

k*y
[y,k]
k k(t)
Ensemble 4
Ensemble 2
Dynamic Filter.txt Connections

Ensemble 1 Ensemble 1 (x)


Ensemble 3 External 1
x(t) x y y(t) Ensemble 2 (k) Feedback gain control
External 2
k*y
Ensemble 3 (y)
[y,k] Vector 1
k k(t) Matrix
Ensemble 4 0.1 %% Scale this as 1-k to keep the output (y) within range.
Ensemble 2
Function 4
Matrix
1

4 Ensembles Ensemble 4 (k,y) Hidden layer neurons for multiplication


Vector 2
Ensemble 1 X_N100D1 (x) Matrix
Ensemble 2 Y_N100D1 (k) 1
Ensemble 3 Z_N100D1 (y) 0
Ensemble 4 X_N100D2 (y,k)
Quad Vector 3
01 %% Ensemble 4 will output the function k*y Matrix
00 0
1
End
3 <-- 1
1

0.5
Outputs
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
1

0.5
3 <-- 4

-0.5
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
1
4 <-- 2

0.5

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0.5
4 <-- 3

-0.5
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
time (sec)
Spike rasters
View publication stats

You might also like