brainpy.dyn.rates.FeedbackFHN
brainpy.dyn.rates.FeedbackFHN#
- class brainpy.dyn.rates.FeedbackFHN(size, a=0.7, b=0.8, delay=10.0, tau=12.5, mu=1.6886, v0=- 1, x_ou_mean=0.0, x_ou_sigma=0.0, x_ou_tau=5.0, y_ou_mean=0.0, y_ou_sigma=0.0, y_ou_tau=5.0, x_initializer=Uniform(min_val=0, max_val=0.05, seed=None), y_initializer=Uniform(min_val=0, max_val=0.05, seed=None), method='rk4', sde_method=None, name=None, keep_size=False, dt=None)[source]#
FitzHugh-Nagumo model with recurrent neural feedback.
The equation of the feedback FitzHugh-Nagumo model 4 is given by
\[\begin{split}\begin{aligned} \frac{dx}{dt} &= x(t) - \frac{x^3(t)}{3} - y(t) + \mu[x(t-\mathrm{delay}) - x_0] \\ \frac{dy}{dt} &= [x(t) + a - b y(t)] / \tau \end{aligned}\end{split}\]Model Examples
>>> import brainpy as bp >>> fhn = bp.dyn.FeedbackFHN(1, delay=10.) >>> runner = bp.dyn.DSRunner(fhn, inputs=('input', 1.), monitors=['x', 'y']) >>> runner.run(100.) >>> bp.visualize.line_plot(runner.mon.ts, runner.mon.y, legend='y') >>> bp.visualize.line_plot(runner.mon.ts, runner.mon.x, legend='x', show=True)
Model Parameters
Parameter
Init Value
Unit
Explanation
a
1
Positive constant
b
1
Positive constant
tau
12.5
ms
Membrane time constant.
delay
10
ms
Synaptic delay time constant.
V_th
1.8
mV
Threshold potential of spike.
v0
-1
mV
Resting potential.
mu
1.8
The feedback strength. When positive, it is a excitatory feedback; when negative, it is a inhibitory feedback.
- Parameters
x_ou_mean (Parameter) – The noise mean of the \(x\) variable, [mV/ms]
y_ou_mean (Parameter) – The noise mean of the \(y\) variable, [mV/ms].
x_ou_sigma (Parameter) – The noise intensity of the \(x\) variable, [mV/ms/sqrt(ms)].
y_ou_sigma (Parameter) – The noise intensity of the \(y\) variable, [mV/ms/sqrt(ms)].
x_ou_tau (Parameter) – The timescale of the Ornstein-Uhlenbeck noise process of \(x\) variable, [ms].
y_ou_tau (Parameter) – The timescale of the Ornstein-Uhlenbeck noise process of \(y\) variable, [ms].
References
- 4
Plant, Richard E. (1981). A FitzHugh Differential-Difference Equation Modeling Recurrent Neural Feedback. SIAM Journal on Applied Mathematics, 40(1), 150–162. doi:10.1137/0140012
- __init__(size, a=0.7, b=0.8, delay=10.0, tau=12.5, mu=1.6886, v0=- 1, x_ou_mean=0.0, x_ou_sigma=0.0, x_ou_tau=5.0, y_ou_mean=0.0, y_ou_sigma=0.0, y_ou_tau=5.0, x_initializer=Uniform(min_val=0, max_val=0.05, seed=None), y_initializer=Uniform(min_val=0, max_val=0.05, seed=None), method='rk4', sde_method=None, name=None, keep_size=False, dt=None)[source]#
Methods
__init__
(size[, a, b, delay, tau, mu, v0, ...])dx
(x, t, y, x_ext)dy
(y, t, x, y_ext)get_delay_data
(name, delay_step, *indices)Get delay data according to the provided delay steps.
ints
([method])Collect all integrators in this node and the children nodes.
load_states
(filename[, verbose])Load the model states.
nodes
([method, level, include_self])Collect all children nodes.
register_delay
(name, delay_step, delay_target)Register delay variable.
register_implicit_nodes
(nodes)register_implicit_vars
(variables)reset
()Reset function which reset the whole variables in the model.
reset_delay
(name, delay_target)Reset the delay variable.
save_states
(filename[, variables])Save the model states.
train_vars
([method, level, include_self])The shortcut for retrieving all trainable variables.
unique_name
([name, type_])Get the unique name for this object.
update
(t, dt)The function to specify the updating rule.
update_delay
(name, delay_data)Update the delay according to the delay data.
vars
([method, level, include_self])Collect all variables in this node and the children nodes.
Attributes
global_delay_vars
name
steps