{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Memory: A Cognitive Modeling Perspective\n", "\n", "From a modelling stand-point, different types of memory are not super well-defined at a psychological level.\n", "\n", "For the purposes of this lecture, we're just going to focus on time-frame:\n", "- Long-term memory *(t > days)*\n", "- Short-term or working memory *(t < a few minutes)*" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "import nengo\n", "import nengo.spa as spa" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Short-Term: Integrators" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Previously showed how integrators could save a scalar." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "dimensions = 3\n", "n_neurons = 50\n", "\n", "feedback = 1.0\n", "feedback_synapse = 0.1\n", "\n", "model = nengo.Network(\"integrator mem\")\n", "with model:\n", " inp = nengo.Node([0, 0, 0])\n", " reset = nengo.Node([0])\n", " state = nengo.networks.EnsembleArray(50, dimensions)\n", " state.add_neuron_input()\n", " \n", " nengo.Connection(inp, state.input)\n", " nengo.Connection(state.output, state.input, transform=feedback, synapse=feedback_synapse)\n", " nengo.Connection(reset, state.neuron_input, transform=-3*np.ones((n_neurons*dimensions, 1)))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "