Skip to content

Commit

Permalink
Added a section on teaching (from Volker Bormuth) and made edits to t…
Browse files Browse the repository at this point in the history
…he TCA section
  • Loading branch information
ghoshm committed Jul 10, 2024
1 parent b2af37a commit 6708fa4
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 21 deletions.
13 changes: 12 additions & 1 deletion paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -494,4 +494,15 @@ @article{ITT2023
pages = "2112.03740v4",
year = "2023",
DOI = "https://doi.org/10.48550/arXiv.2112.03740"
}
}
@article{Williams2018,
author = {Alex H. Williams and Tony Hyun Kim and Forea Wang and Saurabh Vyas and Stephen I. Ryu and Krishna V. Shenoy and Mark Schnitzer and Tamara G. Kolda and Surya Ganguli},
doi = {10.1016/j.neuron.2018.05.015},
issn = {10974199},
issue = {6},
journal = {Neuron},
title = {Unsupervised Discovery of Demixed, Low-Dimensional Neural Dynamics across Multiple Timescales through Tensor Component Analysis},
volume = {98},
year = {2018},
}
5 changes: 4 additions & 1 deletion paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ downloads:


+++ {"part": "abstract"}
Neuroscientists are increasingly initiating large-scale collaborations which bring together tens to hundreds of researchers. However, while these projects represent a step-change in scale, they retain a traditional structure with centralised funding, participating laboratories and data sharing on publication. Inspired by an open-source project in pure mathematics, we set out to test the feasibility of an alternative structure by running a grassroots, massively collaborative project in computational neuroscience. To do so, we launched a public Git repository, with code for training spiking neural networks to solve a sound localisation task via surrogate gradient descent. We then invited anyone, anywhere to use this code as a springboard for exploring questions of interest to them, and encouraged participants to share their work both asynchronously through Git and synchronously at monthly online workshops. At a scientific level, our work demonstrates how a range of biologically-relevant parameters, from time delays to membrane decays and levels of inhibition, impact sound localisation in networks of leaky-integrate-and-fire units. At a more macro-level, our project brought together 35 researchers from multiple countries, and provided hands-on research experience to early career participants and opportunities for supervision and leadership development to later career participants. Looking ahead, our project provides a glimpse of what open, collaborative science could look like and provides a necessary, tentative step towards it.
Neuroscientists are increasingly initiating large-scale collaborations which bring together tens to hundreds of researchers. However, while these projects represent a step-change in scale, they retain a traditional structure with centralised funding, participating laboratories and data sharing on publication. Inspired by an open-source project in pure mathematics, we set out to test the feasibility of an alternative structure by running a grassroots, massively collaborative project in computational neuroscience. To do so, we launched a public Git repository, with code for training spiking neural networks to solve a sound localisation task via surrogate gradient descent. We then invited anyone, anywhere to use this code as a springboard for exploring questions of interest to them, and encouraged participants to share their work both asynchronously through Git and synchronously at monthly online workshops. At a scientific level, our work demonstrates how a range of biologically-relevant parameters, from time delays to membrane decays and levels of inhibition, impact sound localisation in networks of spiking units. At a more macro-level, our project brought together 35 researchers from multiple countries, provided hands-on research experience to early career participants, and opportunities for supervision and teaching to later career participants. Looking ahead, our project provides a glimpse of what open, collaborative science could look like and provides a necessary, tentative step towards it.
+++

# Introduction
Expand Down Expand Up @@ -155,6 +155,9 @@ In this section, each subsection is the detailed results as written up by the au
```{include} sections/basicmodel/basicmodel.md
```

```{include} sections/TCA/analysis.md
```

```{include} sections/new_inh_model/inhibition_model.md
```

Expand Down
9 changes: 8 additions & 1 deletion paper/sections/TCA/analysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,11 @@ Temporal factors across models

Visualising the mean and standard deviation of temporal factors across models shows a common pattern of activation within the hidden layer neurons. The representation in [](#temporal_av) highlights periods of peak neuronal activity. The shifts in peak timings across different models suggest variability in how these models prioritise processing delays related to inputs. Such differences likely stem from the weights learned by each model, reflecting the phase differences prioritised.

Overall the analysis employing TCA and hierarchical clustering provided insights into the learning dynamics and neuron behaviour of the simple model trained under identical conditions. Our study identified the variability and consistency in neuron activation across different models, showcasing how the architecture can learn identical tasks using different neuronal assemblies. This research highlights the balance between neuron activity and model accuracy, suggesting that optimal learning may be achieved with a moderate number of highly active neurons, balancing robust training performance with effective generalisation. These findings allow for further explorations into model optimisation, adjustments and further analysis of similar spiking models.
Overall the analysis employing TCA and hierarchical clustering provided insights into the learning dynamics and neuron behaviour of the simple model trained under identical conditions. Our study identified the variability and consistency in neuron activation across different models, showcasing how the architecture can learn identical tasks using different neuronal assemblies. This research highlights the balance between neuron activity and model accuracy, suggesting that optimal learning may be achieved with a moderate number of highly active neurons, balancing robust training performance with effective generalisation. These findings allow for further explorations into model optimisation, adjustments and further analysis of similar spiking models.

<!-- ## Analysis of simple model
We focused on exploring the behaviour of neurons across trials and temporal factors across multiple initialisations of the simple model. Analyzing the hidden layer's spiking activity during training using Tensor Component Analysis (TCA) [@Williams2018] revealed a distinct learning phase. A rank-1 decomposition highlighted a progressive amplification of neuronal responses across the entire range of labels. When decomposed to more ranks the trial factors showcased the tuning of the hidden layer for each IPD category. To test the temporal activity of the neurons, the simple model was trained on a standardised data generation process, then repeated ten times and analysed to reveal how consistently the model learned to represent the data. This reveals a highly active period of broad peaks where input neurons are most active.
Hierarchical clustering, through Ward's method [@Ward1963], was applied to sorted and normalised neuron factors, revealing clusters of models with similar neuron activation patterns. This clustering indicated how similarly different models processed the same input data, based on the structural similarities in their learned neuron factors. This in conjunction with the recovered tuning of neural assemblies shows the model learns the same function with different subsets of neurons.
Overall, the TCA and clustering revealed both consistencies and divergences in how different models learned from identical datasets. This insight is important for understanding model behaviour in predicting how variations in initial conditions or training protocols might impact the learning outcomes. The approach adopted here helps in identifying key neurons that drive model behaviour, which could be critical for further tuning and optimisation of the simple model. -->
7 changes: 5 additions & 2 deletions paper/sections/contributor_table.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,13 @@ If you add a contribution, please use one of the following templates (see exampl
* - Peter Crowe (Germany, Undergraduate)
- [\@pfcrowe](https://github.com/pfcrowe)
- Conducted research ([](../research/Optimizing-Membrane-Time-Constant.ipynb)).
* - Umar Abubacar
- [\@UmarAbubacar](https://github.com/UmarAbubacar)
- Conducted research ([](../research/TCA-analysis.ipynb)) and wrote the paper ([](#tca-section)).
* - [Brendan Bicknell]()
- ???
- ???
- Supervised Dilay Fidan Erçelik.
* - [Volker Bormuth](https://www.labojeanperrin.fr/?people40)
- ???
- Supervised Marcus Ghosh & students at Sorbonne University.
- Developed teaching materials and used the project to teach two university courses. Supervised Marcus Ghosh & students at Sorbonne University.
```
6 changes: 2 additions & 4 deletions paper/sections/discussion.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

The decision to start from the code base of the [Cosyne tutorial](https://neural-reckoning.github.io/cosyne-tutorial-2022/) {cite:p}`10.5281/zenodo.7044500` was very helpful. It meant that users had a clear entry path for the project without needing prior expertise, and a code base that was designed to be easy to understand. In addition, the popularity of the tutorial (over 30k views on YouTube at the time of writing) meant that many people heard about this project and were interested in participating. In addition, the GitHub-based infrastructure allowed for asynchronous work and a website that was automatically updated each time anyone made a change to their code or to the text of the paper.

By providing models which used spiking neurons to transform sensory inputs into behavioural outputs, participants were free to explore in virtually any direction they wished, much like an open-world or sandbox video game. Indeed over the course of the project we explored the full sensory-motor transformation from manipulating the nature of the input signals to perturbing unit activity and assessing network behaviour. Consequently, our code forms an excellent basis for teaching, as concepts from across neuroscience can be introduced and then implemented in class. For example, one could introduce how optogenetics can be used to assess the relationship between neural activity and behaviour, and then students can implement and explore this themselves *in silico*. Or similarly, an introduction to different neuron models can be followed by an exercise in which students must code and study how each alters network behaviour. In the longer-term, extending our code and written material to a full introduction to neuroscience course remains an exciting future direction.
By providing models which used spiking neurons to transform sensory inputs into behavioural outputs, participants were free to explore in virtually any direction they wished, much like an open-world or sandbox video game. Indeed over the course of the project we explored the full sensory-motor transformation from manipulating the nature of the input signals to perturbing unit activity and assessing network behaviour. Consequently, our code forms an excellent basis for teaching, as concepts from across neuroscience can be introduced and then implemented in class. In this direction, we integrated our project into two university courses and provide slides and a highly annotated python notebook, for those interested in teaching with these models.

Beyond providing teaching and hands-on research experience, the project also offered many opportunities for participants to improve their "soft" scientific skills. For early career researchers (undergraduate and master's students) these included learning how to work with Git, collaborate with researchers from diverse countries and career stages, and contribute to a scientific publication. For later career researchers (PhD, Postdoc) the project provided many supervision and leadership opportunities. For example, during online workshops, later career participants were encouraged to lead small groups focussed on tackling specific questions.

Expand All @@ -17,6 +17,4 @@ Ultimately, while the project explored many interesting directions, which will f

## Conclusions

This paper does not present a scientific breakthrough. However, it does demonstrate the feasibility of open research projects: which bring together large number of participants across countries and career stages to work together collaboratively on scientific projects.

<!-- This project explored several exciting potential research directions that would be worth exploring in more detail. Indeed, several participants have been motivated to start or to continue working on spiking neural networks and sound localization, and a number of individual follow-up research projects are planned based on this project. Participants agreed that it was a valuable experience, and the organisers feel that it was sufficiently successful that they plan a follow-up project along the lines outlined above. -->
This paper does not present a scientific breakthrough. However, it does demonstrate the feasibility of open research projects: which bring together large number of participants across countries and career stages to work together collaboratively on scientific projects. Moreover, several follow-up research projects are planned based on pilot data from our work, and we plan to launch a second COMOB project soon.
12 changes: 11 additions & 1 deletion paper/sections/meta_science.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,17 @@ Our starting notebook used a combination of NumPy [@harris2020array], Matplotlib
Note that we didn't require participants to use our starting notebook, and indeed in [](#inhib-model), De Santis and Antonietti implemented a very different sound localization model from scratch.

### GitHub
Like many open-source efforts, [our public GitHub repository](https://github.com/comob-project/snn-sound-localization) was the heart of our project. This provided us with three main benefits. First, it made joining the project as simple as cloning and committing to the repository. Second, it allowed us to collaborate asynchronously. That is, we could easily complete work in our own time, and then share it with the group later. Third, it allowed us to track contributions to the project. Measured in this way, 26 individuals contributed to the project. However, interpreting this number is challenging, as these contributions vary significantly in size, and participants who worked in pairs or small groups, often contributed under a single username. We return to this point in the [](#discussion).
Like many open-source efforts, [our public GitHub repository](https://github.com/comob-project/snn-sound-localization) was the heart of our project. This provided us with three main benefits. First, it made joining the project as simple as cloning and committing to the repository. Second, it allowed us to collaborate asynchronously. That is, we could easily complete work in our own time, and then share it with the group later. Third, it allowed us to track contributions to the project. Measured in this way, 28 individuals contributed to the project. However, interpreting this number is challenging, as these contributions vary significantly in size, and participants who worked in pairs or small groups, often contributed under a single username. We return to this point in the [](#discussion).

### Website via MyST Markdown
For those interested in pursuing a similar project our repository can easily be used as a template. It consists of a collection of documents written in Markdown and executable [Jupyter Notebooks](https://jupyter.org/) {cite:p}`Kluyver2016jupyter` containing all the code for the project. Each time the repository is updated, GitHub automatically builds these documents and notebooks into a website so that the current state of the project can be seen by simply navigating to the [project website](https://comob-project.github.io/snn-sound-localization). We used [MyST Markdown](https://mystmd.org/) to automate this process with minimal effort. This paper itself was written using these tools and was publicly visible throughout the project write-up.

(teaching-section)=
## Teaching with this framework
As our code uses spiking neurons to transform sensory inputs into behavioural outputs, it forms an excellent basis for teaching, as concepts from across neuroscience can be introduced and then implemented in class. With this in mind we integrated our project into physics M1 and M2 undergraduate lectures on biophysics and neural circuits. Working individually or in pairs, students actively engaged by adjusting network parameters and modifying the provided code to test their own hypotheses. Later, brief progress report presentations stimulated dynamic discussions in class, as all students, while working on the same project and code, pursued different hypotheses. This setup naturally piqued interest in their peers’ presentations, enhanced their understanding of various project applications, and facilitated collaborative learning.

The project’s stochastic outcomes necessitated substantial statistical analysis, adding an experimental dimension that made the project outcome less deterministic and, thus, more engaging than standard step-wise exercises. However, the project does not demand complex programming nor deep mathematical understandings of neural networks, and so allows practical exploration of neural network applications appropriate for various student levels. This adaptability allowed students of varying skill levels to progress at their own pace. Moreover, the open-ended nature of the project allowed the use of generative AI tools, enabling students to overcome coding challenges and deepen their understanding of the provided code and underlying machine learning concepts, thereby enhancing their learning curve and engagement.

Working on a real research project not only sustained interest and demonstrated real-world impact but also provided additional inspiration through the accessible contributions of all project participants. This educational initiative thus successfully bridged the gap between teaching and research, with student feedback highlighting its effectiveness in enhancing both theoretical and practical knowledge. The desire for more time to delve deeper into the projects indicated its strength in engaging students and sparking their interest.

In sum, this framework's multidisciplinary nature makes it versatile in various teaching contexts, and suited to discussing both machine learning concepts and open challenges in neuroscience, such as how to decipher brain circuits with recording tools and experimental manipulations like optogenetics. For those interested in teaching with this framework, we have provided slides and a highly annotated introductory Python notebook [here]().
Loading

0 comments on commit 6708fa4

Please sign in to comment.