Fast population coding (Huys et al. 2007)

 Download zip file 
Help downloading and running models
"Uncertainty coming from the noise in its neurons and the ill-posed nature of many tasks plagues neural computations. Maybe surprisingly, many studies show that the brain manipulates these forms of uncertainty in a probabilistically consistent and normative manner, and there is now a rich theoretical literature on the capabilities of populations of neurons to implement computations in the face of uncertainty. However, one major facet of uncertainty has received comparatively little attention: time. In a dynamic, rapidly changing world, data are only temporarily relevant. Here, we analyze the computational consequences of encoding stimulus trajectories in populations of neurons. ..."
1 . Huys QJ, Zemel RS, Natarajan R, Dayan P (2007) Fast population coding. Neural Comput 19:404-41 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Connectionist Network;
Brain Region(s)/Organism:
Cell Type(s):
Gap Junctions:
Simulation Environment: MATLAB;
Model Concept(s): Methods;
function [vps,mps,weight,ps] = pspred(id,spiketime,predtime,sigma,lambda,tau,rw,s);
% This code is released in conjunction with the paper 
%	Huys QJM, Zemel RS, Natarajan R and Dayan P (2006): Fast population
%	coding Neural Computation
% and can be downloaded from 
% This function is called by GETINF.M. It computes the posterior at times at
% which NO spike was observed.
% Copyright Quentin Huys 2006

timevec = [spiketime predtime];
Tsp = length(timevec);

dt = abs(repmat(timevec',1,Tsp)-repmat(timevec,Tsp,1));
if rw==0; 	C = lambda*exp(-.5*dt.^2/tau^2);
elseif rw==1; 	C = lambda.^dt * tau^2/(1-lambda^(2));

Cll = C(1:end-1,1:end-1);
ClT = C(1:end-1,end);
CTl = C(1:end-1,end)';
CTT = C(end,end);

iC = inv( sigma^2*eye(size(Cll)) + Cll);

vps = 	CTT- CTl*iC*ClT;
weight = CTl*iC;
mps = weight*id';

ps = exp(-.5*(s'-mps).^2/vps -.5*log(2*pi*vps));