Introduction to Neural Coding and Computation
AMATH 342
Instructor |
---|
Eric Shea-Brown |
325 Lewis Hall |
Office hours: Thurs 2-3 |
TA |
---|
Stephen Jonany |
Lewis Hall 115 |
Office hours: Tues 10:30-11:30 |
NOTE: Please bring a laptop to class for interactive work (see computing notes below).
Canvas for HW, quizzes, and discussion board; the rest is below!
Texts
Required text: "Theoretical Neuroscience" by Abbott and Dayan.Optional supplemental text: "An Introductory Course in Computational Neuroscience" by Miller.
Optional additional MATLAB reference: A student's guide to MATLAB for physical modeling. .pdf provided openly by authors Philip Nelson and Tom Dodson.
For those wanting another, sometimes more mathematical reference with all the derivations, Mathematics for Neuroscientists by Gabbiani and Cox is a wonderful place to head.
** See canvas site for HW, quizzes, and discussion board; the rest is here!**
Code
Codes and data for lectures, lab exercises, and HW
Syllabus, supplemental slides, and readings
(1) Neural coding -- response statistics and signal decodingTOPICS:
PROGRAMMING SKILLS:
- Introduction to neurons and spike trains
- Tuning curves
- Introduction to probabilty
- Neural responses and response variability
- Response to high-dimensional stimuli: spike triggered averages and effective filters
- The decoding problem, maximum likelihood and signal detection solutions
- Higher, and hierarchical, signal encoding
- MATLAB overview
- Vectors, Matrices
- Loops and logic
- Random numbers + very basic stats
- Plotting, visualization
READINGS:
(Required) Abbott and Dayan: Ch. 1 (OK to skip parts on autocorrelation) (Optional) Miller: Sections 1.1, 1.2, 1.4.2, 1.4.3, 3.1, 3.3, and remainder of Ch. 3
(2) Models of neuron spiking and feature "selection" and codingCLASS MATERIALS:
Weeks 1-2:
- Slideset 1
- Rough handwritten class notes on probability and the poisson process
- Our MATLAB tutorial. Make sure you can do and understand all exercises in this, as is crucial for rest of class -- refer to Nelson guide (esp. Ch. 1-3, 5.1-5.3) and ASK US!
- Slideset 2.
Week 3-4:
Slideset on visual representations. Slideset on neural decoding and variability. Rough handwritten notes on fano factor, balanced inputs, and maximum likelihood decoding from class. Tutorial notes and practice exercises (not due) on maximum likelihood decoding
- Weeks 5-8
- Circuit models of neurons as differential equations
- Basic numerical schemes for differential equations
- Input filters and feature selection
- Conductance and current based models for neural inputs
- Hodgkin-Huxley and reduced models for neural spiking
- Numerical integration in MATLAB
- Solving single and systems of differential equations
- (Required) Abbott and Dayan: Ch.5
- (Optional) Miller: 1.4.1 and 1.6. 2.1 and 2.2. 4.1, 4.2.1, and 4.2.2
- (Optional) Nelson and Dodson MATLAB guide: Ch. 5.7-5.9
- Supplemental papers from literature: Paper "Computation in a Single Neuron: Hodgkin and Huxley
Revisited," Aguera y Arcas, Fairhall, Bialek, Neural Computation 2003 - Look over these papers, as examples of how ion channel makeup drives single neuron dynamics!
- Prinz et al, 2004
- Gjorgjieva, Drion, Marder, Computational implications of ion channel diversity 2016
PROGRAMMING SKILLS
READINGS
- Weeks 8-9
- Synaptic models
- Short-term synaptic plasticity
- Facilitation, depression, and the Tsodyks-Markram model
- The perceptron and deep(er) neural networks
- Computational vision
- Abbott and Dayan: Ch. 8.1 and 8.2
- Abbott et al, Science, 1997
- Review on Synpatic Computation, 2004
- SLIDES ON synapses and networks
READINGS:
CLASS MATERIALS
(4) Population coding: Modern large-scale recordings from cortex and beyond
- Weeks 9-10
- Introduction to Python
- The Allen Brain Observatory, presented by Dr. Saskia deVries
Course structure and grading
Course grades (80%) are based on several extensive Problem Sets handed out in class and due on select Mondays at 3:30. Turn-in will be electronic (scanned, etc) -- details forthcoming. These Sets will combine programming, analytical work, and scientific reasoning. Additionally, very brief in-class quizzes will account for 20% of the grade (example quiz).Important formatting instructions: in your writeup please present all material for a given problem together -- e.g. under "Problem II" you'd have any and all code that you used for that problem, a written answer, plots that explain and back up your findings and answers, and any analysis. Then we'd go to the next problem. (Not stapling all code for all problems together as an appendix at the end.) You may find the publish(code.m) command in MATLAB helpful. You can print out your codes and plots and intermingle this with handwritten answers and explanations
Late policy: In extenuating circumstances contact instructors.
- Please bring a MATLAB-equpped laptop to class. There is also access to MATLAB at the ICL labs on campus.
-
- download higham_macmillen_python_tutorial.ipynb from the link "Codes and data for lectures and lab exercises" above
- RECOMMENDED: Install python via the anaconda distribution (give this a quick google, and you'll get to a clickable installer for your machine), and run this on your own laptop. This will open a “jupyter” ipython notebook. Work through it, clicking in each cell and then hitting shift-click (or cell —> run from top menu).
- OR the directions below give on way to to run remotely that may still work:
- go to cocalc.com and make a new account
- title the project "python tutorial," hit create project
- click on the project name
- upload higham_macmillen_python_tutorial.ipynb
- click files at the top
- click on higham_macmillen_python_tutorial.ipynb
- This will open a “jupyter” ipython notebook. Choose the python 2 sagemath kernel from the kernel menu. Then work through the notebook, clicking in each cell and then hitting shift-click (or cell —> run from top menu).
We'll use Python later into the class. To aid your transition to Python:
Python tutorial, courtesy of Higham and MacMillen: