pub struct BCM {
pub learning_rate: f64,
pub threshold: f64,
pub tau_threshold: f64,
pub w_min: f64,
pub w_max: f64,
/* private fields */
}Expand description
BCM (Bienenstock-Cooper-Munro) plasticity rule.
BCM theory proposes that synaptic modification depends on postsynaptic activity relative to a sliding threshold.
Δw = η * x * (y - θ) * y where x = presynaptic activity, y = postsynaptic activity, θ = threshold
Fields§
§learning_rate: f64Learning rate.
threshold: f64Modification threshold.
tau_threshold: f64Time constant for threshold adaptation (ms).
w_min: f64Minimum weight.
w_max: f64Maximum weight.
Implementations§
Source§impl BCM
impl BCM
Sourcepub fn update(
&mut self,
pre_activity: f64,
post_activity: f64,
current_weight: f64,
dt: f64,
) -> f64
pub fn update( &mut self, pre_activity: f64, post_activity: f64, current_weight: f64, dt: f64, ) -> f64
Update synaptic weight using BCM rule.
§Arguments
pre_activity- Presynaptic activity (firing rate or activation)post_activity- Postsynaptic activitycurrent_weight- Current synaptic weightdt- Time step (ms)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for BCM
impl RefUnwindSafe for BCM
impl Send for BCM
impl Sync for BCM
impl Unpin for BCM
impl UnwindSafe for BCM
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