Venue: NeurIPS 2022 Conference

Reviews:

final_score: rating: 5: Borderline accept: Technically solid paper where reasons to accept outweigh reasons to reject, e.g., limited evaluation. Please use sparingly.
review_content: summary: This paper presents a method for training a neuro-plausible artificial neural network.  _Stochastic supralinear networks_ (SSNs) have been shown to have favourable parallels to real cortical neural networks and dynamics.  This is in-part owing to the network's flexible parameterization and reduced constraints.  However, this flexibility and lack of constraints leads SSNs to be prone to instability (from recurrent feedback loops) and difficult to train at scale, without (re-)introducing additional constraints.  The authors present a method where the size of the network is grown during training, and is able to reliably reach far larger network sizes and parameter counts than preceding methods.  The method is benchmarked on an existing and new task, and appears to perform favourably.   

strengths_and_weaknesses: # Review Summary

I will preface my review by saying that I am not a domain expert.  While I have a feel for neuro-plausible networks, I am not too familiar with the general architecture or existing work.  

The paper itself is fairly well written, seems to be thoroughly referenced, and there are helpful figures and diagrams that help to take some explanatory burden off of the text.  The work also appears theoretically sound.  The model/architecture itself is clearly and succinctly described.  The description of the method is a little lacking, and the description of the experimental setup and objectives is also a little lacking.  I do think a method like this could be well received, and would definitely have an audience at NeurIPS.  

That said, I am not going to endorse publication at this stage.  The thrust of my criticisms are (1) the foundations of the method, (2) some aspects of the presentation, and (3) the evaluation.


# Major Comments:

### 1.  The Method Itself
The core concept of the method is that it is easier to grow a stable network into a slightly larger stable network, than to outright train a large and stable network.  However, this is essentially a heuristic.  It is not clear to me that this is a robust method for generating a network.  There are two phases to the method:  initialisation and growth.  The initialisation is essentially trial-and-error in the base case of the “induction”.  The growth phase is then hoping to expand the network capacity in such a small step that it remains stable – but it is also a heuristic, that is essentially trial-and-error, in which the chance of “error” is minimised.  It is appealingly simple, but it lacks the rigour for me to be super excited / confident in the methodology.  

There is also little exploration of "hyper parameters"/choices, such as how frequently the network should be grown, further heuristics for which neurons are split, the implications of splitting highly active versus occasionally active neurons etc.  I feel like the method has not been fleshed out enough for me to be confident that it is a general, robust and extensible framework.  

There are also unanswered questions about how the choice of coding and non-coding neurons is made?  Is it 50-50?  Is there are more reasoned way of choosing this?  How are neurons allocated to c/nc during growth?  How is the network initialised in time, and how long is the network run for? 

1.1.  Is it reasonable to expect the latent states of an RNN to reflect samples from a posterior?  I can't quite wrap my head around this, but I think that there should be some kind of decoder that maps the RNN state onto the samples?  Especially for neuro-plausibility, right?  I struggle to see why an SNN is the right architecture / amortised MCMC is the right test for this.  I invite the authors to comment.

1.2.  I also think ~80% of neurons are excitatory.  It would be nice if the SNN reflected that.  

1.3.  I'm not sure how this would work, but it would be nice if there was a method for adding neurons in a better way.  I.e. if the network activity is low, add excitatory, if it is high, add inhibitory.  If a particular neuron is too active, add an inhibitory connection etc.

1.4.  Is the weight matrix dense?  Again, it would be nice if connections were sparse with some target sparsity / L1 regularisation.  


### 2.  Presentation
A major point I am struggling with is the presentation of the method.  I believe the method itself is the idea of starting small and growing the network by adding new neurons.  I don’t fully understand why the presentation is so tied up in the GSM – which I think is just an example of where this could be applied, or indeed, a method for generating targets for supervised learning.  Sampling-based inference is also just an example application.  I feel like the intermingling of application and model/method in the exposition is maybe indicative of them being mingled in the authors minds?  It makes it very difficult for a reader to tease them apart, or indeed, how the authors intended them to be teased apart.  I wish the method was clearly presented in terms of inputs and outputs -- irrespective of how they were generated, their spaces, types, interpretation etc.  

2.1.  Similar to this, but also related to (1) and (3), can you explain how the network actually performs inference, and how this inference is evaluated?  I understand it as the visual stimuli is repeatedly presented to the learned network as in (7).  Each timestep is then treated as a sample of the mean and covariance?  How do you then train this against the single and static values of $\mu_{GSM}$ and $\Sigma_{GSM}$?  How is this inference shown on Figure 2 & 3?  What are the different dots?  How are there different “Target” values?  What is the difference between red, blue and purple?  (And can we use more visually distinct colours please!)  Basically, F2, F3, the experimental task and the results need much more thorough explanation.  

2.2.  I would also like to see an algorithm block or block-diagram of the method?  I think it is an appealing simple method, but a visualisation of this would still be nice.  

2.3.  I also think calling it a “toolbox” is misleading – is at most a “method”, and, at least, a “heuristic”.  

2.4.  If I understand correctly, the GSM is trained ahead of time to generate the supervised targets for learning the SSN?


### 3.  Empirical Evaluation
I find the empirical evaluation difficult to judge.  I am not too familiar with what a “standard” task is in this domain, but the task itself seems fairly abstract.  The performance metrics are also a little obscure and don’t have much explanation or justification.  

3.1.  As suggested in (1), I’d like to see some ablations/variants of the method.  I would also like to see how repeatable the results are across random seeds.  I would like to see some form of quantitative error metric with error bounds to at least indicate how reliable this method is.  How many runs went unstable for each method during training?  

3.2.  I also feel like the range of experimental evaluation is quite limited.  I understand that the network operates slightly differently to, for instance, AlexNet.  That said, i would still like to see how this network/method applied to slightly more “standard” NN tasks.  You certainly don’t need to achieve state of the art, but, if all i can reasonably use this for is MCMC in a particular model, then the scope and impact of the method is limited (which is a shame!).  This should be a method for generating a neural encoding for performing a task (be it classification off of the final value, average value in time, the raw samples etc).  It would also be interesting to see if this network can learn an encoding for time-series tasks. 

3.3.  Unless I have misunderstood something, I feel like saying it is performing amortised MCMC is also a bit of a stretch.  It is essentially doing moment-matching using supervised learning.  


# Minor Comments.

a.  Figure S2 is a cool figure, and I think would add real, concise impetus to the motivation of your method if included in the main.  

b.  Why is the training loss so much higher for the larger network?

c.  Why do you do moment matching in (11)?  I would have thought you’d have done maximum likelihood, given that you can get out the distributions under the GSM.  

d.  How are the Gabor filters computed and applied?  From Figure 1 it looks like there are multiple Gabor filters that are used, but there appears to only be one $A$ matrix.  It isn;t even really clear to me how (2) is used.  Where is $\phi$ used?

e.  I think the introduction can be slashed in length.  There is a lot of information in there that isn’t really relevant – get to the nub of the contribution:  a method for training neuro-plausible SSNs.  I also think Section 6 can be cut to make space.  

f.  I don’t understand the “old stimulus” and “new stimulus” rows of Figure 3.  Can you explain them please? 


# Very Minor / Typographical Comments.
i. Section headers should be in capital case, as opposed to sentence case. 

ii. The abbreviation of excitatory and inhibitory to E and I makes those sentences harder to read.  I wouldn’t use the abbreviation.  

iii. Putting the variable at the end of the square brackets for an expectation is non-standard and makes it harder to read.  They should be placed after the expectation, e.g. $\mathbb{E}_{z} \left[ \cdot \right]$.  

iv. It would be handy if you linked the equations together more.  For instance, explicitly reference the pseudo-inverse in (12) to when it was introduced in (8).  It just helps tie the relevant math together.  

v.  Line 98:  “optimise” -> “optimize”  (you have used US English elsewhere).

vi.  What is the subscript $F$ in the norms?  Frobenius norm?  

vii.  In (12), how do you define the variance of a vector?  You take the variance within the vector?  Or the variance of elements between vectors?  Basically, $\mathbb{V}$ is undefined.

viii.  In (11), $\mathbb{C}$ is normally reserved for the space of complex numbers, as opposed to covariance.  Maybe use $\mathbb{C}\mathrm{ov}$ to be explicit. 


# Summary.
Although my review comes off as quite negative, I do generally like the paper – I just do not think it is ready for publication at this point in time.  That said, if the authors can address my comments, then I would consider upgrading my review.  

I implore the authors to explore theoretically justifying aspects of the method, or, performing further ablations/variations/experimental types to explore the method.  With these enhancements, this could be a very strong conference submission.  

Good work, and good luck.

questions: I raise several questions in my main review.  
limitations: I don’t see any particular unaddressed limitations of the work as presented.  That said, it is ostensibly an empirical study of a design heuristic, and therefore the robustness and scalability is uncertain.
review_title: null

final_score: rating: 7: Accept: Technically solid paper, with high impact on at least one sub-area, or moderate-to-high impact on more than one areas, with good-to-excellent evaluation, resources, reproducibility, and no unaddressed ethical considerations.
review_content: summary: This paper studies stochastic stabilized supralinear networks (SSNs), a firing rate recurrent neural network model of interest in computational neuroscience. The parameters of these models are typically set by hand, at random, or using semi-analytical methods. The current work approaches the problem of learning the parameters of stochastic SSNs, aiming at developing a method that can scale to large numbers of parameters. The authors focus on the problem of learning to do amortized inference for a well-known Bayesian model for vision, by optimizing a moment-matching objective function.
strengths_and_weaknesses: The paper is clear, well written, and pleasing to read. It does a very good job in summarily explaining the current interest in the SSN in neuroscience, and the challenges (and interests) in optimizing it with deep learning techniques.

The one weakness I see in this paper is that it is purposefully written as a somewhat "niche" paper. The problem of learning to do amortized inference on a GSM is both interesting and challenging enough (thus well chosen) for the current paper, but the exclusive focus on it may deter many from reading the paper.

I think it would be possible to write a paper that would be far more reaching within the NeurIPS community and beyond, by abstracting what I understood to be the key challenge here: training recurrent neural networks with the expansive nonlinearity of eq. 10. There has been interest throughout the years in training recurrent neural networks with unbounded nonlinearities (typically rectified linear units, see e.g. the path-SGD paper by Neyshabur et al., 2015. The present paper fits nicely along this line of work, while focusing on the even more challenging case of an expansive nonlinearity. The paper could also discuss more explicitly previous work on neural networks that grow throughout training.

A small section on the easier case of deterministic SNs could be nice too, as one could make direct contact with an exciting line of recent work on so-called deep equilibrium models, which also face stability issues, and see what the current method brings there. It seems to me that some of the techniques investigated in this line of work to remedy instability (see e.g. Bai et al, ICML 2021) could be brought directly to deterministic SNs, and perhaps adapted to stochastic SNs?

There is a small number of typos in the paper. Also, there is no confusion, but perhaps it's better to denote a minimizer by arg min instead of min? I guess the F subscript can be dropped in eq. 16, as the argument of the norm is a vector?
questions: Two things weren't very clear to me:
- Why is the stochastic SSN particularly well-suited to (approximately) sample from a GSM?
- How were the target moments obtained, for the objective function (11)?
limitations: The discussion is sufficient for the paper.
review_title: null

final_score: rating: 5: Borderline accept: Technically solid paper where reasons to accept outweigh reasons to reject, e.g., limited evaluation. Please use sparingly.
review_content: summary: Stabilized supralinear networks (SSN) offer a biologically plausible model of cortical neural circuits, however, previous works have had difficulty training these models in a stable way due to the model's construction. This work focuses on how to effectively train these models using gradient-based techniques and relatively few constraints, specifically in application to the task of using SSNs as a recognition model that performs probabilistic inference under a Gaussian scale mixture (GSM) generative model.  The training method consists of initially starting with a small SSN that is easier to initialize stably, and then gradually building the network up during optimization. An iterative algorithm is used where the randomly initialized network is simulated to check for convergence. If it converges, statistics are collected and used in a differentiable loss function to generate a new set of parameters. After a certain number of iterations, more neurons are carefully added to the network. The procedure repeats until the network is fully built out and the optimization of parameters is complete.

The results of the new method are compared to the existing setup in the previous work [35], and are shown to significantly reduce the cost. The network is also used to perform inference in a GSM optimized for CIFAR-10. 


strengths_and_weaknesses: - Originality: The idea to use the evolutionary approach to gradually build the network up to avoid stability problems appears to be novel for SSNs. The approach of interleaving gradient optimization steps with the evolutionary steps also appears to be original. In addition, this appears to be the first practical method to train SSNs without the constraints previous approaches required. However, the paper would benefit from a more detailed discussion of evolutionary approaches such as this (mentioned briefly in lines 246-248) as well as the previous attempts to train SSNs (mentioned briefly in the introduction) to help the reader understand the literature landscape and the specific contributions of this paper.

- Quality: The general approach and mathematical details appear to be sound. The approach seems to outperform the previous method on the existing task (though see Questions section below for concerns about the explanation of this setup).  The approach was also used for a more challenging task of optimizing the GSM on CIFAR-10 images. However, clarity issues related to the explanation of the comparison for this task currently make the claims of improved performance on this task hard to evaluate (See detailed questions concerning this below).

- Clarity: The paper is generally written well, but various typos in the text and equations do make it less smooth to read at times. See the questions section below for some specific examples, but thorough proofreading would help the presentation. In addition, as mentioned in the Quality section above (and in more detail in the Questions section below), there seem to be important details related to the experiment setup that are missing which makes it confusing and hard to evaluate the empirical claims.

- Significance: The ability to effectively train SSNs at scale could have an important impact on the computational neuroscience community. I think this paper makes a step in that direction. The ideas of incorporating gradient-based optimization along with potential topological changes during training could be of interest to the broader machine learning community.


questions: 1. The paper would benefit from a more thorough explanation of the first experiment in section 4.1 and the "existing setup in [35]" referenced in line 209. What is the training and test data? The training size is 5? What is the biased semi-analytical method used by the previous method? What are the previous method's free parameters?  A few related details are sprinkled throughout the text (lines 80-81, 146-147), however, a consolidated high-level description in Section 4.1 (and perhaps a more detailed description in the appendix) would help the reader better understand the comparison and superiority claims. 

2. Partly related to the point above, I do not understand the evaluation method used for the CIFAR-10 experiment. It seems the previous method was not evaluated on CIFAR-10, and instead some kind of correction is applied? Why was the previous method not just evaluated on CIFAR-10 also? Perhaps it is not feasible to train the previous method on the larger dataset? If the latter is the case, stating that explicitly would be helpful. What should I take away from comparing the different methods with different targets and why is this valid? Is 0.788 vs 1 a significant improvement? These are questions I have that currently make it hard to evaluate the claims related to this experiment. 

3.  I think the point of the overfitting discussion in Section 4.2 is that it is an accomplishment just to be able to train this relatively unconstrained model and get good performance on the training set, and the overfitting can be easily handled with regularization. But why not just directly show this by applying some of the referenced regularization methods? Is there something about the current setup that makes this nontrivial?

4. Generality: The entire paper is geared around training SSNs as a recognition network for a GSM model. A general reader may come away from the paper wondering if this is the only way this method can be used? The answer appears to be no and the authors mention their desire to apply the approach to cognitive tasks as in [16] for future work. But the current organization of the paper makes it unclear how well this method can be adapted to these other problems. I would perhaps recommend presenting the general approach first outside of the context of the recognition network setting, and then show how the probabilistic inference method can be used in the context of the recognition network for the GSM model and any specifics related to that. Ideally, there might also be another experiment, even if simple or synthetic, where this approach is used for a different setup. This is just a suggestion that I think could strengthen the presentation.

Minor points:

- Typos in lines 95-96 ("is neural noise is")  lines 123 ("the some") 
- I think a better explanation of coding vs non-coding neurons in Section 2.3 would help readers less familiar with these models. 
- I would recommend using a different letter than $n$ for the variable in equation 10 and line 126. This same letter $n$ is later used to refer to specific neurons in section 3.3, and this could lead to confusion for the $n=2$ point in lines 181. 
- I think parenthesis are missing in Equation 16? It seems like it should be $\mathbb{E}[u] - (\mathbb{E}[f(h)] + W\mathbb{E}[r])$.




 
limitations: The authors adequately discuss limitations such as concerns around how well this method will scale computationally to larger problems.
review_title: null

Meta-review: metareview: This paper proposes a method for training stochastic stabilized supralinear networks (stochastic SSNs), a theoretical model that has shed light on how circuits of excitatory and inhibitory neurons perform various computations. Compared to RNNs commonly used in machine learning, SSNs are trickier to train since they have unbounded nonlinearities and no gating mechanisms. The authors devise a training scheme that adds neurons one at a time while preserving stability, and they demonstrate how their method can learn networks that perform inference in a commonly-studied Gaussian scale mixture model.

The reviewers improved their scores over the course of the discussion, and with the authors’ revisions the paper should be accepted. The main criticisms were that the audience is somewhat narrow and the method is a bit heuristic. Neither is a "terminal flaw," to use one reviewer's words, but I would encourage the authors to consider ways to improve on these aspects for the final version. 
confidence: Less certain
Decision: Accept