BRIAN Simulator 11/4/11. NEURON is cool, but… …it’s not suited particularly well for large network simulations What if you want to look at properties.

Slides:



Advertisements
Similar presentations
Opening Screen Question Board Math Jeopardy Category Category 2 Category 3 Category 4 Category.
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
1  1 =.
Example Project and Numerical Integration Computational Neuroscience 03 Lecture 11.
Neural modeling and simulation
8 2.
Raise Your Childs Attendance, -Raise their Chances! Raise Your Childs Attendance, -Raise their Chances! What does “Good attendance” mean?
UNIT 2: SOLVING EQUATIONS AND INEQUALITIES SOLVE EACH OF THE FOLLOWING EQUATIONS FOR y. # x + 5 y = x 5 y = 2 x y = 2 x y.
Lab # 03- SS Basic Graphic Commands. Lab Objectives: To understand M-files principle. To plot multiple plots on a single graph. To use different parameters.
Math Extension and Intervention Be on time and be respectful to others….A large group…… No food or drinks or popping gum No , searching, or playing.
Copyright © 2014 John Wiley & Sons, Inc. All rights reserved.
Day 2 1.Review 2.Perturbations 3.Steady State 4.Protein Cascades 5.Gene Regulatory Models 6.Project.
Powerpoint Jeopardy Category 1Category 2Category 3Category 4Category
Chapter Modules CSC1310 Fall Modules Modules Modules are the highest level program organization unit, usually correspond to source files and.
Let’s Add! Click the cloud below for a secret question! Get Started!
A brief introduction to neuronal dynamics Gemma Huguet Universitat Politècnica de Catalunya In Collaboration with David Terman Mathematical Bioscience.
MATLAB – What is it? Computing environment / programming language Tool for manipulating matrices Many applications, you just need to get some numbers in.
Neural Network of the Cerebellum: Temporal Discrimination and the Timing of Responses Michael D. Mauk Dean V. Buonomano.
Dan Goodman & Romain Brette Ecole Normale Supérieure Projet Odyssée
Dan Goodman & Romain Brette Ecole Normale Supérieure Projet Odyssée
Learning crossmodal spatial transformations through STDP Gerhard Neumann Seminar B, SS 06.
Why are cortical spike trains irregular? How Arun P Sripati & Kenneth O Johnson Johns Hopkins University.
Cerebellar Spiking Engine: EDLUT simulator UGR with input from other partners.  Motivation 1. Simulation of biologically plausible spiking neural structures.
Marseille, Jan 2010 Alfonso Renart (Rutgers) Jaime de la Rocha (NYU, Rutgers) Peter Bartho (Rutgers) Liad Hollender (Rutgers) Néstor Parga (UA Madrid)
Introduction to Mathematical Methods in Neurobiology: Dynamical Systems Oren Shriki 2009 Modeling Conductance-Based Networks by Rate Models 1.
CH12: Neural Synchrony James Sulzer Background Stability and steady states of neural firing, phase plane analysis (CH6) Firing Dynamics (CH7)
Effects of Excitatory and Inhibitory Potentials on Action Potentials Amelia Lindgren.
Feedforward networks. Complex Network Simpler (but still complicated) Network.
WHAT IS YOUR COMPANY’S PURPOSE? To know what your employee prints? To control as he prints, mapping targets and limts spending?
Neurons II CA6 – Theoretical Neuroscience Romain Brette
Simulating neural networks with Romain Brette
BRIAN Simulation of spiking neural networks
Introduction to Mathematical Methods in Neurobiology: Dynamical Systems Oren Shriki 2009 Modeling Conductance-Based Networks by Rate Models 1.
Lecture 10: Mean Field theory with fluctuations and correlations Reference: A Lerchner et al, Response Variability in Balanced Cortical Networks, q-bio.NC/ ,
Lecture 9: Introduction to Neural Networks Refs: Dayan & Abbott, Ch 7 (Gerstner and Kistler, Chs 6, 7) D Amit & N Brunel, Cerebral Cortex 7, (1997)
Planned features STDP (close to finished) Gap junctions Using the GPU (project with GPULib) Automatic code generation Static analysis of neural networks.
Study on synchronization of coupled oscillators using the Fokker-Planck equation H.Sakaguchi Kyushu University, Japan Fokker-Planck equation: important.
”When spikes do matter: speed and plasticity” Thomas Trappenberg 1.Generation of spikes 2.Hodgkin-Huxley equation 3.Beyond HH (Wilson model) 4.Compartmental.
Computing in carbon Basic elements of neuroelectronics Elementary neuron models -- conductance based -- modelers’ alternatives Wiring neurons together.
Version 0.10 (c) 2007 CELEST VISI  N BRIGHTNESS CONTRAST: ADVANCED MODELING CLASSROOM PRESENTATION.
Computational Modeling of the Auditory Periphery:
Brian A clock driven simulator for spiking neural networks in Python.
Spiking Neural Networks Banafsheh Rekabdar. Biological Neuron: The Elementary Processing Unit of the Brain.
Where are we? What’s left? HW 7 due on Wednesday Finish learning this week. Exam #4 next Monday Final Exam is a take-home handed out next Friday in class.
STDP and Network Architectures Parallel ODE Solver and Event Detector Eugene Lubenov.
What does the synapse tell the axon?
Learning Objectives After this miniclass, you should be able to:
Do Now Describe what biological psychology is..
Collins Assisi, Mark Stopfer, Maxim Bazhenov  Neuron 
The Brain as an Efficient and Robust Adaptive Learner
Dayan Abbot Ch 5.1-4,9.
Emre O. Neftci  iScience  Volume 5, Pages (July 2018) DOI: /j.isci
Effects of Excitatory and Inhibitory Potentials on Action Potentials
Carlos D. Brody, J.J. Hopfield  Neuron 
John Widloski, Ila R. Fiete  Neuron 
Volume 40, Issue 6, Pages (December 2003)
Linking Memories across Time via Neuronal and Dendritic Overlaps in Model Neurons with Active Dendrites  George Kastellakis, Alcino J. Silva, Panayiota.
Volume 36, Issue 5, Pages (December 2002)
Volume 72, Issue 5, Pages (December 2011)
H.Sebastian Seung, Daniel D. Lee, Ben Y. Reis, David W. Tank  Neuron 
Collins Assisi, Mark Stopfer, Maxim Bazhenov  Neuron 
Yann Zerlaut, Alain Destexhe  Neuron 
Learning by the Dendritic Prediction of Somatic Spiking
Michael Häusser, Beverley A Clark  Neuron 
Spike-Time-Dependent Plasticity and Heterosynaptic Competition Organize Networks to Produce Long Scale-Free Sequences of Neural Activity  Ila R. Fiete,
Synaptic Transmission and Integration
The Brain as an Efficient and Robust Adaptive Learner
Learning Objectives After this class, you should be able to:
Shunting Inhibition Modulates Neuronal Gain during Synaptic Excitation
Spike-Time-Dependent Plasticity and Heterosynaptic Competition Organize Networks to Produce Long Scale-Free Sequences of Neural Activity  Ila R. Fiete,
Presentation transcript:

BRIAN Simulator 11/4/11

NEURON is cool, but… …it’s not suited particularly well for large network simulations What if you want to look at properties of thousands of neurons interacting with one another? What about changing properties of synapses through time?

BRIAN Simulator BRIAN allows for efficient simulations of large neural networks Includes nice routines for setting up random connectivity, recording spike times, changing synaptic weights as a function of activity – Should be able to run from the unzipped brian directory –

Make sure it works! from brian import * brian_sample_run()

Building blocks of BRIAN Model consists of: – Equations – NeuronGroup – a group of neurons which obeys those equations – Connection – a way to define connection matrices between neurons – SpikeMonitor (and others) – a way to measure properties of the simulated network

My First BRIAN Model To start, let’s walk through the example code on briansimulator.org homepage Copy this text into IDLE (or whichever.py editor you’re using) Make sure it runs first! from brian import * eqs = ''' dv/dt = (ge+gi-(v+49*mV))/(20*ms) : volt dge/dt = -ge/(5*ms) : volt dgi/dt = -gi/(10*ms) : volt ''' P = NeuronGroup(4000, eqs, threshold=- 50*mV, reset=-60*mV) P.v = -60*mV Pe = P.subgroup(3200) Pi = P.subgroup(800) Ce = Connection(Pe, P, 'ge', weight=1.62*mV, sparseness=0.02) Ci = Connection(Pi, P, 'gi', weight=- 9*mV, sparseness=0.02) M = SpikeMonitor(P) run(1*second) raster_plot(M) show()

My First BRIAN Model First – we set up the model Notice the units! These are important in BRIAN, they help ensure everything you’re modeling makes sense Equations are written as strings, these are executed by the differential equation solver in BRIAN – Unit names/abbreviations are reserved keywords in BRIAN Create our NeuronGroup using this model – Define number of neurons, model used, threshold & reversal potentials Questions: – What is the reversal potential here? – How does this model differ from HH? from brian import * eqs = ''' dv/dt = (ge+gi-(v+49*mV))/(20*ms) : volt dge/dt = -ge/(5*ms) : volt dgi/dt = -gi/(10*ms) : volt ''' P = NeuronGroup(4000, eqs, threshold=- 50*mV, reset=-60*mV) P.v = -60*mV Pe = P.subgroup(3200) Pi = P.subgroup(800) Ce = Connection(Pe, P, 'ge', weight=1.62*mV, sparseness=0.02) Ci = Connection(Pi, P, 'gi', weight=- 9*mV, sparseness=0.02) M = SpikeMonitor(P) run(1*second) raster_plot(M) show()

My First BRIAN Model Initialize the neurons to starting potentials Connect them – Here, constant weight, random connectivity from each subpopulation (excitatory & inhibitory) to all neurons Which state variable to propagate to in “target” neuron: ‘ge’ for excitatory synapses, ‘gi’ for inhibitory from brian import * eqs = ''' dv/dt = (ge+gi-(v+49*mV))/(20*ms) : volt dge/dt = -ge/(5*ms) : volt dgi/dt = -gi/(10*ms) : volt ''' P = NeuronGroup(4000, eqs, threshold=- 50*mV, reset=-60*mV) P.v = -60*mV Pe = P.subgroup(3200) Pi = P.subgroup(800) Ce = Connection(Pe, P, 'ge', weight=1.62*mV, sparseness=0.02) Ci = Connection(Pi, P, 'gi', weight=- 9*mV, sparseness=0.02) M = SpikeMonitor(P) run(1*second) raster_plot(M) show()

My First BRIAN Model Hook up your electrophysiology equipment (here, measure spike times) – Can also record population rate, ISI – search documentation for Monitor – Only this info is saved from the simulation Run the simulation! Plot – Other plotting tools (hist_plot, Autocorrelograms, pylab, etc) from brian import * eqs = ''' dv/dt = (ge+gi-(v+49*mV))/(20*ms) : volt dge/dt = -ge/(5*ms) : volt dgi/dt = -gi/(10*ms) : volt ''' P = NeuronGroup(4000, eqs, threshold=- 50*mV, reset=-60*mV) P.v = -60*mV Pe = P.subgroup(3200) Pi = P.subgroup(800) Ce = Connection(Pe, P, 'ge', weight=1.62*mV, sparseness=0.02) Ci = Connection(Pi, P, 'gi', weight=- 9*mV, sparseness=0.02) M = SpikeMonitor(P) run(1*second) raster_plot(M) show()

My First BRIAN Model from brian import * eqs = ''' dv/dt = (ge+gi-(v+49*mV))/(20*ms) : volt dge/dt = -ge/(5*ms) : volt dgi/dt = -gi/(10*ms) : volt ''' P = NeuronGroup(4000, eqs, threshold=-50*mV, reset=- 60*mV) P.v = -60*mV Pe = P.subgroup(3200) Pi = P.subgroup(800) Ce = Connection(Pe, P, 'ge', weight=1.62*mV, sparseness=0.02) Ci = Connection(Pi, P, 'gi', weight=-9*mV, sparseness=0.02) M = SpikeMonitor(P) R = PopulationRateMonitor(P,.01*second) H = ISIHistogramMonitor(P,bins = [0*ms,5*ms,10*ms,15*ms,20*ms,25*ms,30*ms,35*ms,40*m s]) run(1*second) raster_plot(M) hist_plot(H) plt.figure() plt.plot(R.times,R.rate) plt.xlabel(‘time (s)’) plt.ylabel(‘firing rate (Hz)’) show()

Exercise: Can you make HW 4’s networks in BRIAN? Try with both HH-style and integrate and fire models Use documentation at briansimulator.org for help (especially Connection and Equations) – Hint: search HodgkinHuxley and Library Models Let’s use simplified exponential synapses – Time constant tau = 3 ms for excitatory, 6 ms for inhibitory Feedforward Inhibition Feedback Inhibition

Exercise: Can you make HW 4’s networks in BRIAN? Feedforward Inhibition Feedback Inhibition

Spike timing dependent plasticity

Sets up network of Poisson spiking neurons, all projecting to a single neuron Each synapse implements an STDP rule By end of simulation, synapses become either strong or weak stdp1.py time Firing rate (Hz) Final weight Synapse number Count

stdp2.py Only difference is that we’ve changed how pre-before-post and post-before-pre synapses are weighted (and, in model code, stdp2 uses ExponentialSTDP, to make things easier) time Firing rate (Hz) Final weight Synapse number Count