<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Polychronous-Groups | Laurent Perrinet</title><link>https://laurentperrinet.github.io/tag/polychronous-groups/</link><atom:link href="https://laurentperrinet.github.io/tag/polychronous-groups/index.xml" rel="self" type="application/rss+xml"/><description>Polychronous-Groups</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en</language><copyright>This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License Please note that multiple distribution, publication or commercial usage of copyrighted papers included in this website would require submission of a permission request addressed to the journal in which the paper appeared.</copyright><lastBuildDate>Thu, 16 Apr 2026 14:00:00 +0000</lastBuildDate><image><url>https://laurentperrinet.github.io/media/icon_hu_f2990a9a83ba401.png</url><title>Polychronous-Groups</title><link>https://laurentperrinet.github.io/tag/polychronous-groups/</link></image><item><title>Working Memory in SNNs</title><link>https://laurentperrinet.github.io/slides/2026-04-16-cerco/</link><pubDate>Thu, 16 Apr 2026 14:00:00 +0000</pubDate><guid>https://laurentperrinet.github.io/slides/2026-04-16-cerco/</guid><description>&lt;section&gt;
&lt;!-- no-branding --&gt;
&lt;h1 id="learning-working-memory-in-recurrent-spiking-neural-networks-using-heterogeneous-delays"&gt;&lt;a href="https://laurentperrinet.github.io/slides/2026-04-16-cerco/?transition=fade" target="_blank" rel="noopener"&gt;Learning Working Memory in Recurrent Spiking Neural Networks Using Heterogeneous Delays&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="laurent-perrinet"&gt;&lt;em&gt;&lt;a href="https://laurentperrinet.github.io/talk/2026-04-16-cerco/" target="_blank" rel="noopener"&gt;Laurent Perrinet&lt;/a&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;h3 id="cerco-seminar"&gt;&lt;u&gt;&lt;a href="https://cerco.cnrs.fr" target="_blank" rel="noopener"&gt;Cerco seminar&lt;/a&gt;&lt;/u&gt;&lt;/h3&gt;
&lt;h3 id="2026-04-16"&gt;[2026-04-16]&lt;/h3&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/perrinet_curriculum-vitae.tex/raw/master/logotypes/troislogos.jpg" alt="logo" loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Contact me @ &lt;a href="mailto:laurent.perrinet@univ-amu.fr"&gt;laurent.perrinet@univ-amu.fr&lt;/a&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;&lt;em&gt;Hello&lt;/em&gt;, I&amp;rsquo;m Laurent Perrinet from the Institut des Neurosciences de la Timone, a joint AMU / CNRS unit, and during this talk at the CerCO, I will be speaking about working memory, that is storing patterns with duration of the order of seconds, in spiking neural networks. This is a hard problem as spiking neurons have a limited memory of the order of tens of milliseconds. How can one extend this memory to larger durations? Here, I will be presenting a method for building &lt;em&gt;WM in Spiking Neural Networks by using Heterogeneous Delays&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d like to &lt;em&gt;thank&lt;/em&gt; Antoine for the invitation and you for listening.
These slides are available from my web-site, along with a number of references. The &lt;em&gt;outline&lt;/em&gt; of the talk is as follows: first, I&amp;rsquo;ll describe how one may perform computations using Heterogeneous Delays - and present a toy model example; then, I&amp;rsquo;ll show real scale example quantifying the performance on synthetic data.&lt;/p&gt;
&lt;/aside&gt;
&lt;/section&gt;
&lt;hr&gt;
&lt;section&gt;
&lt;h2 id="spiking-neural-networks-leaky-integrate-and-fire"&gt;Spiking Neural Networks: Leaky Integrate-and-Fire&lt;/h2&gt;
&lt;figure id="figure-grimaldi-et-al-2023-precise-spiking-motifshttpslaurentperrinetgithubiopublicationgrimaldi-22-polychronies"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/SpikeAI/2022_polychronies-review/raw/main/figures/LIF.gif" alt="[Grimaldi *et al*, 2023, [Precise Spiking Motifs](https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/)]" loading="lazy" data-zoomable width="80%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
[Grimaldi &lt;em&gt;et al&lt;/em&gt;, 2023, &lt;a href="https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/" target="_blank" rel="noopener"&gt;Precise Spiking Motifs&lt;/a&gt;]
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;&lt;strong&gt;2 MINUTE&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A standard LIF&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-networks-neurobiology"&gt;Spiking Neural Networks: neurobiology&lt;/h2&gt;
&lt;figure id="figure-mainen--sejnowski-1995httpsgithubcomspikeai2022_polychronies-reviewblobmainsrcfigure_2_mainensejnowski1995ipynb"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://i.sstatic.net/ixnrz.png" alt="[[Mainen &amp; Sejnowski, 1995](https://github.com/SpikeAI/2022_polychronies-review/blob/main/src/Figure_2_MainenSejnowski1995.ipynb)]" loading="lazy" data-zoomable width="80%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
[&lt;a href="https://github.com/SpikeAI/2022_polychronies-review/blob/main/src/Figure_2_MainenSejnowski1995.ipynb" target="_blank" rel="noopener"&gt;Mainen &amp;amp; Sejnowski, 1995&lt;/a&gt;]
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;&lt;strong&gt;2 MINUTE&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reproduucibility&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-networks-neurobiology-1"&gt;Spiking Neural Networks: neurobiology&lt;/h2&gt;
&lt;figure id="figure-mainen--sejnowski-1995httpsgithubcomspikeai2022_polychronies-reviewblobmainsrcfigure_2_mainensejnowski1995ipynb"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/SpikeAI/2022_polychronies-review/raw/main/figures/replicating_MainenSejnowski1995.png" alt="[[Mainen &amp; Sejnowski, 1995](https://github.com/SpikeAI/2022_polychronies-review/blob/main/src/Figure_2_MainenSejnowski1995.ipynb)]" loading="lazy" data-zoomable width="99%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
[&lt;a href="https://github.com/SpikeAI/2022_polychronies-review/blob/main/src/Figure_2_MainenSejnowski1995.ipynb" target="_blank" rel="noopener"&gt;Mainen &amp;amp; Sejnowski, 1995&lt;/a&gt;]
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;&lt;strong&gt;2 MINUTE&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reproducibility&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-networks-neurobiology-2"&gt;Spiking Neural Networks: neurobiology&lt;/h2&gt;
&lt;figure id="figure-diesmann-et-al-1999httpsgithubcomspikeai2022_polychronies-reviewblobmainsrcfigure_3_diesmann_et_al_1999py"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/SpikeAI/2022_polychronies-review/raw/main/figures/Diesmann_et_al_1999.png" alt="[[Diesmann et al. 1999](https://github.com/SpikeAI/2022_polychronies-review/blob/main/src/Figure_3_Diesmann_et_al_1999.py)]" loading="lazy" data-zoomable width="99%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
[&lt;a href="https://github.com/SpikeAI/2022_polychronies-review/blob/main/src/Figure_3_Diesmann_et_al_1999.py" target="_blank" rel="noopener"&gt;Diesmann et al. 1999&lt;/a&gt;]
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;&lt;strong&gt;2 MINUTE&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;This hypothesis is reviewed with respect to our knowledge of the neurobiology, for instance in the hippocampus of rodents. We also review&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-networks-neurobiology-3"&gt;Spiking Neural Networks: neurobiology&lt;/h2&gt;
&lt;figure id="figure-haimerl-et-al-2019httpslaurentperrinetgithubiopublicationgrimaldi-22-polychronies"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/SpikeAI/2022_polychronies-review/raw/main/figures/haimerl2019.jpg" alt="[[Haimerl et al, 2019](https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/)]" loading="lazy" data-zoomable width="99%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
[&lt;a href="https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/" target="_blank" rel="noopener"&gt;Haimerl et al, 2019&lt;/a&gt;]
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;&lt;strong&gt;2 MINUTE&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Izhikevich polychronization&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;yet the domain is vast, and there s lot to do in SNNs&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-networks-leaky-integrate-and-fire-1"&gt;Spiking Neural Networks: Leaky Integrate-and-Fire&lt;/h2&gt;
&lt;figure id="figure-review-on-precise-spiking-motifshttpslaurentperrinetgithubiopublicationgrimaldi-22-polychronies"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/SpikeAI/2022_polychronies-review/raw/main/figures/LIF.gif" alt="Review on [Precise Spiking Motifs](https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/)." loading="lazy" data-zoomable width="80%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
Review on &lt;a href="https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/" target="_blank" rel="noopener"&gt;Precise Spiking Motifs&lt;/a&gt;.
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;&lt;strong&gt;2 MINUTE&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A standard LIF&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-networks-heterogeneous-delays"&gt;Spiking Neural Networks: Heterogeneous Delays&lt;/h2&gt;
&lt;figure id="figure-review-on-precise-spiking-motifshttpslaurentperrinetgithubiopublicationgrimaldi-22-polychronies"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/SpikeAI/2022_polychronies-review/raw/main/figures/HSD.gif" alt="Review on [Precise Spiking Motifs](https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/)." loading="lazy" data-zoomable width="80%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
Review on &lt;a href="https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/" target="_blank" rel="noopener"&gt;Precise Spiking Motifs&lt;/a&gt;.
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;&lt;strong&gt;2 MINUTE&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A nice HSD neuron&lt;/li&gt;
&lt;/ul&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="heterogeneous-delays-spiking-neural-network-hd-snn"&gt;Heterogeneous Delays Spiking Neural Network: HD-SNN&lt;/h2&gt;
&lt;video autoplay loop &gt;
&lt;source src="https://laurentperrinet.github.io/publication/grimaldi-23-bc/FastMotionDetection_input.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;aside class="notes"&gt;
&lt;strong&gt;2 MINUTE&lt;/strong&gt;
We used this theoretical principle in an algorithm for detecting movement in an image. To do this, we first generated event data using natural images that are set in motion along trajectories that resemble those produced by free exploration of the visual scene. You&amp;rsquo;ll notice several features of the event-driven output, such as the fact that faster motion generates more spikes, or that edges oriented parallel to one direction produce few changes, and therefore little spike output - the so-called aperture problem.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-network-polychronization"&gt;Spiking Neural Network: Polychronization&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich_left.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
The core idea of the method follows the use of polychronous groups as defined by Izhikevich in 2006. Suppose three presynaptic neurons are connected to two postsynaptic neurons by certains weights and certain delays, which correspond to the time it takes for a spike to travel from one neuron to the next.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-network-polychronization-1"&gt;Spiking Neural Network: Polychronization&lt;/h2&gt;
&lt;figure id="figure-izhikevich-2006httpsdoiorg101162089976606775093882"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich_middle.svg" alt="[Izhikevich (2006)](https://doi.org/10.1162/089976606775093882)" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
&lt;a href="https://doi.org/10.1162/089976606775093882" target="_blank" rel="noopener"&gt;Izhikevich (2006)&lt;/a&gt;
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
If we assume these delays are different, then if presynaptic neurons are activated synchronously, then postsynaptic currents do not match in time, such that the membrane potential is not reached.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-network-polychronization-2"&gt;Spiking Neural Network: Polychronization&lt;/h2&gt;
&lt;figure id="figure-izhikevich-2006httpsdoiorg101162089976606775093882"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich.svg" alt="[Izhikevich (2006)](https://doi.org/10.1162/089976606775093882)" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
&lt;a href="https://doi.org/10.1162/089976606775093882" target="_blank" rel="noopener"&gt;Izhikevich (2006)&lt;/a&gt;
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
However, if the timing of presynaptic spikes forms a &lt;em&gt;spiking motif&lt;/em&gt; such that they reach the soma of neuron b_1 at the same time then this neuron will be selectively activated.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="spiking-neural-network-polychronization-3"&gt;Spiking Neural Network: Polychronization&lt;/h2&gt;
&lt;figure id="figure-lp-2026httpsarxivorgabs260414096"&gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/izhikevich_rec.svg" alt="[LP (2026)](https://arxiv.org/abs/2604.14096)" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;figcaption&gt;
&lt;a href="https://arxiv.org/abs/2604.14096" target="_blank" rel="noopener"&gt;LP (2026)&lt;/a&gt;
&lt;/figcaption&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;Following on this idea - and similar to the original network from Izhikevich - one may build such a process in a recurrent network. Synapses are defined similarly, but act of the same population, not a separate one.&lt;/p&gt;
&lt;p&gt;Given this architecture, and deviating now from Izhikevitch, we may wish to define motifs such that given one context window (green shaded area), it predicts the occurrence of the spikes at the next time step. This allows to create a new context and a new prediction, such that we may build&lt;/p&gt;
&lt;/aside&gt;
&lt;/section&gt;
&lt;hr&gt;
&lt;section&gt;
&lt;h2 id="methods--bptt-snn-torch---synthetic-target"&gt;Methods : BPTT (snn Torch) - synthetic target&lt;/h2&gt;
&lt;div class="r-hstack"&gt;
&lt;div style="flex: 1; padding-right: 1rem;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/unrolled.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="flex: 1; padding-left: 1rem;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/pattern.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;We build an implementation of the network using snnTorch - and the delays add just another level of propagation in the unrolled computational graph - here represented by the delay line on the bottom. implementing a 512 neurons network with 41 delays and 8 different patterns&lt;/p&gt;
&lt;p&gt;we define the task as repeating &lt;em&gt;exactly&lt;/em&gt; all spikes from a randomly drawn target with firing probability 1 spike per second. the loss will be the F1-score, that is the harmonic mean between recall and precision. using a fastsigmoid surrogate gradient approximation, the networks learns the target in approximately 10 minutes on a laptop&lt;/p&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="methods--weight-initialization"&gt;Methods : Weight initialization&lt;/h2&gt;
&lt;span class="fragment " &gt;
$$ I_j(t) = \sum_{i=1}^{N} \bigl ( \sum_{d=1}^{D} \mathbf{W}_{j, i, d} \cdot s_i(t-d) \bigr ) $$
$$ u_j(t) = \beta \cdot u_j(t-1) \cdot (1 - s_j(t-1)) + I_j(t) $$
$$ s_j(t) = \mathbf{H}[u_j(t) \geq \vartheta] $$
&lt;/span&gt;
&lt;span class="fragment " &gt;
$$ \mathbf{W} \mathbf{C} \approx \mathbf{S} $$
&lt;/span&gt;
&lt;span class="fragment " &gt;
$$ w_{j, i, d} = \frac{1}{N \cdot D \cdot p_A \cdot M} \sum_{\mu=1}^{M} \sum_{t=D+1}^{T} s_{j}^{\mu}(t) \cdot s_i^{\mu}(t-d) $$
&lt;/span&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;However, convergence is quite slow, in particular because some places in the weight space may correspond to non-linear (dead or epileptic) regimes.&lt;/p&gt;
&lt;p&gt;one may however use a weight initiaialization. indeed each prediction can be seen as a linear prediction of the next time step, and one may concatenate alla theses equations together and then invert it to get the weight using a moore penrose pseudo inverse.&lt;/p&gt;
&lt;p&gt;note that since - hence the reason why hebbian-like learning may incidentally work for training such type of networks&lt;/p&gt;
&lt;/aside&gt;
&lt;!--
---
## Results : recall of target with weight intialization
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/target.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt; --&gt;
&lt;/section&gt;
&lt;hr&gt;
&lt;section&gt;
&lt;h2 id="results--recall-of-target"&gt;Results : recall of target&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/pattern.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--recall-of-target-1"&gt;Results : recall of target&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/target.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--memory-retrieval"&gt;Results : memory retrieval&lt;/h2&gt;
&lt;video controls &gt;
&lt;source src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/retrieval.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;aside class="notes"&gt;
As a conclusion, this heterogenous delay spiking neural network provides an efficient model of working memory. We show here
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--memory-retrieval-1"&gt;Results : memory retrieval&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/retrieval.svg" alt="" loading="lazy" data-zoomable width="80%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
As a conclusion, this heterogenous delay spiking neural network provides an efficient model of working memory. We show here
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--recall-of-target-with-noise"&gt;Results : recall of target with noise&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/fraction_target_init.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--recall-of-target-with-noise-1"&gt;Results : recall of target with noise&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/fraction_target.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--recall-of-target-with-noise-2"&gt;Results : recall of target with noise&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/fraction_target_score.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--recall-of-target-with-noise-3"&gt;Results : recall of target with noise&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/p_flip_target_init.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--recall-of-target-with-noise-4"&gt;Results : recall of target with noise&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/p_flip_target.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--recall-of-target-with-noise-5"&gt;Results : recall of target with noise&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/p_flip_score.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--role-of-parameters"&gt;Results : role of parameters&lt;/h2&gt;
&lt;div class="r-hstack" style="gap: 0.1rem;"&gt;
&lt;div style="flex: 1; margin: 0;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/MNESIS_N_SM.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="flex: 1; margin: 0;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/MNESIS_N_time.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="flex: 1; margin: 0;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/4bdeec0834c2bee1edf2ede1aaa8ab6829ca3457/figures/MNESIS_num_delay.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/section&gt;
&lt;hr&gt;
&lt;section&gt;
&lt;!-- no-branding --&gt;
&lt;h1 id="learning-working-memory-in-recurrent-spiking-neural-networks-using-heterogeneous-delays-1"&gt;&lt;a href="https://laurentperrinet.github.io/slides/2026-04-16-cerco/?transition=fade" target="_blank" rel="noopener"&gt;Learning Working Memory in Recurrent Spiking Neural Networks Using Heterogeneous Delays&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="laurent-perrinet-1"&gt;&lt;em&gt;&lt;a href="https://laurentperrinet.github.io/talk/2026-04-16-cerco/" target="_blank" rel="noopener"&gt;Laurent Perrinet&lt;/a&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;h3 id="cerco-seminar-1"&gt;&lt;u&gt;&lt;a href="https://cerco.cnrs.fr" target="_blank" rel="noopener"&gt;Cerco seminar&lt;/a&gt;&lt;/u&gt;&lt;/h3&gt;
&lt;h3 id="2026-04-16-1"&gt;[2026-04-16]&lt;/h3&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/perrinet_curriculum-vitae.tex/raw/master/logotypes/troislogos.jpg" alt="logo" loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Contact me @ &lt;a href="mailto:laurent.perrinet@univ-amu.fr"&gt;laurent.perrinet@univ-amu.fr&lt;/a&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
Thanks for your attention.
&lt;/aside&gt;
&lt;/section&gt;</description></item><item><title>Working Memory in SNNs</title><link>https://laurentperrinet.github.io/slides/2026-04-15-airov/</link><pubDate>Wed, 15 Apr 2026 09:00:00 +0000</pubDate><guid>https://laurentperrinet.github.io/slides/2026-04-15-airov/</guid><description>&lt;section&gt;
&lt;!-- no-branding --&gt;
&lt;h1 id="learning-working-memory-in-recurrent-spiking-neural-networks-using-heterogeneous-delays"&gt;&lt;a href="https://laurentperrinet.github.io/slides/2026-04-15-airov/?transition=fade" target="_blank" rel="noopener"&gt;Learning Working Memory in Recurrent Spiking Neural Networks Using Heterogeneous Delays&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="laurent-perrinet"&gt;&lt;em&gt;&lt;a href="https://laurentperrinet.github.io/talk/2026-04-15-airov/" target="_blank" rel="noopener"&gt;Laurent Perrinet&lt;/a&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;h3 id="austrian-symposium-on-ai-robotics-and-vision"&gt;&lt;u&gt;&lt;a href="https://airov.at/2026/index.html" target="_blank" rel="noopener"&gt;Austrian Symposium on AI, Robotics and Vision&lt;/a&gt;&lt;/u&gt;&lt;/h3&gt;
&lt;h3 id="2026-04-15"&gt;[2026-04-15]&lt;/h3&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/perrinet_curriculum-vitae.tex/raw/master/logotypes/troislogos.jpg" alt="logo" loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Contact me @ &lt;a href="mailto:laurent.perrinet@univ-amu.fr"&gt;laurent.perrinet@univ-amu.fr&lt;/a&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;&lt;em&gt;Hello&lt;/em&gt;, I&amp;rsquo;m Laurent Perrinet from the Institut des Neurosciences de la Timone, a joint AMU / CNRS unit, and during this talk at this AIROV workshop on Recent Advances in SNNs, I will be speaking about working memory, that is storing patterns with duration of the order of seconds, in spiking neural networks. This is a hard problem as spiking neurons have a limited memory of the order of tens of milliseconds. How can one extend this memory to larger durations? Here, I will be presenting a method for building &lt;em&gt;WM in Spiking Neural Networks by using Heterogeneous Delays&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d like to &lt;em&gt;thank&lt;/em&gt; Sander Bohté and Sebastian Otte for the organization of this workshop and you for listening.
These slides are available from my web-site, along with a number of references. The &lt;em&gt;outline&lt;/em&gt; of the talk is as follows: first, I&amp;rsquo;ll describe how one may perform computations using Heterogeneous Delays - and present a toy model example; then, I&amp;rsquo;ll show real scale example quantifying the performance on synthetic data.&lt;/p&gt;
&lt;/aside&gt;
&lt;/section&gt;
&lt;hr&gt;
&lt;section&gt;
&lt;h2 id="polychronization"&gt;Polychronization&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich_left.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
The core idea of the method follows the use of polychronous groups as defined by Izhikevich in 2006. Suppose three presynaptic neurons are connected to two postsynaptic neurons by certains weights and certain delays, which correspond to the time it takes for a spike to travel from one neuron to the next.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="polychronization-1"&gt;Polychronization&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich_middle.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
If we assume these delays are different, then if presynaptic neurons are activated synchronously, then postsynaptic currents do not match in time, such that the membrane potential is not reached.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="polychronization-2"&gt;Polychronization&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
However, if the timing of presynaptic spikes forms a &lt;em&gt;spiking motif&lt;/em&gt; such that they reach the soma of neuron b_1 at the same time then this neuron will be selectively activated.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="polychronization-3"&gt;Polychronization&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/2e5448655fb5cd8714ed9b7f1dfa05bc3f13f682/figures/izhikevich_rec.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;Following on this idea - and similar to the original network from Izhikevich - one may build such a process in a recurrent network. Synapses are defined similarly, but act of the same population, not a separate one.&lt;/p&gt;
&lt;p&gt;Given this architecture, and deviating now from Izhikevitch, we may wish to define motifs such that given one context window (green shaded area), it predicts the occurrence of the spikes at the next time step. This allows to create a new context and a new prediction, such that we may build&lt;/p&gt;
&lt;/aside&gt;
&lt;/section&gt;
&lt;hr&gt;
&lt;section&gt;
&lt;h2 id="methods--bptt-snn-torch---synthetic-target"&gt;Methods : BPTT (snn Torch) - synthetic target&lt;/h2&gt;
&lt;div class="r-hstack"&gt;
&lt;div style="flex: 1; padding-right: 1rem;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/2e5448655fb5cd8714ed9b7f1dfa05bc3f13f682/figures/unrolled.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="flex: 1; padding-left: 1rem;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/2e5448655fb5cd8714ed9b7f1dfa05bc3f13f682/figures/pattern.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;We build an implementation of the network using snnTorch - and the delays add just another level of propagation in the unrolled computational graph - here represented by the delay line on the bottom. implementing a 512 neurons network with 41 delays and 8 different patterns&lt;/p&gt;
&lt;p&gt;we define the task as repeating &lt;em&gt;exactly&lt;/em&gt; all spikes from a randomly drawn target with firing probability 1 spike per second. the loss will be the F1-score, that is the harmonic mean between recall and precision. using a fastsigmoid surrogate gradient approximation, the networks learns the target in approximately 10 minutes on a laptop&lt;/p&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="methods--weight-initialization"&gt;Methods : Weight initialization&lt;/h2&gt;
&lt;span class="fragment " &gt;
$$ I_j(t) = \sum_{i=1}^{N} \bigl ( \sum_{d=1}^{D} \mathbf{W}_{j, i, d} \cdot s_i(t-d) \bigr ) $$
$$ u_j(t) = \beta \cdot u_j(t-1) \cdot (1 - s_j(t-1)) + I_j(t) $$
$$ s_j(t) = \mathbf{H}[u_j(t) \geq \vartheta] $$
&lt;/span&gt;
&lt;span class="fragment " &gt;
$$ \mathbf{W} \mathbf{C} \approx \mathbf{S} $$
&lt;/span&gt;
&lt;span class="fragment " &gt;
$$ w_{j, i, d} = \frac{1}{N \cdot D \cdot p_A \cdot M} \sum_{\mu=1}^{M} \sum_{t=D+1}^{T} s_{j}^{\mu}(t) \cdot s_i^{\mu}(t-d) $$
&lt;/span&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;However, convergence is quite slow, in particular because some places in the weight space may correspond to non-linear (dead or epileptic) regimes.&lt;/p&gt;
&lt;p&gt;one may however use a weight initiaialization. indeed each prediction can be seen as a linear prediction of the next time step, and one may concatenate alla theses equations together and then invert it to get the weight using a moore penrose pseudo inverse.&lt;/p&gt;
&lt;p&gt;note that since - hence the reason why hebbian-like learning may incidentally work for training such type of networks&lt;/p&gt;
&lt;/aside&gt;
&lt;/section&gt;
&lt;hr&gt;
&lt;section&gt;
&lt;h2 id="results--recall-of-target"&gt;Results : recall of target&lt;/h2&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/2e5448655fb5cd8714ed9b7f1dfa05bc3f13f682/figures/target.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--role-of-parameters"&gt;Results : role of parameters&lt;/h2&gt;
&lt;div class="r-hstack"&gt;
&lt;div style="flex: 1; padding-right: 1rem;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/2e5448655fb5cd8714ed9b7f1dfa05bc3f13f682/figures/MNESIS_N_SM.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="flex: 1; padding-left: 1rem;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/2e5448655fb5cd8714ed9b7f1dfa05bc3f13f682/figures/MNESIS_N_time.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;div style="flex: 1; padding-left: 1rem;"&gt;
&lt;span class="fragment " &gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/2e5448655fb5cd8714ed9b7f1dfa05bc3f13f682/figures/MNESIS_num_delay.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;aside class="notes"&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--memory-retrieval"&gt;Results : memory retrieval&lt;/h2&gt;
&lt;video controls &gt;
&lt;source src="https://github.com/laurentperrinet/MNESIS/raw/2e5448655fb5cd8714ed9b7f1dfa05bc3f13f682/figures/retrieval.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;aside class="notes"&gt;
As a conclusion, this heterogenous delay spiking neural network provides an efficient model of working memory. We show here
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="results--memory-retrieval-1"&gt;Results : memory retrieval&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/MNESIS/raw/2e5448655fb5cd8714ed9b7f1dfa05bc3f13f682/figures/retrieval.svg" alt="" loading="lazy" data-zoomable width="80%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
As a conclusion, this heterogenous delay spiking neural network provides an efficient model of working memory. We show here
&lt;/aside&gt;
&lt;/section&gt;
&lt;hr&gt;
&lt;section&gt;
&lt;!-- no-branding --&gt;
&lt;h1 id="learning-working-memory-in-recurrent-spiking-neural-networks-using-heterogeneous-delays-1"&gt;&lt;a href="https://laurentperrinet.github.io/slides/2026-04-15-airov/?transition=fade" target="_blank" rel="noopener"&gt;Learning Working Memory in Recurrent Spiking Neural Networks Using Heterogeneous Delays&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="laurent-perrinet-1"&gt;&lt;em&gt;&lt;a href="https://laurentperrinet.github.io/talk/2026-04-15-airov/" target="_blank" rel="noopener"&gt;Laurent Perrinet&lt;/a&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;h3 id="austrian-symposium-on-ai-robotics-and-vision-1"&gt;&lt;u&gt;&lt;a href="https://airov.at/2026/index.html" target="_blank" rel="noopener"&gt;Austrian Symposium on AI, Robotics and Vision&lt;/a&gt;&lt;/u&gt;&lt;/h3&gt;
&lt;h3 id="2026-04-15-1"&gt;[2026-04-15]&lt;/h3&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/perrinet_curriculum-vitae.tex/raw/master/logotypes/troislogos.jpg" alt="logo" loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Contact me @ &lt;a href="mailto:laurent.perrinet@univ-amu.fr"&gt;laurent.perrinet@univ-amu.fr&lt;/a&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
Thanks for your attention.
&lt;/aside&gt;
&lt;/section&gt;</description></item><item><title>2023-11-07-snufa.md</title><link>https://laurentperrinet.github.io/slides/2023-11-07-snufa/</link><pubDate>Tue, 07 Nov 2023 00:00:00 +0000</pubDate><guid>https://laurentperrinet.github.io/slides/2023-11-07-snufa/</guid><description>&lt;h2 id="accurate-detection-of-spiking-motifs-by-learning-heterogeneous-delays-of-a-spiking-neural-network"&gt;&lt;strong&gt;&lt;a href="https://laurentperrinet.github.io/slides/2023-11-07-snufa/?transition=fade" target="_blank" rel="noopener"&gt;Accurate Detection of Spiking Motifs by Learning Heterogeneous Delays of a Spiking Neural Network&lt;/a&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;h4 id="laurent-perrinet"&gt;&lt;em&gt;&lt;a href="https://laurentperrinet.github.io" target="_blank" rel="noopener"&gt;Laurent Perrinet&lt;/a&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;h4 id="snufa-spiking-neural-networks-as-universal-function-approximators"&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="https://snufa.net/2023/" target="_blank" rel="noopener"&gt;SNUFA: Spiking Neural networks as Universal Function Approximators&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;img src="https://github.com/laurentperrinet/perrinet_curriculum-vitae.tex/raw/master/logotypes/troislogos.jpg" alt="logos" height="130"/&gt;
&lt;!-- &lt;img src="https://laurentperrinet.github.io/talk/2023-09-27_icann/qrcode.png" alt="qrcode" height="130"/&gt; --&gt;
&lt;p&gt;&lt;a href="mailto:laurent.perrinet@univ-amu.fr"&gt;laurent.perrinet@univ-amu.fr&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;&lt;a href="https://laurentperrinet.github.io/talk/2023-11-07-snufa" target="_blank" rel="noopener"&gt;https://laurentperrinet.github.io/talk/2023-11-07-snufa&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;em&gt;Hello&lt;/em&gt;, I&amp;rsquo;m Laurent Perrinet from the Institut des Neurosciences de la Timone, a joint AMU / CNRS unit, and during this talk at SNUFA, I&amp;rsquo;ll be presenting a method for the &lt;em&gt;Accurate Detection of Spiking Motifs by Learning Heterogeneous Delays of a Spiking Neural Network&lt;/em&gt;, and how it may also impact the design of SNNs. The &lt;em&gt;outline&lt;/em&gt; of the talk is as follows: first, I&amp;rsquo;ll describe how one may perform computations using Heterogeneous Delays - and present a toy model example; then, I&amp;rsquo;ll show real scale example quantifying the performance on synthetic data ; and finally, I&amp;rsquo;ll present how this SNN is in fact differentiable and may be extended for future applications.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="core-mechanism-of-spiking-motif-detection"&gt;Core Mechanism of Spiking Motif Detection&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich_left.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
The core idea of the method follows the use of polychronous groups as defined by Izhikevich in 2006. Suppose three presynaptic neurons are connected to two postsynaptic neurons by certains weights and certain delays, which correspond to the time it takes for a spike to travel from one neuron to the next.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="core-mechanism-of-spiking-motif-detection-1"&gt;Core Mechanism of Spiking Motif Detection&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich_middle.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
If we assume these delays are different, then if presynaptic neurons are activated synchronously, then postsynaptic currents do not match in time, such that the membrane potential is not reached.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="core-mechanism-of-spiking-motif-detection-2"&gt;Core Mechanism of Spiking Motif Detection&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
However, if the timing of presynaptic spikes forms a &lt;em&gt;spiking motif&lt;/em&gt; such that they reach the soma of neuron b_1 at the same time then this neuron will be selectively activated.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="from-generating-raster-plots-to-inferring-spiking-motifs"&gt;From generating raster plots to inferring spiking motifs&lt;/h2&gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_toy-a_k.svg" width="42%"&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_toy-b.svg" width="42%"&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_toy-c.svg" width="42%"&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_toy-a.svg" width="42%"&gt;
&lt;/span&gt;
&lt;aside class="notes"&gt;
&lt;em&gt;A&lt;/em&gt; In this work, this principle was framed in a probabilistic setting such that we could provide an optimal scheme for detecting generic spiking motifs which may be superposed at random times. Starting with 10 presynaptic inputs, this model allows to generate a synthetic raster plot as the combination of four different spiking motifs.
&lt;em&gt;B&lt;/em&gt; These motifs are defined by a positive (red) or negative (blue) contribution to the spiking probability which are represented here.
&lt;em&gt;C&lt;/em&gt; Applying a Bayesian approach, we may define four formal spiking neurons which will integrate the incoming spiking information from the presynaptic neurons - this analog signal can then be thresholded to give the detection of each spiking motif (vertical) bar which was here always exact with respect to the ground truth (stars).
&lt;em&gt;D&lt;/em&gt; The beauty of this is that we can recover in the presynaptic raster plot the contribution of each spiking motif to the original raster plot.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="detecting-spiking-motifs-using-heterogeneous-delays"&gt;Detecting spiking motifs using heterogeneous delays&lt;/h2&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_N_SMs.svg" width="31%"&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_N_pre.svg" width="31%"&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_N_SM_time.svg" width="31%"&gt;
&lt;/span&gt;
&lt;aside class="notes"&gt;
This was a toy example and let&amp;rsquo;s now quantify the performance of this method in real scale settings by measuring the accuracy of finding the right SM at the right time. For this we will compare our method to a classical approach using the correlation.
First, by increasing the number of motifs, we show that the accuracy of our method (in blue) is very high and outperforms the cross-correlation method (red), in particular as the number of SMs increases. The same trend is shown also when the number of presynaptic inputs increases from a low to a high dimension. Finally, the number of possible delays is a crucial parameter and enough heterogenous delays are necessary to reach a good performance.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="detecting-spiking-motifs-using-heterogeneous-delays-supervised-learning"&gt;Detecting spiking motifs using heterogeneous delays: supervised learning&lt;/h2&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_xcorr-supervised.svg" width="62%"&gt;
&lt;/span&gt;
&lt;aside class="notes"&gt;
An advantage of our method is that it is fully differentiable. We thus applied a supervised learning method and starting with random weights, we could recover the spiking motifs, as is shown here in this cross-correlagram of the weights of the learned werights with respect to the ground truth.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="accurate-detection-of-spiking-motifs-by-learning-heterogeneous-delays-of-a-spiking-neural-network-1"&gt;&lt;strong&gt;&lt;a href="https://laurentperrinet.github.io/slides/2023-11-07-snufa/?transition=fade" target="_blank" rel="noopener"&gt;Accurate Detection of Spiking Motifs by Learning Heterogeneous Delays of a Spiking Neural Network&lt;/a&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;h4 id="laurent-perrinet-1"&gt;&lt;em&gt;&lt;a href="https://laurentperrinet.github.io" target="_blank" rel="noopener"&gt;Laurent Perrinet&lt;/a&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;h4 id="snufa-spiking-neural-networks-as-universal-function-approximators-1"&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="https://snufa.net/2023/" target="_blank" rel="noopener"&gt;SNUFA: Spiking Neural networks as Universal Function Approximators&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;img src="https://github.com/laurentperrinet/perrinet_curriculum-vitae.tex/raw/master/logotypes/troislogos.jpg" alt="logos" height="130"/&gt;
&lt;p&gt;&lt;a href="mailto:laurent.perrinet@univ-amu.fr"&gt;laurent.perrinet@univ-amu.fr&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;&lt;a href="https://laurentperrinet.github.io/talk/2023-11-07-snufa" target="_blank" rel="noopener"&gt;https://laurentperrinet.github.io/talk/2023-11-07-snufa&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;As a conclusion, this heterogenous delay spiking neural network provides an efficient neural computation. It has some limitations that we detail in the paper, notably that it works on discrete time and that it is supervised, yet we hope to deliver soon an unsupervised learning method using this computational brick which could be used to build novel SNNs - we did that for detecting motion in event-based data - but also to analyse neurobiological data.&lt;/p&gt;
&lt;p&gt;Thanks for your attention, slides are also available online&lt;/p&gt;
&lt;/aside&gt;</description></item><item><title>2023-09-27_icann.md</title><link>https://laurentperrinet.github.io/slides/2023-09-27_icann/</link><pubDate>Wed, 27 Sep 2023 00:00:00 +0000</pubDate><guid>https://laurentperrinet.github.io/slides/2023-09-27_icann/</guid><description>&lt;h2 id="accurate-detection-of-spiking-motifs-by-learning-heterogeneous-delays-of-a-spiking-neural-network"&gt;&lt;strong&gt;&lt;a href="https://laurentperrinet.github.io/slides/2023-09-27_icann/?transition=fade" target="_blank" rel="noopener"&gt;Accurate Detection of Spiking Motifs by Learning Heterogeneous Delays of a Spiking Neural Network&lt;/a&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;h4 id="laurent-perrinet"&gt;&lt;em&gt;&lt;a href="https://laurentperrinet.github.io" target="_blank" rel="noopener"&gt;Laurent Perrinet&lt;/a&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;h4 id="icann-workshop-on-recent-advances-in-snns"&gt;ICANN workshop on &lt;em&gt;&lt;strong&gt;&lt;a href="https://e-nns.org/icann2023/wp-content/uploads/sites/7/2023/04/ICANN2023-ASNN-CfP.pdf" target="_blank" rel="noopener"&gt;Recent Advances in SNNs&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;img src="https://github.com/laurentperrinet/perrinet_curriculum-vitae.tex/raw/master/logotypes/troislogos.jpg" alt="logos" height="130"/&gt;
&lt;!-- &lt;img src="https://laurentperrinet.github.io/talk/2023-09-27_icann/qrcode.png" alt="qrcode" height="130"/&gt; --&gt;
&lt;p&gt;&lt;a href="mailto:laurent.perrinet@univ-amu.fr"&gt;laurent.perrinet@univ-amu.fr&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;&lt;a href="https://laurentperrinet.github.io/talk/2023-09-27-icann" target="_blank" rel="noopener"&gt;https://laurentperrinet.github.io/talk/2023-09-27-icann&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;em&gt;Hello&lt;/em&gt;, I&amp;rsquo;m Laurent Perrinet from the Institut des Neurosciences de la Timone, a joint AMU / CNRS unit, and during this talk at this ICANN workshop on Recent Advances in SNNs, I&amp;rsquo;ll be presenting a method for the &lt;em&gt;Accurate Detection of Spiking Motifs by Learning Heterogeneous Delays of a Spiking Neural Network&lt;/em&gt;, and how it may also impact the design of SNNs. I&amp;rsquo;d like to &lt;em&gt;thank&lt;/em&gt; Sander Bohté and Sebastian Otte for the organization of this workshop and you for listening. These slides are available from my web-site, along with a number of references. The &lt;em&gt;outline&lt;/em&gt; of the talk is as follows: first, I&amp;rsquo;ll describe how one may perform computations using Heterogeneous Delays - and present a toy model example; then, I&amp;rsquo;ll show real scale example quantifying the performance on synthetic data ; and finally, I&amp;rsquo;ll present how this SNN is in fact differentiable and may be extended for future applications.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="core-mechanism-of-spiking-motif-detection"&gt;Core Mechanism of Spiking Motif Detection&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich_left.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
The core idea of the method follows the use of polychronous groups as defined by Izhikevich in 2006. Suppose three presynaptic neurons are connected to two postsynaptic neurons by certains weights and certain delays, which correspond to the time it takes for a spike to travel from one neuron to the next.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="core-mechanism-of-spiking-motif-detection-1"&gt;Core Mechanism of Spiking Motif Detection&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich_middle.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
If we assume these delays are different, then if presynaptic neurons are activated synchronously, then postsynaptic currents do not match in time, such that the membrane potential is not reached.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="core-mechanism-of-spiking-motif-detection-2"&gt;Core Mechanism of Spiking Motif Detection&lt;/h2&gt;
&lt;figure &gt;
&lt;div class="d-flex justify-content-center"&gt;
&lt;div class="w-100" &gt;&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/izhikevich.svg" alt="" loading="lazy" data-zoomable width="100%" /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;aside class="notes"&gt;
However, if the timing of presynaptic spikes forms a &lt;em&gt;spiking motif&lt;/em&gt; such that they reach the soma of neuron b_1 at the same time then this neuron will be selectively activated.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="from-generating-raster-plots-to-inferring-spiking-motifs"&gt;From generating raster plots to inferring spiking motifs&lt;/h2&gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_toy-a_k.svg" width="42%"&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_toy-b.svg" width="42%"&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_toy-c.svg" width="42%"&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_toy-a.svg" width="42%"&gt;
&lt;/span&gt;
&lt;aside class="notes"&gt;
&lt;em&gt;A&lt;/em&gt; In this work, this principle was framed in a probabilistic setting such that we could provide an optimal scheme for detecting generic spiking motifs which may be superposed at random times. Starting with 10 presynaptic inputs, this model allows to generate a synthetic raster plot as the combination of four different spiking motifs.
&lt;em&gt;B&lt;/em&gt; These motifs are defined by a positive (red) or negative (blue) contribution to the spiking probability which are represented here.
&lt;em&gt;C&lt;/em&gt; Applying a Bayesian approach, we may define four formal spiking neurons which will integrate the incoming spiking information from the presynaptic neurons - this analog signal can then be thresholded to give the detection of each spiking motif (vertical) bar which was here always exact with respect to the ground truth (stars).
&lt;em&gt;D&lt;/em&gt; The beauty of this is that we can recover in the presynaptic raster plot the contribution of each spiking motif to the original raster plot.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="detecting-spiking-motifs-using-heterogeneous-delays"&gt;Detecting spiking motifs using heterogeneous delays&lt;/h2&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_N_SMs.svg" width="31%"&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_N_pre.svg" width="31%"&gt;
&lt;/span&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_N_SM_time.svg" width="31%"&gt;
&lt;/span&gt;
&lt;aside class="notes"&gt;
This was a toy example and let&amp;rsquo;s now quantify the performance of this method in real scale settings by measuring the accuracy of finding the right SM at the right time. For this we will compare our method to a classical approach using the correlation.
First, by increasing the number of motifs, we show that the accuracy of our method (in blue) is very high and outperforms the cross-correlation method (red), in particular as the number of SMs increases. The same trend is shown also when the number of presynaptic inputs increases from a low to a high dimension. Finally, the number of possible delays is a crucial parameter and enough heterogenous delays are necessary to reach a good performance.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="detecting-spiking-motifs-using-heterogeneous-delays-1"&gt;Detecting spiking motifs using heterogeneous delays&lt;/h2&gt;
&lt;span class="fragment " &gt;
&lt;img src="https://github.com/laurentperrinet/2023-07-20_HDSNN-ICANN/raw/master/figures/THC_xcorr-supervised.svg" width="62%"&gt;
&lt;/span&gt;
&lt;aside class="notes"&gt;
An advantage of our method is that is is fully differentiable. We thus applied a supervised learning method and starting with random weights, we could recover the spiking motifs, as is shown here in this cross-correlagram of the weights of the learned werights with respect to the ground truth.
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="accurate-detection-of-spiking-motifs-by-learning-heterogeneous-delays-of-a-spiking-neural-network-1"&gt;&lt;strong&gt;&lt;a href="https://laurentperrinet.github.io/slides/2023-09-27_icann/?transition=fade" target="_blank" rel="noopener"&gt;Accurate Detection of Spiking Motifs by Learning Heterogeneous Delays of a Spiking Neural Network&lt;/a&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;h4 id="laurent-perrinet-1"&gt;&lt;em&gt;&lt;a href="https://laurentperrinet.github.io" target="_blank" rel="noopener"&gt;Laurent Perrinet&lt;/a&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;h4 id="icann-workshop-on-recent-advances-in-snns-1"&gt;ICANN workshop on &lt;em&gt;&lt;strong&gt;&lt;a href="https://e-nns.org/icann2023/wp-content/uploads/sites/7/2023/04/ICANN2023-ASNN-CfP.pdf" target="_blank" rel="noopener"&gt;Recent Advances in SNNs&lt;/a&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/h4&gt;
&lt;img src="https://github.com/laurentperrinet/perrinet_curriculum-vitae.tex/raw/master/logotypes/troislogos.jpg" alt="logos" height="130"/&gt;
&lt;p&gt;&lt;a href="mailto:laurent.perrinet@univ-amu.fr"&gt;laurent.perrinet@univ-amu.fr&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;&lt;a href="https://laurentperrinet.github.io/talk/2023-09-27-icann" target="_blank" rel="noopener"&gt;https://laurentperrinet.github.io/talk/2023-09-27-icann&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&lt;p&gt;As a conclusion, this heterogenous delay spiking neural network provides an efficient neural computation. It has some limitations that we detail in the paper, notably that it works on discrete time and that it is supervised, yet we hope to deliver soon an unsupervised learning method using this computational brick which could be used to build novel SNNs - we did that for detecting motion in event-based data - but also to analyse neurobiological data.&lt;/p&gt;
&lt;p&gt;Thanks for your attention, slides are also available online&lt;/p&gt;
&lt;/aside&gt;
&lt;hr&gt;
&lt;h2 id="accurate-detection-of-spiking-motifs-by-learning-heterogeneous-delays-of-a-spiking-neural-network-2"&gt;&lt;strong&gt;&lt;a href="https://laurentperrinet.github.io/slides/2023-09-27_icann/?transition=fade" target="_blank" rel="noopener"&gt;Accurate Detection of Spiking Motifs by Learning Heterogeneous Delays of a Spiking Neural Network&lt;/a&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;img src="https://laurentperrinet.github.io/talk/2023-09-27-icann/qrcode.png" alt="qrcode" width="45%"/&gt;
&lt;p&gt;&lt;sup&gt;&lt;a href="https://laurentperrinet.github.io/talk/2023-09-27-icann" target="_blank" rel="noopener"&gt;https://laurentperrinet.github.io/talk/2023-09-27-icann&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;aside class="notes"&gt;
&amp;hellip; by scanning this qrcode!
&lt;/aside&gt;</description></item><item><title>Polychronies (2022 / 2025)</title><link>https://laurentperrinet.github.io/grant/polychronies/</link><pubDate>Mon, 18 Jul 2022 14:00:00 +0000</pubDate><guid>https://laurentperrinet.github.io/grant/polychronies/</guid><description>&lt;div class="alert alert-warning"&gt;
&lt;div&gt;
THE POSITION HAS BEEN FILLED.
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="description"&gt;Description&lt;/h2&gt;
&lt;p&gt;Why do neurons communicate through action potentials, or spikes? An action potential is a binary event —it can occur or not, without further details— and asynchronous, i.e. it can occur at any time. In the living world, neurons almost systematically use this so-called event-based representation, though we do not yet have a clear idea why. A better understanding of this phenomenon remains a fundamental challenge in neurobiology in order to better interpret the masses of recorded data. It is also an emerging challenge in computer science to allow the efficient exploitation of a new class of sensors and impulse computers, called neuromorphic, which could allow significant gains in computing time and energy consumption —a major societal challenge in the age of the digital economy and of global warming.&lt;/p&gt;
&lt;p&gt;The goal of this project is to bring an interdisciplinary perspective on the computational advantage of time series representations for the brain and for information processing machines. In particular, we will formalize mathematically a representation in an assembly of neurons based on a set of patterns of different relative spike times called polychronous groups. This hypothesis is directly inspired by neurobiological observations in the hippocampus, and the innovative aspect is to expand the capabilities of analog representations based on the firing rate by considering a representation based on repetitions of these polychronous groups at precise times of occurrence. This formalization is particularly well suited to neuromorphic computing, and allows for supervised or self-supervised learning of polychronous groups in any event-driven data.
By extending this paradigm to a hierarchy, we envision practical applications of this approach in audio, video or neurobiological signal processing. The cross-fertilization of neuroscience and neuromimetic approaches will be instrumental in understanding the typical or pathological development of such spiking neural networks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;grant number AMX-21-RID-025:&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot; Ce travail a bénéficié d’une aide du gouvernement français au titre de France 2030, dans le cadre de l’Initiative d’Excellence d’Aix-Marseille Université – A*MIDEX, projet numero AMX-21-RID-025 &amp;quot;&lt;/li&gt;
&lt;li&gt;&amp;quot; This work received support from the french government under the France 2030 investment plan, as part of the Initiative d’Excellence d’Aix-Marseille Université – A*MIDEX, under grant number AMX-21-RID-025 ”&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="latest-news"&gt;Latest news&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;2023-09-11: &lt;a href="https://laurentperrinet.github.io/author/adrien-fois/" target="_blank" rel="noopener"&gt;Start of post-doc position&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2023-05-01: &lt;a href="https://laurentperrinet.github.io/post/2023-05-01_postdoc-position_polychronies" target="_blank" rel="noopener"&gt;Opening of post-doc position&lt;/a&gt; (THE POSITION HAS BEEN FILLED!)&lt;/li&gt;
&lt;li&gt;2022-12-29: check out our review paper:
&lt;div class="pub-list-item view-citation" style="margin-bottom: 1rem"&gt;
&lt;i class="far fa-file-alt pub-icon" aria-hidden="true"&gt;&lt;/i&gt;
&lt;span class="article-metadata li-cite-author"&gt;
&lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/antoine-grimaldi/"&gt;Antoine Grimaldi&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/am%C3%A9lie-gruel/"&gt;Amélie Gruel&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/camille-besnainou/"&gt;Camille Besnainou&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/jean-nicolas-j%C3%A9r%C3%A9mie/"&gt;Jean-Nicolas Jérémie&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/jean-martinet/"&gt;Jean Martinet&lt;/a&gt;&lt;/span&gt;, &lt;span &gt;
&lt;a href="https://laurentperrinet.github.io/author/laurent-u-perrinet/"&gt;Laurent U Perrinet&lt;/a&gt;&lt;/span&gt;
&lt;/span&gt;
(2022).
&lt;a href="https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/"&gt;Precise spiking motifs in neurobiological and neuromorphic data&lt;/a&gt;.
&lt;p&gt;
&lt;a href="#" class="btn btn-outline-primary btn-page-header btn-sm js-cite-modal"
data-filename="/publication/grimaldi-22-polychronies/cite.bib"&gt;
Cite
&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://doi.org/10.3390/brainsci13010068" target="_blank" rel="noopener"&gt;
DOI
&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://hal.science/hal-03918338" target="_blank" rel="noopener"&gt;
Hal&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://github.com/SpikeAI/2022_polychronies-review" target="_blank" rel="noopener"&gt;
Code&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://laurentperrinet.github.io/publication/grimaldi-22-polychronies/" target="_blank" rel="noopener"&gt;
URL&lt;/a&gt;
&lt;a class="btn btn-outline-primary btn-page-header btn-sm" href="https://arxiv.org/abs/2404.07866" target="_blank" rel="noopener"&gt;
arXiv&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;2022-11-28: &lt;a href="https://conect-int.github.io/talk/2022-11-28-conect-at-the-int-brainhack/" target="_blank" rel="noopener"&gt;Pilot project at the INT brainhack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;2022-07-18: Le projet Polychronies est &lt;a href="https://www.univ-amu.fr/fr/public/lancement-de-lappel-projets-interdisciplinarite-2021" target="_blank" rel="noopener"&gt;lauréat de l&amp;rsquo;appel à projets « Interdisciplinarité »&lt;/a&gt; !&lt;/li&gt;
&lt;li&gt;2022-02-27: read our &lt;a href="2022-02-27_AMIDEX_PerrinetCossartSchatz_Applicationform-AAP-Interdisciplinarite-2021.pdf"&gt;complete proposal&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>