pub struct DopamineStdpSynapse {}Expand description
Dopamine-gated STDP: learning rate modulated by global reward signal.
Standard STDP with an eligibility trace gated by dopamine concentration. Weight updates only occur when dopamine is present:
dw/dt = DA(t) · e(t) de/dt = -e/τ_e + STDP(Δt) · δ(t_spike) dDA/dt = -DA/τ_DA + reward(t)
Reference: Izhikevich (2007) “Solving the distal reward problem through linkage of STDP and dopamine signaling”, Cerebral Cortex 17(10).
Fields§
§weight: f64§w_min: f64§w_max: f64§eligibility: f64§dopamine: f64§trace_pre: f64§trace_post: f64§tau_e: f64§tau_da: f64§tau_pre: f64§tau_post: f64§a_plus: f64§a_minus: f64§lr: f64§dt: f64Implementations§
Trait Implementations§
Source§impl Clone for DopamineStdpSynapse
impl Clone for DopamineStdpSynapse
Source§fn clone(&self) -> DopamineStdpSynapse
fn clone(&self) -> DopamineStdpSynapse
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DopamineStdpSynapse
impl RefUnwindSafe for DopamineStdpSynapse
impl Send for DopamineStdpSynapse
impl Sync for DopamineStdpSynapse
impl Unpin for DopamineStdpSynapse
impl UnsafeUnpin for DopamineStdpSynapse
impl UnwindSafe for DopamineStdpSynapse
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more