170 likes | 276 Views
Programming the Khepera rat. Computational Neuroscience NSCI 492 Spring 2008. Course organization. Syllabus at http://www.tulane.edu/~howard/CompNSCI/. Review. Two pathways between cortex and basal ganglia. cortico-basal ganglionic loop. Basal ganglia as an action selection mechanism.
E N D
Programming the Khepera rat Computational Neuroscience NSCI 492 Spring 2008
Course organization • Syllabus at http://www.tulane.edu/~howard/CompNSCI/ Harry Howard, NSCI 492, Tulane University
Two pathways between cortex and basal ganglia cortico-basal ganglionic loop Harry Howard, NSCI 492, Tulane University
Basal ganglia as an action selection mechanism Our analysis of the basal ganglia intrinsic connectivity (Gurney et al., 2001a,b) indicated the presence of two off-centre, on-surround, feed-forward networks. One instantiation: (a) makes use of EP/SNr as its ‘output layer’ and is designated the selection pathway, the second (b) targets GP and is designated the control pathway. The control signals emanating from GP are evident when the two sub-systems are combined to give the overall functional architecture shown in Figure c. Harry Howard, NSCI 492, Tulane University
The robot control architecture Harry Howard, NSCI 492, Tulane University
Matlab files • intrinsic_model_ZOH.m • script that replicates the Simulink version • GPR_engine.m • function that encapsulates multiple versions of the model • ramp_output.m, DA_ramp_output.m • two different forms of the piece-wise linear output function. The latter is a modified form given in (Humphries, 2003) that captures the effects of dopamine on striatal neuron output Harry Howard, NSCI 492, Tulane University
Simulink files • intrinsicBG.mdl • Mpieclin.c, Mpieclin.dll, Mpieclin.mexlx • Mpieclin.c is the piece-wise linear output function, compiled as an S-function (called by the Simulink model) under Windows (.dll) and Linux (.mexlx) Harry Howard, NSCI 492, Tulane University
Five components Harry Howard, NSCI 492, Tulane University
Activation storage • One level of activation for each component = 5 x 1 vector • but since we want to keep track of activations, i.e. plot them over time, this vector could be a matrix with rows for units and columns for time steps • but since each component evaluates 6 channels (competing actions), we ultimately make a 6 x 1 vector for each component a_id • these activations are stored at each time step t in a 6 x t matrix/array of outputs o_id Harry Howard, NSCI 492, Tulane University
Weights • Normally, the point of a neural network simulation is to learn the weights between the components that solve the problem. • This implies a matrix of weights that represent connections between the neurons • Here, there is no learning, so the weights are stipulated as constants W_id. Harry Howard, NSCI 492, Tulane University
Processing • At each time step, loop through every channel for each unit Harry Howard, NSCI 492, Tulane University
MATLAB output graph plot(o_GPi(1,:),'r') plot(o_GPi(2,:),'b') Harry Howard, NSCI 492, Tulane University
Brainwave! The basal ganglia do preemptive multitasking
HumanOS • How to compare the cortico-basal ganglionic loop to the part of an OS that does preemptive multitasking/multitreading? • For instance, do the BG provide a thread life cycle with states like 'ready', 'waiting', 'running', 'blocked', 'dead', etc. ? Harry Howard, NSCI 492, Tulane University
Next time • Develop simulation for Webots Harry Howard, NSCI 492, Tulane University