EIANN.rules.hebbian#

Classes#

Module Contents#

class Ojas_rule(projection, learning_rate=None, forward_only=False)#

Bases: EIANN.rules.base_classes.LearningRule

forward_only = False#
step()#

Perform one step of Oja’s rule weight update.

Updates weights according to Oja’s rule:

\[\Delta w = \eta (y \cdot x - y^2 \cdot w)\]

where the weight decay term \((y^2 \cdot w)\) provides automatic normalization.

class Supervised_BCM_4(projection, theta_tau, k, sign=1, max_pop_fraction=0.025, stochastic=False, learning_rate=None, relu_gate=False)#

Bases: EIANN.rules.base_classes.LearningRule

theta_tau#
k#
sign = 1#
max_pop_fraction = 0.025#
stochastic = False#
relu_gate = False#
reinit()#
update()#
step()#
classmethod backward_update_layer_activity(layer, store_dynamics=False)#

Update somatic state and activity for all populations that receive projections with update_phase in [‘B’, ‘backward’, ‘A’, ‘all’]. :param layer: :param store_dynamics: bool

classmethod backward_update_layer_dendritic_state(layer)#

Update dendritic state for all populations that receive projections that target the dendritic compartment.

classmethod backward(network, output, target, store_history=False, store_dynamics=False)#

Integrate top-down inputs and update dendritic state variables. :param network: :param output: :param target: :param store_history: bool :param store_dynamics: bool

class Hebb_WeightNorm(projection, sign=1, learning_rate=None, forward_only=False)#

Bases: EIANN.rules.base_classes.LearningRule

sign = 1#
forward_only = False#
step()#
class Hebb_WeightNorm_4(projection, sign=1, learning_rate=None, forward_only=False)#

Bases: EIANN.rules.base_classes.LearningRule

sign = 1#
forward_only = False#
step()#
class Hebbian_Temporal_Contrast(projection, max_pop_fraction=1.0, stochastic=False, learning_rate=None, relu_gate=True)#

Bases: EIANN.rules.backprop_like.BP_like_2L

step()#
class Top_Down_Hebbian_Temporal_Contrast_1(projection, learning_rate=None, forward_only=False)#

Bases: EIANN.rules.base_classes.LearningRule

forward_only = False#
step()#
class Top_Down_Hebbian_Temporal_Contrast_3(projection, learning_rate=None)#

Bases: EIANN.rules.base_classes.LearningRule

step()#