{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SYDE556/750 Assignment 3: Connecting Neurons\n", "\n", "- Due Date: March 6th\n", "- Total marks: 10 (10% of final grade)\n", "- Late penalty: 1 mark per day\n", "\n", "- It is recommended that you Python.\n", "- *Do not use or refer to any code from Nengo*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1) Decoding from a population\n", "\n", "As you did in previous assignments, make a population of 20 LIF neurons representing a 1-dimensional value, and compute a decoder for them. For parameters, $\\tau_{ref}$=0.002s, $\\tau_{RC}$=0.02s, the maximum firing rates are chosen randomly from a uniform distribution between 100 and 200Hz (at the max radius), and the x-intercepts are chosen randomly from a uniform distribution between -2 and 2. Remember that the $\\alpha$ and $J^{bias}$ terms are computed based on these x-intercepts and maximum firing rates.\n", "\n", "It is generally easiest to compute decoders using the original method from Assignment 1, where we use the rate-mode approximation for the neurons to generate the $A$ matrix, then find $\\Gamma=A^T A + \\sigma^2 I$. You can use this approach to find decoders, and these decoders should work even when you simulate the neurons in terms of spikes (in question 2 on). The only difference will be that they will need to be scaled by ``dt``, your simulation time step.\n", "\n", "Use this same method for computing decoders for this whole assignment.\n", "\n", "
\n", "