From: Pecevski D. <de...@ig...> - 2008-08-29 06:50:21
|
Robert Ioiart wrote: > 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? Hi Robert, the following code will add the corresponding excitatory and inhibitory parts of the Ornstein-Uhlenbeck Noise in the DARecvCbLifNeuron: net.mount(OUNoiseSynapse(0.012e-6, 0.003e-6, 2.7e-3, 0.0), neuron_id_array) net.mount(OUNoiseSynapse(0.057e-6, 0.0066e-6, 10.5e-3,-75e-3), neuron_id_array) The OUNoiseSynapse if attached/mounted to a neuron injects OU noise in the neuron. cheers! Dejan > |