Visualizing Network Connectivity with 8 October 2009 ConnPlotter - - PowerPoint PPT Presentation

visualizing network connectivity with
SMART_READER_LITE
LIVE PREVIEW

Visualizing Network Connectivity with 8 October 2009 ConnPlotter - - PowerPoint PPT Presentation

Visualizing Network Connectivity with 8 October 2009 ConnPlotter ConnPlotter Party! Network Hans Ekkehard Plesser & Eilen Nordlie Diagrams Connectivity Pattern Norwegian University of Life Sciences Tables Simula Research Laboratory


slide-1
SLIDE 1

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Visualizing Network Connectivity with ConnPlotter

Hans Ekkehard Plesser & Eilen Nordlie

Norwegian University of Life Sciences Simula Research Laboratory RIKEN Brain Sciences Institute

8 October 2009

slide-2
SLIDE 2

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Outline

Happy Birthday, Neural Network Simulators! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

slide-3
SLIDE 3

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Happy Birthday, Neural Network Simulators!

slide-4
SLIDE 4

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Network Simulation: 55 years!

slide-5
SLIDE 5

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

  • B. G. Farley & A. W. Clark, 1954

◮ Simulation of

self-organized systems by digital computer

◮ MIT Memory test

computer

◮ 4096 16-bit words ◮ 90.000 fetch/add per

sec

◮ 64 leaky I&F neurons ◮ δ-synapses w/ delay ◮ exponentially decaying

threshold

◮ Gaussian noise (LFG) ◮ 75% connectivity ◮ Hebbian learning

slide-6
SLIDE 6

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

First Neuron Class: 40 years!

◮ Lars Walløe, J. K. S. Jansen, Kirsten Nygaard ◮ A Computer Simulated Model of a Secondary Order

Sensory Neuron

◮ Kybernetik 6:130–141 (1969) ◮ Model of neurons in dorsal spino-cerebellar tract ◮ Direct comparison to experimental data ◮ Implemented in Simula on a Univac 1107

slide-7
SLIDE 7

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Network Diagrams

slide-8
SLIDE 8

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What makes science science?

Refutable hypotheses Hypotheses must be stated with sufficient detail and precision so that one can devise meaningful tests or counterexamples. Reproducible experiments Experiments must be described and performed so carefully, that others can reproduce them. Genuine failure to reproduce results invalidates original findings. Accumulation of knowledge Accumulation of knowledge through exchange, evolution and (sometimes) revolution of ideas.

slide-9
SLIDE 9

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What makes science science?

Refutable hypotheses Hypotheses must be stated with sufficient detail and precision so that one can devise meaningful tests or counterexamples. Reproducible experiments Experiments must be described and performed so carefully, that others can reproduce them. Genuine failure to reproduce results invalidates original findings. Accumulation of knowledge Accumulation of knowledge through exchange, evolution and (sometimes) revolution of ideas.

slide-10
SLIDE 10

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What makes science science?

Refutable hypotheses Hypotheses must be stated with sufficient detail and precision so that one can devise meaningful tests or counterexamples. Reproducible experiments Experiments must be described and performed so carefully, that others can reproduce them. Genuine failure to reproduce results invalidates original findings. Accumulation of knowledge Accumulation of knowledge through exchange, evolution and (sometimes) revolution of ideas.

slide-11
SLIDE 11

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What makes science science?

Refutable hypotheses Hypotheses must be stated with sufficient detail and precision so that one can devise meaningful tests or counterexamples. Reproducible experiments Experiments must be described and performed so carefully, that others can reproduce them. Genuine failure to reproduce results invalidates original findings. Accumulation of knowledge Accumulation of knowledge through exchange, evolution and (sometimes) revolution of ideas.

slide-12
SLIDE 12

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What do we need?

◮ Reliable, ◮ Precise, ◮ Expressive, ◮ Easy-to-Use ◮ means to visualize our models of neuronal networks.

slide-13
SLIDE 13

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What do we need?

◮ Reliable, ◮ Precise, ◮ Expressive, ◮ Easy-to-Use ◮ means to visualize our models of neuronal networks.

slide-14
SLIDE 14

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What do we need?

◮ Reliable, ◮ Precise, ◮ Expressive, ◮ Easy-to-Use ◮ means to visualize our models of neuronal networks.

slide-15
SLIDE 15

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What do we need?

◮ Reliable, ◮ Precise, ◮ Expressive, ◮ Easy-to-Use ◮ means to visualize our models of neuronal networks.

slide-16
SLIDE 16

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What do we need?

◮ Reliable, ◮ Precise, ◮ Expressive, ◮ Easy-to-Use ◮ means to visualize our models of neuronal networks.

slide-17
SLIDE 17

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What do we have?

slide-18
SLIDE 18

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

What can we do?

◮ Develop standards for symbols (eg Kitano et al, Nature

Biotechnol 2005)

◮ Draw network at different levels (from Nordlie et al,

2009)

A

Ret. T

p

Rp V (v)

p

V (h)

p

B C

Tp Rp Vp(h)LI(i) Vp(v)LI(i) Vp(v)LI(e) Vp(v)L4(e) Vp(v)LI(i) Vp(v)LS(i) Vp(v)L4(i) Vp(v)LS(e)

◮ Problems:

◮ How to generate automagically? ◮ Confusing line crossings

slide-19
SLIDE 19

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Dot doesn’t help . . .

Ret Tp Rp Vp_h Vp_v Retina TpTpRelay TpTpInter RpRpNeuron Vp_hL4pyr Vp_hL56pyr Vp_vL4pyr Vp_vL56pyr Vp_hL23pyr Vp_hL23in Vp_vL23pyr Vp_vL23in Vp_hL4in Vp_vL4in Vp_hL56in Vp_vL56in

slide-20
SLIDE 20

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Connectivity Pattern Tables

slide-21
SLIDE 21

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

NEST Topology: Simple Layers

slide-22
SLIDE 22

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Real networks: Complex Layers

From Hill & Tononi, J Neurophysiol, 2005, 93, 1671–1698

slide-23
SLIDE 23

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

NEST Topology: Composite Layer Elements

◮ Each color represents a neuron model ◮ Connections are made by specifiying entire layer and

model to connect to/from

slide-24
SLIDE 24

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Populations, Groups, Projections

Population Homogeneous group of neurons with 2D-layout Group Collection of populations, e.g., a layer Projection Rule for connecting two populations Mask Only target population neurons inside mask are connected Kernel Probability of connection Synapse model

−2 2 −3 −2 −1 1 2 3 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

slide-25
SLIDE 25

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Connectivity Pattern Table (CPT)

◮ Connectivity matrix showing kernels & masks ◮ Intensity = weight × probability A B

IG IG RG RG

E E I I

IG IG RG RG

E E I I

slide-26
SLIDE 26

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Aggregate CPTs

◮ Condense by combining across populations, synapse

models, or both

A B

IG IG RG RG IG IG RG RG

C

IG IG RG RG

slide-27
SLIDE 27

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Different synapse types

◮ Different colors ◮ Co-occurring types placed side-by-side

IG IG RG RG

E E I I

slide-28
SLIDE 28

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Aggregate with synapse types

IG IG RG RG

E E I I

A B C

IG IG RG RG IG IG RG RG

E E I I

IG IG RG RG

slide-29
SLIDE 29

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

The Hill-Tononi Model . . .

Ret Tp Rp Vp_h Vp_v Retina TpTpRelay TpTpInter RpRpNeuron Vp_hL4pyr Vp_hL56pyr Vp_vL4pyr Vp_vL56pyr Vp_hL23pyr Vp_hL23in Vp_vL23pyr Vp_vL23in Vp_hL4in Vp_vL4in Vp_hL56in Vp_vL56in

slide-30
SLIDE 30

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

. . . and as CPT

Ret Ret Tp Rp Vp_h Vp_v Tp Inter Relay Rp Vp_h L23in L23pyr L4in L4pyr L56in L56pyr Vp_v Inter Relay L23in L23pyr L4in L4pyr L56in L56pyr L23in L23pyr L4in L4pyr L56in L23in L23pyr L4in L4pyr L56in L56pyr L56pyr

slide-31
SLIDE 31

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Partially Aggregated CPTs

slide-32
SLIDE 32

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Fully Aggregated CPTs

slide-33
SLIDE 33

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

ConnPlotter

slide-34
SLIDE 34

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

ConnPlotter: AutoMagic CPTs

◮ Python package ◮ Flexible generation of CPTs ◮ CPTs built from NEST Topology network specifications ◮ Use same code to build and draw models!

slide-35
SLIDE 35

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Example: Simple network

modelList = [(’poisson_generator’, ’P’, {’rate’: 10.0}), (’iaf_neuron’, ’E’, {’C_m’: 200.0}), (’iaf_neuron’, ’I’, {’C_m’: 150.0})] layerList = [(’IG’, {’columns’: 40, ’rows’: 40, ’extent’: [1.0, 1.0], ’elements’: ’P’}), (’RG’, {’columns’: 40, ..., ’elements’: [’E’, connectList = [ (’IG’, ’RG’, modCopy(common, {’connection_type’: ’divergent’, ’synapse_model’ : ’static_synapse’, ’targets’: {’model’: ’E’}, ’mask’ : {’circular’: {’radius’: ’kernel’ : 0.8, ’weights’: 2.0, ’delays’ : 1.0})), ... ]

slide-36
SLIDE 36

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Drawing the CPTs

import ConnPlotter as cpl s_cp = cpl.ConnectionPattern(layerList, connectList) s_cp.plot() s_cp.plot(normalize=True) s_cp.plot(mode=’layer’) s_cp.plot(mode=’totals’) s_cp.plot(mode=’totals’, normalize=True) s_cp.plot(file=’mycpt.eps’) cpt = cpl.ConnectionPattern(layerList, connectList, synTypes = ( ( cpl.SynType(’AMPA’, 1, ’red’ ), cpl.SynType(’NMDA’, 1, ’green’ ) ), ( cpl.SynType(’Dopa’, 0.5, ’orange’), cpl.SynType(’Sero’, 0.2, ’brown’ ) )

slide-37
SLIDE 37

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Creating the network

for model in modelList: nest.CopyModel(model[0], model[1], model[2]) for layer in layerList: exec ’%s = topo.CreateLayer(layer[1])’ % layer[0] for conn in connectList: exec ’topo.ConnectLayer(%s,%s,conn[2])’ \ % (conn[0], conn[1])

slide-38
SLIDE 38

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Perspectives

slide-39
SLIDE 39

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Perspectives

◮ Not all kernels (even in NEST Topology) supported

right now

◮ Non-square populations don’t work 100% yet ◮ Non-centered projections not implemented ◮ Ignores boundary conditions ◮ Must become compatible with PyNN ◮ Do you like CPTs?

slide-40
SLIDE 40

ConnPlotter 8 October 2009 Party! Network Diagrams Connectivity Pattern Tables ConnPlotter Perspectives

Collaborators

Eilen Nordlie Marc-Oliver Gewaltig