From: Robert I. <ri...@gm...> - 2008-08-28 16:37:47
|
Hello, I am a newcomer to PCSIM and as exercise I started implementing the simulations from [LegensteinPecevskiMaass2008]. I got stuck when I tried to define the neuron model, let me explain why. The simulations in [LegensteinPecevskiMaass2008] use LIF neurons with conductance based synapses subjected to short term dynamics and DA modulated STDP. My first guess was to use the following built-in types: DARecvCbLifNeuron - for the neurons DAModStdpDynamicCondExpSynapse - for the synapses The neurons also receive Ornstein-Uhlenbeck noise as conductance input, but I could not find a built-in neuron or synapse model that incorporates all the above mentioned processes AND noise as well. My best guess at the moment (after studying the c++ class reference and source code) is that in order to have a OU-noisy DARecvCbLifNeuron I have to extend PCSIM by implementing a class that extends both DARecvCbLifNeuron and OUNoiseGenerator and that implements the virtual method conductanceNoiseInput. Something like: class DARecvCbLifOUNoisyNeuron : public DARecvCbLifNeuron, public OUNoiseGenerator { SIMOBJECT( CbLifNeuron, AdvancePhase::One ) public: ...the constructor taking all the parameters... virtual double conductanceNoiseInput(){ OUNoiseGenerator::advance(); return OUNoiseGenerator::getValue(); } virtual int reset(double dt){ return (OUNoiseGenerator::reset(dt) || DARecvCbLifNeuron::reset(dt)); } virtual int adjust(double dt){ return (OUNoiseGenerator::adjust(dt) || DARecvCbLifNeuron::adjust(dt)); } }//class Is this the correct aproach? Is there a simpler way to add noise to a neuron? References: [1] R. Legenstein, D. Pecevski, and W. Maass.* A learning theory for reward-modulated spike-timing-dependent plasticity with application to biofeedback*. PLoS Computational Biology, 2008. in press. Thank you in advance. Kind regards, Robert. |