The effects of neural gain

hello everyone!

recently I came across an interesting article about “neural gain”, which can be understood as an amplifier of neural communication: when gain is increased, excited neurons become even more active and inhibited neurons become even less active.

In nengo, each Ensemble has a certain number of neurons, which have random tuning curves during initialization (if I interpret it correctly - some are inhibitors, others are excitators, depending on the sign of the encoder?).

My goal is to simulate “neural gain” modifications. Will the gain argument serve this purpose? Due to the nengo limitation, I can only manipulate it while also manipulating the bias parameter. How do these two arguments relate to physiological gain?

I did some experiments: with a constant bias value and increasing the gain value, the slope of the curve changes. Can this be interpreted as increasing the neural gain from the article? I am not sure if inhibited neurons become even less active means less steep slope, less max Firing rate (Hz) or narrower range of intracepts… if so, how can i manipulate the gain during simulation in the GUI? is there any way to dynamically change the slope of the curves or a least simulate the same effect?

maybe the solution would be to run separate simulations for different gain values? what values ​​of the gain make physiological sense? at some point I was reaching huge max spike frequency values ​​that probably don’t make sense…

and the last issue: at the time of initialization tuning curves, e.g. for 10 neurons, each of them is different. If I want to modify the gain, I also have to modify the bias: how to enter their values ​​so that the curves are also “random”? doing bias=Choice([1]), gain=Choice([5]) and in the second simulation bias=Choice([1]), gain=Choice([10]) all neurons have identical curves