Skip to content

Commit 710d8b1

Browse files
author
Alexander Ororbia
committed
updated leaky-noise-cell to maintain temporal derivative of state
1 parent 91cd96d commit 710d8b1

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

ngclearn/components/neurons/graded/leakyNoiseCell.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ def __init__(
8989
self.j_input = Compartment(restVals, display_name="Input Stimulus Current", units="mA") # electrical current
9090
self.j_recurrent = Compartment(restVals, display_name="Recurrent Stimulus Current", units="mA") # electrical current
9191
self.x = Compartment(restVals, display_name="Rate Activity", units="mA") # rate activity
92-
self.r = Compartment(restVals, display_name="Rectified Rate Activity") # rectified output
92+
self.r = Compartment(restVals, display_name="(Rectified) Rate Activity") # rectified output
93+
self.r_prime = Compartment(restVals, display_name="Derivative of rate activity")
9394

9495
@compilable
9596
def advance_state(self, t, dt):
@@ -106,12 +107,14 @@ def advance_state(self, t, dt):
106107
_step_fn = _step_fns[self.intgFlag] #_step_fns.get(self.intgFlag, step_euler)
107108
params = (self.j_input.get(), self.j_recurrent.get(), eps, self.tau_x, self.sigma_rec, self.leak_scale)
108109
_, x = _step_fn(0., self.x.get(), _dfz, dt, params) ## update state activation dynamics
109-
r = self.fx(x) ## calculate rectified / post-activation function value(s)
110+
r = self.fx(x) ## calculate (rectified) activity rates; f(x)
111+
r_prime = self.dfx(x) ## calculate local deriv of activity rates; f'(x)
110112

111113
## set compartments to next state values in accordance with dynamics
112114
self.key.set(key)
113115
self.x.set(x)
114116
self.r.set(r)
117+
self.r_prime.set(r_prime)
115118

116119
@compilable
117120
def reset(self):
@@ -123,6 +126,7 @@ def reset(self):
123126
self.j_recurrent.set(restVals)
124127
self.x.set(restVals)
125128
self.r.set(restVals)
129+
self.r_prime.set(restVals)
126130

127131
@classmethod
128132
def help(cls): ## component help function

0 commit comments

Comments
 (0)