See the tutorial (network)
Download
Report
Transcript See the tutorial (network)
GUM*02 tutorial session
UTSA, San Antonio, Texas
Large-scale realistic modeling
of neuronal networks
Mike Vanier, Caltech
Structure of the talk:
General network modeling issues
Details of how networks are
modeled in GENESIS
Part 1
General network modeling issues
Details of how networks are
modeled in GENESIS
Why model networks?
Goal: understand the brain
Networks implement computations
network of networks
influence of NN theory
Networks are where the action is!
Why avoid modeling networks?
networks are too complex
dozens of cell types
complex connectivities, interactions
we don’t understand neurons yet
not enough data
want to graduate quickly
Roots of GENESIS
GENESIS:
GEneral
NEural
SImulation
System
network modeling was orig focus
and yet...
most models still either
single neuron models
very small networks
“abstract” network models
maybe a 10:1 ratio or worse
why is this?
Network modeling is hard!!!
need accurate data on:
neuron models (ALL types)
connectivities
inputs
outputs
simplifications needed
scaling issues
More typical scenario
data available for some neurons only
inhibitory neurons?
connectivities only vaguely known
inputs vaguely known if at all
outputs vaguely known if at all
why bother?
Motivations
“Abandon all hope, ye who enter here.”
more exploratory, less definitive
refine conceptual model of system
make implicit ideas about function
explicit
figure out what data to collect
The process
collect all the data you can!!!
build simplified neuron models
match to data
build model of inputs
build network model
match to data
graduate
Example: piriform cortex
neuron types well established
little physiology for most
connection patterns known
inputs partially known
outputs mostly unknown
Neuron types
Simplification
Physiology: pyramidal neurons
model
real
Physiology: inhibitory neurons
inputs
spike rasters
ISI distribution
Connectivities 1
afferents
Connectivities 2
now the “fun” begins...
pick network phenomenon to model
PC: response to strong, weak shocks
independent of details of bulb
relatively simple
adjust parameters to tune model
leave neuron parameters alone
connectivities
results?
see my talk tomorrow
hint: I graduated
Part 2
General network modeling issues
Details of how networks are
modeled in GENESIS
GENESIS basics
modeler creates simulation objects
objects send messages to ea. other
messages contain data
most messages sent each time step
field values
or once per fixed interval
[spikes break this rule]
neurons
compartmental models of neurons
neuron composed of compartments
compartments are isopotential
channels connect to compartments
voltage-dependent
calcium-dependent
synaptic
setting up the neuron
create neutral /neuron1
create compartment /neuron1/soma
setfield ^ \
Em
{ Erest }
\
Rm
{ RM / area } \
Cm
{ CM * area } \
Ra
{ RA * len / xarea }
//
//
//
//
volts
Ohms
Farads
Ohms
spikes in genesis
spikegen object
monitors Vm of compartment
when past threshold, sends SPIKE
message to destination
synchan object
receives SPIKE message
stores time of spike in buffer
generates a-function when spike hits
setting up the synchan
create synchan /neuron1/syn
setfield ^ \
gmax
1.0e-9
\
// 1 nS
Ek
0.0
\
tau1
0.001
\
// rise time (sec)
tau2
0.003
// fall time
// Connect soma to synchan:
addmsg /neuron1/soma /neuron1/syn VOLTAGE Vm
addmsg /neuron1/syn /neuron1/soma CHANNEL Gk Ek
setting up the spikegen
// Create and connect spike detector:
create spikegen /neuron1/spike
setfield ^ thresh -0.020 abs_refract 0.002
addmsg /neuron1/soma /neuron1/spike INPUT Vm
connecting two neurons
// Assume we have neuron2 like neuron1
addmsg /neuron1/spike /neuron2/syn SPIKE
// Set synaptic weight and delay:
setfield /neuron2/syn \
synapse[0].weight 1.0
\
synapse[0].delay 0.001
// 1 msec
// That’s all there is to it!
building networks
Why not just do this for all synapses?
100-1000 neurons, 10,000-100,000
synapses...
gets pretty tedious
faster way: large-scale connection commands
volumeconnect [planarconnect]
volumedelay [planardelay]
volumeweight [planarweight]
volumeconnect
volumeconnect source_elements destination_elements
-relative \
-sourcemask {box, ellipsoid} x1 y1 z1 x2 y2 z2
-sourcehole {box, ellipsoid} x1 y1 z1 x2 y2 z2
-destmask
{box, ellipsoid} x1 y1 z1 x2 y2 z2
-desthole
{box, ellipsoid} x1 y1 z1 x2 y2 z2
-probability p
\
\
\
\
\
volumedelay
volumedelay sourcepath [destination_path]
-fixed delay
\
-radial conduction_velocity \
-add
\
-uniform scale
\
-gaussian stdev maxdev
\
-exponential mid max
\
-absoluterandom
\
volumeweight
volumeweight sourcepath [destination_path]
-fixed weight
-decay decay_rate max_weight min_weight
-uniform scale
-gaussian stdev maxdev
-exponential mid max
-absoluterandom
\
\
\
\
\
\
note on connection commands
mainly useful for simple cases
more realistic cases require more control
GENESIS script language makes it easy
to write own connection commands
output
Xodus
graphical output
dump neuron data to files
binary files readable by “xview”
conclusions
network modeling is
fun
fascinating
fundamental
frustrating!
NOT for the easily discouraged!