{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Final Projects\n", "\n", "- Marks: 40% of final grade\n", "- Due: end of exams\n", "\n", "## Project guidelines\n", "\n", "- There are two main things needed for the project\n", " - build a simulation of a neurobiological system\n", " - evaluate its behaviour\n", "- You will produce a written report on your system (due at the end of exams). This should be 10-20 pages, with lots of diagrams, graphs, and code.\n", "\n", "- To design the system, follow the steps outlined in Chapter 1 of the book:\n", " - 1) *System Description:* Indicate the variable $x$ being represented by each group of neurons, and what function $f(x)$ is being computed by each connection between groups of neurons\n", " - 2) *Design Specification:* List the known neural details for the system. This includes things like maximum firing rates, tuning curves, neuron models, post-synaptic time constants, and so on. This will generally require turning to the literature and finding data on the system you are modelling.\n", " - 3) *Implementation:* Given these constraints, build the model. You can either use the code you have written during the assignments, or you can use Nengo. \n", " \n", "- To evaluate the behaviour of the system, the idea is to vary some aspect of the model and see how that affects its behaviour. To do this, you must\n", " - 1) Define some measurable aspect of the system's behaviour (e.g. accuracy of representation, or number of errors, or speed of response)\n", " - 2) Change an aspect of the model (e.g. number of neurons, or neuron model, or maximum firing rates, or post-synaptic time constants, etc., etc.), and see how that affects the measurement. Note that because there is randomness in the creation of a neuron model, you will generally have to measure a model multiple times." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Project Topics\n", "\n", "- The model you create will either be an extension of one talked about in class (or in the book), or an entirely new model. Students taking the 556 version of the course can do either; students taking the 750 version must do an entirely new model. The difficulty with creating an entirely new model is generally in translating existing neuroscience information into the style of model made in this class." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Examples of extension projects (SYDE 556)\n", "\n", "- Eye Control (Section 8.2): The book describes controlling eye position in one dimension. This can be extended to two dimensions (or even to 3 dimensions, if rotation is included)\n", "- The Vestibular System (Section 6.5): There are different ways of implementing the basic algorithm here, which would result in slightly different predictions. See section 6.5.4 for a discussion of possibilities.\n", "- Working Memory (Section 8.3): Instead of just remembering a point in 2D, this could be extended to higher dimensions or representations that change over time.\n", "- Action Selection ([Stewart, Choo, & Eliasmith, 2010](http://compneuro.uwaterloo.ca/publications/stewart2010.html)): A model of the basal ganglia as used to select between multiple possible actions\n", "- Visuospatial Attention ([Bobier, Stewart, & Eliasmith, 2010](http://compneuro.uwaterloo.ca/publications/bobier2010.html)): How you can attend to different parts of an image without moving your eyes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Examples of research projects (SYDE 556 and SYDE 750)\n", "\n", "- Eye-head-neck coordination (Pieter Medendorp, was at [Doug Crawford's lab](http://www.yorku.ca/jdc/)): Developing a simulation of how visual information is updated for eye and head motion, including how perceptual representations are transformed. Pieter and others have derived a simple set of differential equations to describe this updating. However, they do not have a neural level model of the circuit.\n", "- Spatial information integration ([James Danckert](http://watarts.uwaterloo.ca/~jdancker/)): James' research focusses on parietal control of movement and lesions to these areas (resulting in hemineglect, for instance). Here are some questions he is interested in: How does the right inferior parietal cortex contribute to the spatial control of movements of either limb and how do left and right parietal cortices interact in movement control? Given that superior parietal lesions lead to unilateral motor deficits how do the right inferior and superior parietal regions communicate? Can modeling help disentangle the functional contributions of the superior temporal gyrus and inferior parietal cortex? Where in the brain is prism adaptation having its primary effect?\n", "- Statistical inference: gaussian and non-gaussian estimates (Tennenbaum); implementing empirical bayes net (Karl Friston), modeling non-stationary signals, motor control (Dan Wolpert).\n", "- Avoidance: ([Colin Ellard](http://www.arts.uwaterloo.ca/~cellard/)): Colin's interest deal with prey-predator interactions, especially predator recognition and avoidance. More generally, he is interested in visually-guided navigation (especially neural mechanisms involved in computing time-to-collision).\n", "- Kalman filter: The Kalman filter (as discussed at the end of the book) has been proposed as a means of explaining the function of the hippocampus as well as visual areas. A neurally plausible implementation of this filter could have important consequences for our understanding of visual processing (for instance). Such an implementation has not yet been done (e.g., as model of rat location or as model of visual input)\n", "- Head direction tracking: ([David Reddish](http://www.neurosci.umn.edu/faculty/redish.html)) The head direction system found in the hippocampus has often been modeled as a ring attractor (much like working memory). However, the details of the neural responses in hippocampus reveal more subtle changes in the response functions than a ring attractor allows. David Reddish has a lot of experience modeling this area and these subtleties.\n", "- Symbolic processing: There are good ways to implement symbolic processing using distributed representations. Specifically, tensor product and holographically reduced representations can be used to explain binding, and various logical operations. However, we have only recently implemented this, looking at novel applications would be quite interesting.\n", "- Converting existing \"artificial neural network\" models to realistic biology\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## An Example\n", "\n", "- To give an idea of what the process is like for doing this sort of project, let's consider this paper ([Flexible control of mutual inhibition: a neural model of two-interval discrimination](http://www.sciencemag.org/content/307/5712/1121.long), Science, 2005).\n", "- Task: feel a vibration, remember it, feel another vibration, respond as to which of the two was higher frequency\n", "\n", "\n", "\n", "- Their model:\n", "\n", "\n", "\n", "- Their model's data:\n", "\n", "\n", "\n", "- Our approach:\n", " - System Description: \n", " - Sensory area stores $s$, the current stimulus\n", " - PFC stores $d$, the difference between the two stimuli (before the second stimulus is shown, it just stores the first stimulus)\n", " - Some other area stores $x$, whether we're on the first ($x=1$) or second ($x=-1$) sound \n", " - Connection from Sensory to PFC is $d=s*x$\n", " - Connection from PFC to PFC is the identity function (to store information over time)\n", " - Design Specification:\n", " - All the neural details from the paper (firing rates, distributions of tuning)\n", " - Note that what they call $S^+$ and $S^-$ are just two different encoders\n", "\n", "- They vary noise and see what happens\n", " - more errors when tones are close to each other\n", " - also vary connection weights (decreasing and increasing excitation and inhibition)\n", "- Other things we could do\n", " - how could we deal with tones of different lengths?\n", " - higher dimensional input (frequency and volume), with different questions being asked\n", " - different sensory systems using the same comparison system?\n", "- Now that we've done this translation, this model could be used by someone in the class as an extension project, not a research project\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }