You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As we explored in our regular meeting, we can create learning_rule connections in Nengo to have the weights between ensembles be automatically adjusted:
withnengo.Network() asmodel:
in_node=nengo.Node("spiketrain")
target_node=nengo.Node("target kinematic") # Can also be integrated into in_node as another dim or twoinhib_node=nengo.Node(output=lambdat: t>=training_time)
rep_ens=nengo.Ensemble("neurons1", "dimensions1", "radius1")
out_ens=nengo.Ensemble("neurons2", "dimensions2", "radius2")
err_ens=nengo.Ensemble("neurons3", "dimension2", "radius3")
in_rep_con=nengo.Connection(in_node, rep_ens, "synapse") # Acts as a low-pass for the spike inputrep_out_con=nengo.Connection(rep_ens, out_ens, "(initial) transform", "learning rule type")
out_err_con=nengo.Connection(out_ens, err_ens)
tar_err_con=nengo.Connection(target_node, err_ens, transform=-1)
err_lrn_con=nengo.Connection(err_ens, rep_out_con.learning_rule) # Connects error ensemble value to learning rule -- analogous to how backprop uses error to follow stochastic gradient in traininginhib_lrn_con=nengo.Connection(stop_node, err_ens.neurons, transform=-20*np.ones((err_ens.n_neurons, 1))) # Inhibit error ensemble once training is done to prevent weight changes after training_timep_out=nengo.Probe(out_ens, "synapse")
p_err=nengo.Probe(err_ens, "synapse")
We're interested in seeing how this model performs when trained and tested on our spiking dataset. Since we're dealing with the brain, our ideal output is some form of acceleration signal, though you're welcome to try other kinematic variables as an exploratory alternative. Since we're concerned with performance over time, plotting the error (absolute and squared) over time could be a useful exercise in visualizing where the model struggles.
Similarly, it would be useful to generate visualizations of the MELM model using nengo-gui for a more visual and intuitive way to interpret the underlying architecture.
Happy Braining :)
Jake & Rai
The text was updated successfully, but these errors were encountered:
As we explored in our regular meeting, we can create learning_rule connections in Nengo to have the weights between ensembles be automatically adjusted:
We're interested in seeing how this model performs when trained and tested on our spiking dataset. Since we're dealing with the brain, our ideal output is some form of acceleration signal, though you're welcome to try other kinematic variables as an exploratory alternative. Since we're concerned with performance over time, plotting the error (absolute and squared) over time could be a useful exercise in visualizing where the model struggles.
Similarly, it would be useful to generate visualizations of the MELM model using
nengo-gui
for a more visual and intuitive way to interpret the underlying architecture.Happy Braining :)
The text was updated successfully, but these errors were encountered: