<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Neurosci.</journal-id>
<journal-title>Frontiers in Neuroscience</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Neurosci.</abbrev-journal-title>
<issn pub-type="epub">1662-453X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fnins.2023.1224752</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Incorporating structural plasticity into self-organization recurrent networks for sequence learning</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Yuan</surname> <given-names>Ye</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/544206/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Zhu</surname> <given-names>Yongtong</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Wang</surname> <given-names>Jiaqi</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Li</surname> <given-names>Ruoshi</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Xu</surname> <given-names>Xin</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Fang</surname> <given-names>Tao</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/615601/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Huo</surname> <given-names>Hong</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/614965/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Wan</surname> <given-names>Lihong</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Li</surname> <given-names>Qingdu</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Liu</surname> <given-names>Na</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Yang</surname> <given-names>Shiyan</given-names></name>
<xref ref-type="aff" rid="aff4"><sup>4</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>School of Health Science and Engineering, Institute of Machine Intelligence, University of Shanghai for Science and Technology</institution>, <addr-line>Shanghai</addr-line>, <country>China</country></aff>
<aff id="aff2"><sup>2</sup><institution>Automation of Department, Shanghai Jiao Tong University</institution>, <addr-line>Shanghai</addr-line>, <country>China</country></aff>
<aff id="aff3"><sup>3</sup><institution>Origin Dynamics Intelligent Robot Co., Ltd.</institution>, <addr-line>Zhengzhou</addr-line>, <country>China</country></aff>
<aff id="aff4"><sup>4</sup><institution>Eco-Environmental Protection Institution, Shanghai Academy of Agricultural Sciences</institution>, <addr-line>Shanghai</addr-line>, <country>China</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Arindam Basu, City University of Hong Kong, Hong Kong SAR, China</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Shaista Hussain, Agency for Science, Technology and Research (A&#x0002A;STAR), Singapore; Sam Neymotin, Nathan Kline Institute for Psychiatric Research, United States</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Shiyan Yang <email>yangsy&#x00040;zju.edu.cn</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>01</day>
<month>08</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>17</volume>
<elocation-id>1224752</elocation-id>
<history>
<date date-type="received">
<day>18</day>
<month>05</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>13</day>
<month>07</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2023 Yuan, Zhu, Wang, Li, Xu, Fang, Huo, Wan, Li, Liu and Yang.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Yuan, Zhu, Wang, Li, Xu, Fang, Huo, Wan, Li, Liu and Yang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license> </permissions>
<abstract>
<sec>
<title>Introduction</title>
<p>Spiking neural networks (SNNs), inspired by biological neural networks, have received a surge of interest due to its temporal encoding. Biological neural networks are driven by multiple plasticities, including spike timing-dependent plasticity (STDP), structural plasticity, and homeostatic plasticity, making network connection patterns and weights to change continuously during the lifecycle. However, it is unclear how these plasticities interact to shape neural networks and affect neural signal processing.</p></sec>
<sec>
<title>Method</title>
<p>Here, we propose a reward-modulated self-organization recurrent network with structural plasticity (RSRN-SP) to investigate this issue. Specifically, RSRN-SP uses spikes to encode information, and incorporate multiple plasticities including reward-modulated spike timing-dependent plasticity (R-STDP), homeostatic plasticity, and structural plasticity. On the one hand, combined with homeostatic plasticity, R-STDP is presented to guide the updating of synaptic weights. On the other hand, structural plasticity is utilized to simulate the growth and pruning of synaptic connections.</p></sec>
<sec>
<title>Results and discussion</title>
<p>Extensive experiments for sequential learning tasks are conducted to demonstrate the representational ability of the RSRN-SP, including counting task, motion prediction, and motion generation. Furthermore, the simulations also indicate that the characteristics arose from the RSRN-SP are consistent with biological observations.</p></sec></abstract>
<kwd-group>
<kwd>spiking neural network</kwd>
<kwd>self-organization</kwd>
<kwd>reward-modulated spike timing-dependent plasticity</kwd>
<kwd>homeostatic plasticity</kwd>
<kwd>structural plasticity</kwd>
</kwd-group>
<counts>
<fig-count count="6"/>
<table-count count="5"/>
<equation-count count="13"/>
<ref-count count="32"/>
<page-count count="11"/>
<word-count count="6436"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Neuromorphic Engineering</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p>Spiking neural networks, inspired by biological neural networks, are deemed to possess strong information processing abilities due to temporal encoding (as shown in <xref ref-type="fig" rid="F1">Figure 1</xref>) and variable connection pattern (Zhang et al., <xref ref-type="bibr" rid="B31">2018b</xref>, <xref ref-type="bibr" rid="B29">2021</xref>; Bellec et al., <xref ref-type="bibr" rid="B4">2020</xref>), which are driven by multiple neural plasticities, such as STDP (Fr&#x000E9;maux and Gerstner, <xref ref-type="bibr" rid="B11">2016</xref>; Brzosko et al., <xref ref-type="bibr" rid="B5">2019</xref>), structural plasticity (Caroni et al., <xref ref-type="bibr" rid="B7">2012</xref>; Milano et al., <xref ref-type="bibr" rid="B20">2020</xref>), and homeostatic plasticity (Delvendahl and M&#x000FC;ller, <xref ref-type="bibr" rid="B9">2019</xref>; Ha&#x0015F;egan et al., <xref ref-type="bibr" rid="B13">2022</xref>). STDP enables the network to modulate its connection weight based on spike timing, while homeostatic plasticity can regulate the excitability of neurons within an appropriate range. Structural plasticity can endow the network with robust adaptability by fine-tuning its mesoscopic connection pattern during the lifecycle. However, it is non-trivial to achieve a stable training procedure for spiking neural networks incorporating multiple neural plasticity mechanisms. The temporal encoding of biological neural networks is a sophisticated information encoding method, which needs to cooperate with various neural plasticities to exert strong information processing ability. Although many sophisticated spiking neuron models have been designed, there is a lack of research on neural plasticities. Many current spiking neural networks are simple abstraction of biological neural networks, which makes it not an easy task to train the network. For example, changes in input may occasionally cause a sharp increase or decrease in the firing rate of neurons, resulting in probabilistic non-convergence (Pfeiffer and Pfeil, <xref ref-type="bibr" rid="B21">2018</xref>; Xing et al., <xref ref-type="bibr" rid="B25">2019</xref>) and a lack of adaptation to input (Wang et al., <xref ref-type="bibr" rid="B24">2020</xref>). To address these questions, it is crucial to understand how these plasticities interact to shape neural networks and affect neural signal processing. But, it is difficult and expensive to directly observe the biological neural network at the mesoscopic level, since it consists of a large number of neurons that are dynamically connected through synapses.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>The principle of temporal encoding. Given a simple neural network in the dashed box, <italic>n</italic> pre-synaptic neurons are connected to one post-synaptic neuron. The pre-synaptic neuron <italic>pre</italic><sub><italic>i</italic></sub> generates a spike at time <italic>t</italic><sub><italic>i</italic></sub>, which causes a signal <italic>u</italic><sub><italic>i</italic></sub> continuously sent to the post-synaptic neuron. Once the signal received by the post-synaptic neuron exceeds the threshold, a spike is generated, and the corresponding spiking time is marked as <italic>t</italic><sub><italic>j</italic></sub>. According to neuroscience, information is thought to be encoded in the spiking time sequence, such as <italic>t</italic><sub>1</sub>, <italic>t</italic><sub>2</sub>, &#x02026;, <italic>t</italic><sub><italic>n</italic></sub>, <italic>t</italic><sub><italic>j</italic></sub>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1224752-g0001.tif"/>
</fig>
<p>To handle the problem mentioned above, it is a potential way to establish a biologically reasonable spiking neural network model that incorporates multiple neural plasticity mechanisms. For example, Lazar et al. proposed a self-organization recurrent network (SORN) driven by multiple neural plasticities (Lazar et al., <xref ref-type="bibr" rid="B18">2009</xref>), which only consists of a recurrent layer and an output layer. The recurrent layer is mainly adapted by STDP and homeostatic plasticity. STDP is used to adjust synaptic weights based on postsynaptic spike activity. In detail, synaptic weight is strengthened when pre-synaptic spike activity is followed by post-synaptic spike activity, while the reverse pattern makes synaptic weight weak. Homeostatic plasticity induces a competition among synaptic connections and maintains spike firing. The simulation results of SORN show that STDP and homeostatic plasticity lead to some non-statistical characteristics of spiking neural networks, such as lognormal-like distribution of synaptic weights, long-term persistence of strong synaptic connections, and power-law distribution of synaptic lifetimes. Inspired by SORN, Aswolinskiy et al. proposed a reward-modulated self-organization recurrent network (RM-SORN) (Aswolinskiy and Pipa, <xref ref-type="bibr" rid="B2">2015</xref>; Dora et al., <xref ref-type="bibr" rid="B10">2016</xref>), in which synaptic weights are adjusted by R-STDP and homeostatic plasticity. R-STDP refers that the outcome of STDP, induced by pre-synaptic and post-synaptic spike activity, is gated by external reward, and the resulting learning rules are no longer unsupervised (Izhikevich, <xref ref-type="bibr" rid="B15">2007</xref>; Anwar et al., <xref ref-type="bibr" rid="B1">2022</xref>).</p>
<p>Despite the fact that the SORN and RM-SORN models are self-organization networks, their connection patterns do not alter continually during the training phase. It means that these spiking neural network models do not really incorporate structural plasticity, and structural plasticity remains under-explored for existing SNNs. Therefore, in this work, we propose a novel reward-modulated self-organization recurrent network with structural plasticity, in which the connection pattern is continuously adjusted along with the lifecycle. In detail, R-STDP is utilized to generate effective representations for inputs in the recurrent layer, which also helps to achieve efficient mapping in the output layer. Besides, homeostatic plasticity is used to stabilize the excitability of neurons. In particular, structural plasticity is further introduced to simulate the growth and pruning of connections in the recurrent layer, which could well explore the characteristics of structural plasticity for training SNNs. The representational ability of the RSRN-SP is evaluated on three sequence learning tasks, including counting task, motion prediction task, and motion generation task.</p>
<p>In summary, our contributions are as follows: (1) We propose a novel reward-modulated self-organization recurrent network with structural plasticity (RSRN-SP), in which structural plasticity is introduced from neurophysiology to enhance the variability of connection patterns; (2) We experimentally find that structural plasticity could improve the adaptability of the network and reduce the training difficulty; (3) We empirically reveal some characteristics arose from the RSRN-SP are consistent with biological observations, i.e., lognormal-like distribution of connection weight, power-law distribution of connection lifecycle, and a stable tendency for stronger connections; (4) Experiments on three sequence learning tasks show that our method achieve better representation ability than the same type of spiking neural networks such as SORN and RM-SORN. Further analyzes are utilized to demonstrate the effectiveness of structural plasticity.</p>
</sec>
<sec id="s2">
<title>2. Related works</title>
<p>There have been many researches on spiking neuron models and learning rules (Yu et al., <xref ref-type="bibr" rid="B27">2014</xref>; Zhang et al., <xref ref-type="bibr" rid="B30">2018a</xref>; Ju et al., <xref ref-type="bibr" rid="B16">2020</xref>; Xu et al., <xref ref-type="bibr" rid="B26">2021</xref>), where neuron models, learning rules, and network architectures are three essential factors for designing spiking neural networks.</p>
<sec>
<title>2.1. Neuron models</title>
<p>The human brain contains billions of neurons, which form structurally complex and computationally efficient networks through dynamic synaptic connections (Bassett and Sporns, <xref ref-type="bibr" rid="B3">2017</xref>). There are various spiking neural models to simulate the temporal coding of neurons in the brain, i.e., Hodgkin-Huxley (HH) model (Izhikevich, <xref ref-type="bibr" rid="B14">2004</xref>), leaky integrate-and-fire (LIF) model (Yu et al., <xref ref-type="bibr" rid="B27">2014</xref>), and binary neuron model (Dayan and Abbott, <xref ref-type="bibr" rid="B8">2001</xref>). The HH model focuses on the microscopic mechanism of spikes, while the LIF model focuses on the computational complexity of spikes. The binary neuron model is developed from the LIF model, has lower computational complexity, and is suitable for building large-scale networks. Therefore, in this work, the binary neuron model is used to construct a spiking neural network.</p>
</sec>
<sec>
<title>2.2. Learning rules</title>
<p>Inspired by biological observations, there are mainly two brain-inspired learning rules suitable for SNNs (Caporale and Dan, <xref ref-type="bibr" rid="B6">2008</xref>; Fr&#x000E9;maux and Gerstner, <xref ref-type="bibr" rid="B11">2016</xref>): Hebb learning rule and STDP learning rule. The former suggests that neurons activated at the same time should have a closer relationship. The latter indicates that synaptic weight is adjusted based on the spike timing of pre-synaptic and post-synaptic neurons. STDP learning rule can be described as follows,</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mrow><mml:mi>&#x00394;</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mo>+</mml:mo></mml:msub><mml:mi>exp</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:mi>&#x00394;</mml:mi><mml:mi>t</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mo>+</mml:mo></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x000A0;if&#x000A0;</mml:mtext><mml:mi>&#x00394;</mml:mi><mml:mi>t</mml:mi><mml:mo>&#x02265;</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mo>&#x02212;</mml:mo></mml:msub><mml:mi>exp</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x00394;</mml:mi><mml:mi>t</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mo>&#x02212;</mml:mo></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x000A0;if&#x000A0;</mml:mtext><mml:mi>&#x00394;</mml:mi><mml:mi>t</mml:mi><mml:mo>&#x0003C;</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>where &#x00394;<italic>w</italic><sub><italic>ij</italic></sub> represents the weight change of connection from pre-synaptic neuron <italic>j</italic> to post-synaptic neuron <italic>i</italic>. <italic>A</italic><sub>&#x0002B;</sub>, <italic>A</italic><sub>&#x02212;</sub>, &#x003C4;<sub>&#x0002B;</sub>, and &#x003C4;<sub>&#x02212;</sub> are dimensionless constants, which are obtained by fitting neurophysiological data. <inline-formula><mml:math id="M2"><mml:mi>&#x00394;</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> represents the error between the last spike timing of post-synaptic neuron <italic>i</italic> and the last spike timing of pre-synaptic neuron <italic>j</italic>.</p>
</sec>
<sec>
<title>2.3. Spiking neural networks</title>
<p>Spiking neural networks are known as the third-generation neural networks. Due to the brain-like temporal encoding and multiple neural mechanisms, they are considered to have a strong information processing capability. However, this also makes the training of spiking neural networks difficult (Wang et al., <xref ref-type="bibr" rid="B24">2020</xref>). The widely used gradient descent algorithm is difficult to apply to spiking neural networks (Taherkhani et al., <xref ref-type="bibr" rid="B23">2020</xref>). Therefore, many researches combine various mathematical optimization techniques with spiking neural networks, trying to propose a new learning paradigm suitable for SNNs. For example, Xing et al. adopted the ANN-to-SNN strategy to migrate the parameters of the trained ANNs to the SNNs of the same architecture (Xing et al., <xref ref-type="bibr" rid="B25">2019</xref>; Gao et al., <xref ref-type="bibr" rid="B12">2023</xref>). Anwar et al. applied reinforcement learning to spiking neural networks to perform specific tasks, such as Pong and Cartpole game playing (Bellec et al., <xref ref-type="bibr" rid="B4">2020</xref>; Anwar et al., <xref ref-type="bibr" rid="B1">2022</xref>; Ha&#x0015F;egan et al., <xref ref-type="bibr" rid="B13">2022</xref>). These spiking neural networks combine biologically reasonable neural mechanisms with reinforcement learning and mathematical optimization to complete sophisticated tasks. Some studies also employ spiking neural networks containing biologically reasonable neural mechanisms to explore the principle of biological neural network information processing. For example, the SORN and RM-SORN models are proposed to explore the coordination of neural mechanisms such as R-STDP, structural plasticity, and homeostatic plasticity (Lazar et al., <xref ref-type="bibr" rid="B18">2009</xref>; Aswolinskiy and Pipa, <xref ref-type="bibr" rid="B2">2015</xref>; Dora et al., <xref ref-type="bibr" rid="B10">2016</xref>).</p>
</sec>
</sec>
<sec id="s3">
<title>3. The proposed method</title>
<sec>
<title>3.1. Problem formulation</title>
<sec>
<title>3.1.1. Preliminary</title>
<p>Consider a binary neuron model, the neuron state (0 and 1) changes over the inputs. The binary neuron state <italic>s</italic><sub><italic>t</italic></sub> at discrete time <italic>t</italic> is updated as follows:</p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M3"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x000A0;if&#x000A0;</mml:mtext><mml:msub><mml:mi>&#x003C8;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x02265;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x000A0;if&#x000A0;</mml:mtext><mml:msub><mml:mi>&#x003C8;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x0003C;</mml:mo><mml:mi>&#x003B8;</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>where &#x003B8; is the threshold and &#x003C8; is the sum of inputs. Once &#x003C8; reaches the threshold, the neuron state will be activated as 1, otherwise <italic>x</italic> &#x0003D; 0. Besides, &#x003C8; is calculated as follows:</p>
<disp-formula id="E3"><label>(3)</label><mml:math id="M4"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003C8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>S</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>w</italic><sub><italic>ij</italic></sub> is the weight between neuron <italic>i</italic> and neuron <italic>j</italic>. <italic>u</italic><sub><italic>i</italic></sub> is the external signal received by neuron <italic>i</italic>. The notations used in this work are explained in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Notations used in this work. We demonstrate the commonly used notations in this work.</p></caption> 
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold>Notation</bold></th>
<th valign="top" align="left"><bold>Interpretation</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><italic>I</italic>/<italic>E</italic></td>
<td valign="top" align="left">Inhibitory/Excitatory neuron</td>
</tr> <tr>
<td valign="top" align="left"><italic>N</italic><sup><italic>I</italic></sup>/<italic>N</italic><sup><italic>E</italic></sup></td>
<td valign="top" align="left">Number of inhibitory/excitatory neuron</td>
</tr> <tr>
<td valign="top" align="left"><inline-formula><mml:math id="M7"><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msubsup><mml:mo>/</mml:mo><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>/</mml:mo><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="left">State of <italic>i</italic>-th excitatory/inhibitory/output neuron</td>
</tr> <tr>
<td valign="top" align="left"><inline-formula><mml:math id="M8"><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msubsup><mml:mo>/</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>/</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="left">Threshold of <italic>i</italic>-th excitatory/inhibitory/output neuron</td>
</tr> <tr>
<td valign="top" align="left"><inline-formula><mml:math id="M9"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="left">Weight between <italic>i</italic>-th excitatory and <italic>j</italic>-th excitatory neuron</td>
</tr> <tr>
<td valign="top" align="left"><inline-formula><mml:math id="M10"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="left">Weight between <italic>i</italic>-th excitatory and <italic>j</italic>-th inhibitory neuron</td>
</tr> <tr>
<td valign="top" align="left"><inline-formula><mml:math id="M11"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="left">Weight between <italic>i</italic>-th inhibitory and <italic>j</italic>-th excitatory neuron</td>
</tr>
<tr>
<td valign="top" align="left"><inline-formula><mml:math id="M12"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula></td>
<td valign="top" align="left">Weight between <italic>i</italic>-th output and <italic>j</italic>-th excitatory neuron</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec>
<title>3.1.2. Counting task</title>
<p>The task objective is to predict the subsequent element by modeling the structure of a recurrent sequence. Consider a <italic>m</italic> times recurrent sequence as follows:</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>a</mml:mi><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mstyle displaystyle="true"><mml:munder accentunder="false"><mml:mrow><mml:mi>b</mml:mi><mml:mi>b</mml:mi><mml:mo>&#x022EF;</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mi>c</mml:mi></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:mover><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>a</mml:mi><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mstyle displaystyle="true"><mml:munder accentunder="false"><mml:mrow><mml:mi>b</mml:mi><mml:mi>b</mml:mi><mml:mo>&#x022EF;</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mi>c</mml:mi></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mover><mml:mo>&#x022EF;</mml:mo><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>a</mml:mi><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mstyle displaystyle="true"><mml:munder accentunder="false"><mml:mrow><mml:mi>b</mml:mi><mml:mi>b</mml:mi><mml:mo>&#x022EF;</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mo>&#x0FE38;</mml:mo></mml:munder></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mi>c</mml:mi></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:mover></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where each subsequence contains a start flag, an end flag and a fixed number of a repeated element (i.e., <italic>a</italic>, <italic>c</italic>, and <italic>b</italic>). Taking an element as the input, the model aims to accurately predict the next element. For example, given <italic>a</italic> as the input, and the ground-truth is <italic>b</italic>. This task is designed to test the memory property of the model.</p>
</sec>
<sec>
<title>3.1.3. Motion prediction task</title>
<p>The task objective is to predict the subsequent element by modeling the structure of a recurrent sequence, in which all elements are associated with different spatial positions. Consider a <italic>m</italic> times recurrent sequence as follows:</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mn>12</mml:mn><mml:mo>&#x022EF;</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:mover><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mn>12</mml:mn><mml:mo>&#x022EF;</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mover><mml:mo>&#x022EF;</mml:mo><mml:mover class="msup"><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mn>12</mml:mn><mml:mo>&#x022EF;</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mo>&#x0FE37;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:mover></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where each subsequence contains <italic>n</italic> integers from 1 to <italic>n</italic>. Taking an element as the input, the model aims to accurately predict the next element. Because the elements are associated with different spatial positions, this task can be interpreted as the left to right motion of an object along an axis.</p>
</sec>
<sec>
<title>3.1.4. Motion generation task</title>
<p>The task objective is to generate the <italic>m</italic> times recurrent sequence same as (5), with the output serving as the input and no external teaching signals. For example, if the current output of the model is equal to 1 and serves as the next input, the next output should be 2.</p>
</sec>
</sec>
<sec>
<title>3.2. Overview architecture</title>
<p>The overall architecture of RSRN-SP is shown as in <xref ref-type="fig" rid="F2">Figure 2</xref>, which is composed of two general modules, i.e., a recurrent layer, and an output layer.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p><bold>(A)</bold> The structure of RSRN-SP. Excitatory-to-Excitatory (E-E) connections <italic>W</italic><sup><italic>EE</italic></sup> are sparse. Excitatory-to-Inhibitory (E-I) connections <italic>W</italic><sup><italic>IE</italic></sup>, Inhibitory-to-Excitatory (I-E) connections <italic>W</italic><sup><italic>EI</italic></sup> and connections from the recurrent to output layer <italic>W</italic><sup><italic>OE</italic></sup> are full. <italic>W</italic><sup><italic>EE</italic></sup> and <italic>W</italic><sup><italic>OE</italic></sup> follow R-STDP, while others keep fixed. Suppose that the input is a <italic>m</italic> times recurrent sequence (i.e., <italic>abab</italic>...<italic>ab</italic>), in which <italic>a</italic> and <italic>b</italic> correspond to subset 1 and 2, respectively. When <italic>a</italic> is input into the model, only the neurons of the subset 1 are activated, likewise <italic>b</italic> is input into the model, only the neurons of the subset 2 are activated. <bold>(B)</bold> Illustration of R-STDP. The outcome of R-STDP is stored in eligibility trace. The updating of the weights occurs only at the time of reward.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1224752-g0002.tif"/>
</fig>
<sec>
<title>3.2.1. Recurrent layer</title>
<p>The recurrent layer extracts features of inputs and stores them in its variable connection patterns and weights. The neurons in the layer are divided into two groups: excitatory and inhibitory neurons. <italic>N</italic><sup><italic>E</italic></sup> and <italic>N</italic><sup><italic>I</italic></sup> are utilized to denote the numbers of them, <italic>N</italic><sup><italic>I</italic></sup> &#x0003D; 0.2 &#x000D7; <italic>N</italic><sup><italic>E</italic></sup>. They are connected through weighted connections, which is denoted as a weight matrix <italic>W</italic>. The element <italic>w</italic><sub><italic>ij</italic></sub> in the weight matrix is the connection weight from neuron <italic>j</italic> to neuron <italic>i</italic>. The connections among excitatory neurons are sparse, while full connections exist between excitatory and inhibitory neurons. The initial connection density among excitatory neurons is controlled by the average connection fraction <italic>p</italic><sub><italic>c</italic></sub> of neurons. It should be noted that there exist no self-connections and connections among inhibitory neurons.</p>
</sec>
<sec>
<title>3.2.2. Output layer</title>
<p>The output layer maps the features stored in the recurrent layer into interpretable and specific-task outputs. It only contains excitatory neurons without connections among each other. There is a feedback connection from the output layer to the recurrent layer.</p>
</sec>
</sec>
<sec>
<title>3.3. Evolution</title>
<p>The input of RSRN-SP is a time sequence that contains different symbols (letters or digits). Each symbol corresponds to a subset of neurons in the recurrent layer, which and only which can receive the corresponding input symbol. When a certain symbol in the sequence is input to the model, only neurons in the corresponding subset are activated, while other neurons remain silent. The state updating for different types of neurons are as follows:</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M13"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:msubsup><mml:mi>s</mml:mi><mml:mi>k</mml:mi><mml:mi>e</mml:mi></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy='false'>)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mi>&#x00398;</mml:mi><mml:mo stretchy='true'>(</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>N</mml:mi><mml:mi>E</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:msubsup><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>e</mml:mi></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msup><mml:mi>N</mml:mi><mml:mi>I</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:msub><mml:mi>y</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msubsup><mml:mi>&#x003B8;</mml:mi><mml:mi>k</mml:mi><mml:mi>e</mml:mi></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo stretchy='true'>)</mml:mo><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E7"><label>(7)</label><mml:math id="M14"><mml:mrow><mml:msubsup><mml:mi>s</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mi>&#x00398;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mi>j</mml:mi><mml:mrow><mml:msup><mml:mi>N</mml:mi><mml:mi>E</mml:mi></mml:msup></mml:mrow></mml:munderover><mml:mrow><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:msubsup><mml:mi>s</mml:mi><mml:mi>j</mml:mi><mml:mi>e</mml:mi></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msubsup><mml:mi>&#x003B8;</mml:mi><mml:mi>k</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="E8"><label>(8)</label><mml:math id="M15"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>&#x00398;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mstyle displaystyle="true"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:munderover></mml:mstyle><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x00398; is the Heaviside step function, and <italic>u</italic><sub><italic>k</italic></sub>(<italic>t</italic>) is the external signal of neuron <italic>k</italic> at time <italic>t</italic>. The weights are uniformly drawn from [0, 1] and initially normalized as <inline-formula><mml:math id="M16"><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>.</p>
</sec>
<sec>
<title>3.4. Learning rule of R-STDP</title>
<p>According to the learning rule of R-STDP (Fr&#x000E9;maux and Gerstner, <xref ref-type="bibr" rid="B11">2016</xref>; Yuan et al., <xref ref-type="bibr" rid="B28">2018</xref>), the change of connection weight is not only controlled by spikes, but also regulated by reward signal, as illustrated in <xref ref-type="fig" rid="F2">Figure 2B</xref>, which can be described as follows:</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M17"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>W</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>W</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B7;</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:mi>M</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>e</mml:mi><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where &#x003B7; is the learning rate of the weight. <italic>e</italic> denotes a synaptic eligibility trace to temporarily store the outcome of R-STDP, which can be still available for a delayed reward signal. The eligibility trace is computed as:</p>
<disp-formula id="E10"><label>(10)</label><mml:math id="M18"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mi>e</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>e</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mrow><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>&#x02212;</mml:mo><mml:mi>f</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x000B7;</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>s</italic><sub><italic>i</italic></sub> and <italic>s</italic><sub><italic>j</italic></sub> are the activation of pre- and post-synaptic neurons, respectively. &#x003C4;<sub><italic>e</italic></sub> is a time constant. <italic>f</italic> is a dimensionless parameter (<italic>f</italic> &#x0003D; 1 for <italic>W</italic><sup><italic>EE</italic></sup> and <italic>f</italic> &#x0003D; 0.01 for <italic>W</italic><sup><italic>OE</italic></sup>). According to Equation (9), when neuromodulation factor <italic>M</italic> &#x0003D; <italic>R</italic>&#x02212;<italic>b</italic> is not equal to 0, i.e., reward <italic>R</italic> deviates from baseline <italic>b</italic>, the connection weight will be updated.</p>
<p>In our model, for the counting task and motion prediction task, the reward <italic>R</italic> is set to 1 for correct output, while either 0 or &#x02212;1 for incorrect output. The baseline <italic>b</italic> is set to the moving average of <italic>R</italic>. For the generation task, when the target sequence is correctly generated, the reward <italic>R</italic> that is proportional to the length of the correctly generated sequence will be given.</p>
</sec>
<sec>
<title>3.5. Structural plasticity</title>
<p>Structural plasticity is a fundamental neural mechanism of the biological neural network in the brain, which is demonstrated to have a critical role in regulating circuit connection during learning (Caroni et al., <xref ref-type="bibr" rid="B7">2012</xref>). Structural plasticity refers that old synaptic connections may be pruned and new synaptic connections formed during the self-organization of neural networks (Lamprecht and LeDoux, <xref ref-type="bibr" rid="B17">2004</xref>). In our model, we apply structural plasticity to the connections among excitatory neurons. New connections will be added between two unconnected neurons with a probability <italic>p</italic><sub><italic>sp</italic></sub>&#x02208;(0, 1), and their weights are initialized as 0.001. <italic>p</italic><sub><italic>sp</italic></sub> is fine-tuned as a hyper-parameter to stabilize the recurrent layer. Old connections will be pruned if their weights are less than a near-zero threshold <italic>w</italic><sup><italic>th</italic></sup>&#x02208;(0, 1).</p>
<p>Structural plasticity can be formulated as follows:</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M19"><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x000A0;if&#x000A0;</mml:mtext><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mtext>&#x000A0;and&#x000A0;</mml:mtext><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0003C;</mml:mo><mml:msup><mml:mi>w</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.001</mml:mn><mml:mo>,</mml:mo><mml:mtext>&#x000A0;if&#x000A0;</mml:mtext><mml:msub><mml:mi>c</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mtext>&#x000A0;and&#x000A0;</mml:mtext><mml:mi>r</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mo>&#x0003E;</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>where <italic>c</italic><sub><italic>ij</italic></sub>&#x02208;{0, 1} indicates whether a connection from neuron <italic>j</italic> to neuron <italic>i</italic> exists or not. If <italic>c</italic><sub><italic>ij</italic></sub> &#x0003D; 1, the connection exists; if <italic>c</italic><sub><italic>ij</italic></sub> &#x0003D; 0, the connection does not exist. <italic>rnd</italic>&#x02208;(0, 1) is a uniformly distributed random number. <italic>w</italic><sub><italic>ij</italic></sub> denotes the weight of connection from neuron <italic>j</italic> to neuron <italic>i</italic>.</p>
</sec>
<sec>
<title>3.6. Homeostatic plasticity</title>
<p>Homeostatic plasticity is critical to alleviate the instability of neural networks. Two common homeostatic mechanisms are utilized in our method: synaptic normalization and intrinsic plasticity. The synaptic normalization is formulated as:</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M20"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>&#x02192;</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msub><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where the weights of all afferent connections to a neuron are proportionally scaled to make their sum equal to 1. Synaptic normalization can promote healthy competition among connections that connect to the same neuron.</p>
<p>The intrinsic plasticity enables to adjust the thresholds of excitatory neurons by an average firing rate &#x003BC;<sub><italic>ip</italic></sub>, which can be formulated as follows:</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M21"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>&#x00394;</mml:mi><mml:msubsup><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msubsup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>&#x003B7;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where &#x003B7;<sub><italic>ip</italic></sub> is the learning rate of the threshold. For excitatory neurons in the recurrent layer, &#x003BC;<sub><italic>ip</italic></sub> is fine-tuned in a range of [0.05, 0.25]. In the output layer, &#x003BC;<sub><italic>ip</italic></sub> is uniquely set for each neuron, corresponding to the expected occurrence probability of the symbol represented by the neuron. Due to the intrinsic plasticity, the threshold of a neuron in our model will increase if it is too active; otherwise, the threshold will decrease.</p>
</sec>
<sec>
<title>3.7. Two-stage training</title>
<p>A two-stage training scheme is proposed for RSRN-SP. In the first stage, the model is trained with R-STDP, homeostatic plasticity, and structural plasticity. In the second stage, the connection pattern and weight of the recurrent layer are fixed. The connection weight of the output layer is fine-tuned for specific tasks. The first stage is alternated with the second stage. In each alternation, the model takes about 100 steps at the first stage, and then proceeds to the second stage to take about 20,000 steps. During training, the alternation will be repeated about 200 times. During inference, the model will be evaluated on testing data. For the motion generation task, the output of the model is fed back as its input during training, and the model is used to generate desired output during inference. The algorithm for the first stage is listed here. The second-stage algorithm is similar, which only applies R-STDP and homeostatic plasticity at the output layer.</p>
<table-wrap position="float" id="T6">
<label>Algorithm 1</label>
<caption><p>The first-stage algorithm of RSRN-SP.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1224752-i0001.tif"/>
</table-wrap>
</sec>
</sec>
<sec id="s4">
<title>4. Experiments</title>
<sec>
<title>4.1. Experimental settings</title>
<p>Our model is evaluated on three tasks: counting task (Lazar et al., <xref ref-type="bibr" rid="B18">2009</xref>), motion prediction (Aswolinskiy and Pipa, <xref ref-type="bibr" rid="B2">2015</xref>), and motion generation (Aswolinskiy and Pipa, <xref ref-type="bibr" rid="B2">2015</xref>). The comparison approaches mainly involve SORN (Lazar et al., <xref ref-type="bibr" rid="B18">2009</xref>) and RM-SORN (Aswolinskiy and Pipa, <xref ref-type="bibr" rid="B2">2015</xref>). Notably, in SORN and RM-SORN, the weights to the output layer are trained with linear regression, and there is no structural plasticity applied in the recurrent layer. The model is implemented in Python programming on a Windows 10 computer with NVIDIA RTX 1080Ti. Source code and parameters are released at <ext-link ext-link-type="uri" xlink:href="https://github.com/yuanyesjtu/RSRN">Github</ext-link>.</p>
</sec>
<sec>
<title>4.2. Experiments for counting task</title>
<sec>
<title>4.2.1. Evaluation protocol</title>
<p>Two kinds of evaluation protocols are used: (1) overall performance is to evaluate the matching of all letters in a sequence; (2) counting performance is to evaluate the prediction accuracy for all subsequences in a sequence.</p>
</sec>
<sec>
<title>4.2.2. Results</title>
<p>The results for the counting task are shown in <xref ref-type="fig" rid="F3">Figure 3</xref> and <xref ref-type="table" rid="T2">Table 2</xref>. It can be observed that as the number <italic>n</italic> of the repetition of a letter in a subsequence increases, the overall performance fluctuates around 90% within a relatively narrow range, while the counting performance declines. This is because the value of <italic>n</italic> is proportional to the number of input patterns that the recurrent layer needs to learn. Larger <italic>n</italic> increases the difficulty of predicting the last letter of a subsequence, but reduces the difficulty of predicting the other letters of this subsequence. The counting performance gap among our model, SORN, and RM-SORN can be explained by the difference between reward-modulated learning and offline linear regression. SORN and RM-SORN try to learn all separable input patterns and minimize global mapping errors, whereas the reward of our model is computed as moving average within a time window, in which each individual input pattern is more effectively learned.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>The results of the counting task. <bold>(A)</bold> The overall performance. <bold>(B)</bold> The counting performance.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1224752-g0003.tif"/>
</fig>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>The results of the counting task.</p></caption> 
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold>Overall performance</bold></th>
<th valign="top" align="center" colspan="5"><italic><bold>n</bold></italic></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left"><italic>N</italic> &#x0003D; 200</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">20</td>
</tr> <tr>
<td valign="top" align="left">RM-SORN</td>
<td valign="top" align="center">94.02</td>
<td valign="top" align="center">94.23</td>
<td valign="top" align="center">91.39</td>
<td valign="top" align="center">87.56</td>
<td valign="top" align="center">89.73</td>
</tr>
<tr>
<td valign="top" align="left">RSRN-SP (Ours)</td>
<td valign="top" align="center">93.48</td>
<td valign="top" align="center">93.96</td>
<td valign="top" align="center"><bold>92.82</bold></td>
<td valign="top" align="center"><bold>89.28</bold></td>
<td valign="top" align="center"><bold>91.59</bold></td>
</tr> <tr>
<td valign="top" align="left"><italic>N</italic> &#x0003D; 400</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">20</td>
</tr> <tr>
<td valign="top" align="left">SORN</td>
<td valign="top" align="center">95.78</td>
<td valign="top" align="center">91.66</td>
<td valign="top" align="center">92.31</td>
<td valign="top" align="center">94.52</td>
<td valign="top" align="center">96.04</td>
</tr>
<tr>
<td valign="top" align="left">RSRN-SP (Ours)</td>
<td valign="top" align="center">92.64</td>
<td valign="top" align="center"><bold>95.92</bold></td>
<td valign="top" align="center"><bold>93.91</bold></td>
<td valign="top" align="center">92.43</td>
<td valign="top" align="center">94.58</td>
</tr> <tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<td valign="top" align="left"><bold>Counting performance</bold></td>
<td valign="top" align="center" colspan="5"><italic>n</italic></td>
</tr> <tr>
<td valign="top" align="left"><italic>N</italic> &#x0003D; 200</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">20</td>
</tr> <tr>
<td valign="top" align="left">RM-SORN</td>
<td valign="top" align="center">99.70</td>
<td valign="top" align="center">99.50</td>
<td valign="top" align="center">99.31</td>
<td valign="top" align="center">69.50</td>
<td valign="top" align="center">50.44</td>
</tr> <tr>
<td valign="top" align="left">RSRN-SP (Ours)</td>
<td valign="top" align="center"><bold>100.00</bold></td>
<td valign="top" align="center"><bold>100.00</bold></td>
<td valign="top" align="center"><bold>98.18</bold></td>
<td valign="top" align="center"><bold>81.17</bold></td>
<td valign="top" align="center"><bold>58.88</bold></td>
</tr> <tr>
<td valign="top" align="left"><italic>N</italic> &#x0003D; 400</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">20</td>
</tr> <tr>
<td valign="top" align="left">SORN</td>
<td valign="top" align="center">98.87</td>
<td valign="top" align="center">89.68</td>
<td valign="top" align="center">65.44</td>
<td valign="top" align="center">43.89</td>
<td valign="top" align="center">24.95</td>
</tr>
<tr>
<td valign="top" align="left">RSRN-SP (Ours)</td>
<td valign="top" align="center"><bold>100.00</bold></td>
<td valign="top" align="center"><bold>100.00</bold></td>
<td valign="top" align="center"><bold>100.00</bold></td>
<td valign="top" align="center"><bold>98.38</bold></td>
<td valign="top" align="center"><bold>86.04</bold></td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p>The bold values indicate that the method outperforms other models under the same conditions.</p>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec>
<title>4.3. Experiments for motion prediction task</title>
<sec>
<title>4.3.1. Results</title>
<p>As shown in <xref ref-type="fig" rid="F4">Figure 4A</xref> and <xref ref-type="table" rid="T3">Table 3</xref>, when <italic>n</italic> is small, our model, SORN and RM-SORN have high prediction accuracy. As <italic>n</italic> increases, the accuracy of the three models gradually decreases, and the accuracy of our model becomes higher than RM-SORN and lower than SORN. It is worth noting that in our model, increasing the number of neurons can greatly increase the performance of the model. Considering that our model has much less training difficulty than SORN, it can achieve an accuracy similar to SORN by increasing the number of neurons when <italic>n</italic> is very big.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>The results of the motion prediction and generation tasks. <bold>(A)</bold> The motion prediction task. <bold>(B)</bold> The motion generation task.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1224752-g0004.tif"/>
</fig>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>The results of the motion prediction task.</p></caption> 
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold><italic>N</italic> &#x0003D; 200</bold></th>
<th valign="top" align="center" colspan="5"><italic><bold>n</bold></italic></th>
</tr>
</thead>
<tbody>
<tr>
<td/>
<td valign="top" align="center">4</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">20</td>
</tr> <tr>
<td valign="top" align="left">RM-SORN</td>
<td valign="top" align="center">98.79</td>
<td valign="top" align="center">98.04</td>
<td valign="top" align="center">95.42</td>
<td valign="top" align="center">90.46</td>
<td valign="top" align="center">86.80</td>
</tr> <tr>
<td valign="top" align="left">RSRN-SP (Ours)</td>
<td valign="top" align="center"><bold>99.38</bold></td>
<td valign="top" align="center"><bold>98.63</bold></td>
<td valign="top" align="center"><bold>97.87</bold></td>
<td valign="top" align="center"><bold>93.51</bold></td>
<td valign="top" align="center"><bold>89.32</bold></td>
</tr> <tr>
<td valign="top" align="left"><italic>N</italic> &#x0003D; 400</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">20</td>
</tr> <tr>
<td valign="top" align="left">RM-SORN</td>
<td valign="top" align="center">99.46</td>
<td valign="top" align="center">99.08</td>
<td valign="top" align="center">98.57</td>
<td valign="top" align="center">96.96</td>
<td valign="top" align="center">93.92</td>
</tr>
<tr>
<td valign="top" align="left">RSRN-SP (Ours)</td>
<td valign="top" align="center"><bold>99.83</bold></td>
<td valign="top" align="center"><bold>99.28</bold></td>
<td valign="top" align="center"><bold>99.07</bold></td>
<td valign="top" align="center"><bold>97.99</bold></td>
<td valign="top" align="center"><bold>95.57</bold></td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p>The bold values indicate that the method outperforms other models under the same conditions.</p>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec>
<title>4.4. Experiments for motion generation task</title>
<sec>
<title>4.4.1. Evaluation protocol</title>
<p>The performance is calculated as the percentage of the symbols belonging to the target sequence to the total number of symbols. For example, assuming that the desired sequence is 1234. If the desired sequence is generated, the model receives the full reward of unit 1. Otherwise, it receives the reward of <inline-formula><mml:math id="M30"><mml:mfrac><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:mfrac></mml:math></inline-formula> for the sequence <italic>x</italic>123, <inline-formula><mml:math id="M31"><mml:mfrac><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:mfrac></mml:math></inline-formula> for the sequence <italic>xx</italic>12 and <inline-formula><mml:math id="M32"><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:mfrac></mml:math></inline-formula> for the sequence <italic>xxx</italic>1.</p>
</sec>
<sec>
<title>4.4.2. Results</title>
<p>As shown in <xref ref-type="fig" rid="F4">Figure 4B</xref> and <xref ref-type="table" rid="T4">Table 4</xref>, without external teaching signals, our model can still generate the desired sequence accurately. Success in this task shows that the model can generate an arbitrary sequence with the same symbol distribution as in the motion sequence.</p>
<table-wrap position="float" id="T4">
<label>Table 4</label>
<caption><p>The results of the motion generation task.</p></caption> 
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold><italic>N</italic> &#x0003D; 200</bold></th>
<th valign="top" align="center" colspan="5"><italic><bold>n</bold></italic></th>
</tr>
</thead>
<tbody>
<tr>
<td/>
<td valign="top" align="center">4</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">20</td>
</tr> <tr>
<td valign="top" align="left">RM-SORN</td>
<td valign="top" align="center">99.79</td>
<td valign="top" align="center">96.66</td>
<td valign="top" align="center">91.24</td>
<td valign="top" align="center">43.20</td>
<td valign="top" align="center">0.00</td>
</tr> <tr>
<td valign="top" align="left">RSRN-SP (Ours)</td>
<td valign="top" align="center"><bold>99.90</bold></td>
<td valign="top" align="center"><bold>98.98</bold></td>
<td valign="top" align="center"><bold>93.13</bold></td>
<td valign="top" align="center"><bold>56.40</bold></td>
<td valign="top" align="center"><bold>18.78</bold></td>
</tr> <tr>
<td valign="top" align="left"><italic>N</italic> &#x0003D; 400</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">12</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">20</td>
</tr> <tr>
<td valign="top" align="left">RM-SORN</td>
<td valign="top" align="center">99.92</td>
<td valign="top" align="center">99.66</td>
<td valign="top" align="center">97.24</td>
<td valign="top" align="center">81.20</td>
<td valign="top" align="center">66.70</td>
</tr>
<tr>
<td valign="top" align="left">RSRN-SP (Ours)</td>
<td valign="top" align="center"><bold>100.00</bold></td>
<td valign="top" align="center"><bold>99.98</bold></td>
<td valign="top" align="center"><bold>96.13</bold></td>
<td valign="top" align="center"><bold>84.64</bold></td>
<td valign="top" align="center"><bold>71.54</bold></td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p>The bold values indicate that the method outperforms other models under the same conditions.</p>
</table-wrap-foot>
</table-wrap>
<p>As a result of the self-organization driven by multiple plasticity, the recurrent layer can an create effective representation of inputs. The model containing 400 neurons outperforms that containing 200 neurons, suggesting that the memory capacity of the model is closely related to the number of neurons.</p>
</sec>
</sec>
<sec>
<title>4.5. Influence of structural plasticity</title>
<p>To study structural plasticity, the models with different <italic>N</italic> and <italic>p</italic><sub><italic>c</italic></sub> are constructed in the counting task. <xref ref-type="fig" rid="F5">Figure 5</xref> and <xref ref-type="table" rid="T5">Table 5</xref> suggest that the recurrent layer with structural plasticity outperforms that without structural plasticity. The performance improvement is larger when the recurrent layer is initialized with sparse connectivity. The recurrent layer with structural plasticity has great advantage, which is prominent when the connection patterns are not reasonably initialized. In the case of initial <italic>p</italic><sub><italic>c</italic></sub> = 0.002, the connection fractions change into 0.011 and 0.008 after training, for the model of <italic>N</italic> &#x0003D; 200 and <italic>N</italic> &#x0003D; 400, respectively. When the initial <italic>p</italic><sub><italic>c</italic></sub> is set to 0.01, the increment is much smaller. The decrease is much smaller for <italic>p</italic><sub><italic>c</italic></sub> = 0.1, compared to the case of <italic>p</italic><sub><italic>c</italic></sub> = 0.2. It is testified that the model of <italic>N</italic> &#x0003D; 200 and <italic>N</italic> &#x0003D; 400 achieved the best performance with <italic>p</italic><sub><italic>c</italic></sub> = 0.05 and <italic>p</italic><sub><italic>c</italic></sub> = 0.0125, respectively.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>The performance of RSRN with and without structural plasticity (SP), with initial <italic>p</italic><sub><italic>c</italic></sub> = 0.002, 0.01, 0.1, 0.2, on the counting task. <bold>(A)</bold> The network consisting of <italic>N</italic> = 200 neurons. <bold>(B)</bold> The network consisting of <italic>N</italic> = 400 neurons.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1224752-g0005.tif"/>
</fig>
<table-wrap position="float" id="T5">
<label>Table 5</label>
<caption><p>The changes of E-E connection fractions of RSRN-SP on the counting tasks at four initial connection fractions.</p></caption> 
<table frame="box" rules="all">
<thead>
<tr style="background-color:&#x00023;919498;color:&#x00023;ffffff">
<th valign="top" align="left"><bold><inline-formula><mml:math id="M33"><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula></bold></th>
<th valign="top" align="center" colspan="2"><italic><bold>N</bold></italic> &#x0003D; 200</th>
<th valign="top" align="center" colspan="2"><italic><bold>N</bold></italic> &#x0003D; 400</th>
</tr>
</thead>
<tbody>
<tr>
<td/>
<td valign="top" align="center"><inline-formula><mml:math id="M34"><mml:mi>&#x00394;</mml:mi><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M35"><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M36"><mml:mi>&#x00394;</mml:mi><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td valign="top" align="center"><inline-formula><mml:math id="M37"><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula></td>
</tr> <tr>
<td valign="top" align="left">0.002</td>
<td valign="top" align="center">&#x0002B;(459 &#x000B1; 242)%</td>
<td valign="top" align="center">0.011</td>
<td valign="top" align="center">&#x0002B;(305 &#x000B1; 223)%</td>
<td valign="top" align="center">0.008</td>
</tr> <tr>
<td valign="top" align="left">0.01</td>
<td valign="top" align="center">&#x0002B;(53 &#x000B1; 29)%</td>
<td valign="top" align="center">0.015</td>
<td valign="top" align="center">&#x0002B;(53 &#x000B1; 20)%</td>
<td valign="top" align="center">0.015</td>
</tr> <tr>
<td valign="top" align="left">0.1</td>
<td valign="top" align="center">&#x02212;(37 &#x000B1; 11)%</td>
<td valign="top" align="center">0.063</td>
<td valign="top" align="center">&#x02212;(41 &#x000B1; 13)%</td>
<td valign="top" align="center">0.059</td>
</tr>
<tr>
<td valign="top" align="left">0.2</td>
<td valign="top" align="center">&#x02212;(46 &#x000B1; 10)%</td>
<td valign="top" align="center">0.108</td>
<td valign="top" align="center">&#x02212;(50 &#x000B1; 11)%</td>
<td valign="top" align="center">0.099</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="TN1"><p><inline-formula><mml:math id="M38"><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula> is the initial connection fraction.</p></fn>
<fn id="TN2"><p><inline-formula><mml:math id="M39"><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula> is the connection fraction after the training, which is computed as the average of the model on the counting tasks (<italic>n</italic> &#x0003D; [4, 8, .., 32]).</p></fn>
<fn id="TN3"><p>The relative change of <inline-formula><mml:math id="M40"><mml:mi>&#x00394;</mml:mi><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula> is denoted as &#x0201C;(mean &#x000B1; std)&#x0201D;.</p></fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec>
<title>4.6. Synaptic connection characteristics of RSRN-SP</title>
<p>The connection pattern of cortex exhibits some fundamental characteristics (Zheng et al., <xref ref-type="bibr" rid="B32">2013</xref>), e.g., lognormal-like distribution of synaptic weight, power-law distribution of synaptic lifecycle, and a tendency for stronger connections to be more stable. To study whether these characteristics exist in RSRN-SP, we simulated a model of 200 and 400 on the counting task of <italic>n</italic> &#x0003D; 8. As shown in <xref ref-type="fig" rid="F6">Figures 6A</xref>, <xref ref-type="fig" rid="F6">B</xref>, the synaptic weights exhibit lognormal-like distribution, which is consistent with biological observations (Song et al., <xref ref-type="bibr" rid="B22">2005</xref>; Loewenstein et al., <xref ref-type="bibr" rid="B19">2011</xref>). <xref ref-type="fig" rid="F6">Figures 6C</xref>, <xref ref-type="fig" rid="F6">D</xref> demonstrated that the distribution of lifecycle of newly formed connections can be roughly fitted by a power law. Most of newly formed connections tend to disappear and only a few of them can persist and become strong.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>The synaptic connection characteristics of RSRN-SP. <bold>(A, B)</bold> Synaptic weight distribution. Blue bars are synaptic weight distribution histogram. Red line is lognormal distribution fit curve. <bold>(C, D)</bold> Synaptic lifecycle distribution. Red line is distribution fit curve.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1224752-g0006.tif"/>
</fig>
</sec>
</sec>
<sec id="s5">
<title>5. Discussion and conclusion</title>
<p>To understand how multiple plasticities interact to shape biological neural networks and affect neural signal processing, we proposed a novel spiking neural network incorporating with multiple neural plasticity from neurophysiology, e.g., reward-modulated spike timing-dependent plasticity, homeostatic plasticity, and structural plasticity. In particular, homeostatic plasticity and reward-modulated spike timing-dependent plasticity are used to promote the consistency between the network updating and brain learning, which help to guide the updating of connection weight during training SNNs. Specially, structural plasticity is introduced to simulate the growth and pruning of connections in the network, which could guarantee the consistency between the network structure and brain structure.</p>
<p>Here, our work attempts to combine R-STDP with other plasticity mechanisms to achieve better training results. The simulations demonstrated that (1) reward-modulated spike timing-dependent plasticity, structural plasticity, and homeostatic plasticity can work in coordination to empower neural networks to learn; (2) structural plasticity weakens the network connection stability but enhances its ability to adapt to the input; (3) RSRN-SP could effectively learn the representation of the input, and achieves better performance on sequence learning tasks than the same type of spiking neural network including SORN and RM-SORN. Furthermore, the simulations also indicate that the characteristics arose from RSRN-SP are consistent with biological observations.</p>
<p>Compared to the widely used artificial neural networks, our spiking neural network is not easy to train due to complex temporal encoding, variable connection pattern, and diverse plasticity mechanisms. One challenge stems from the temporal encoding, which allows information to be processed in the form of spikes in SNNs. However, spikes are not mathematically differentiable, making it difficult to apply traditional gradient-based optimization algorithms. The generation of new connections and the disappearance of old connections also increase the difficulty of network training. To address these challenges, some studies have explored R-STDP (Fr&#x000E9;maux and Gerstner, <xref ref-type="bibr" rid="B11">2016</xref>), which is considered a biologically plausible learning algorithm suitable for SNNs. Nevertheless, how efficient learning of SNNs can be achieved by R-STDP, while maintaining sustained balanced network activity remains an open question.</p>
</sec>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p></sec>
<sec sec-type="author-contributions" id="s7">
<title>Author contributions</title>
<p>YY: software, formal analysis, and writing&#x02014;original draft. RL, TF, QL, and HH: writing&#x02014;reviewing and editing. XX and LW: data curation. NL: supervision and funding acquisition. All authors contributed to the article and approved the submitted version.</p>
</sec>
</body>
<back>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>This study was supported by the Young Scientists Fund of the National Natural Science Foundation of China (Grant No. 62206175), the Pujiang Talents Plan of Shanghai (Grant No. 2019PJD035), and the Artificial Intelligence Innovation and Development Special Fund of Shanghai (Grant No. 2019RGZN01041).</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of interest</title>
<p>LW was employed by Origin Dynamics Intelligent Robot Co., Ltd. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Anwar</surname> <given-names>H.</given-names></name> <name><surname>Caby</surname> <given-names>S.</given-names></name> <name><surname>Dura-Bernal</surname> <given-names>S.</given-names></name> <name><surname>D&#x00027;Onofrio</surname> <given-names>D.</given-names></name> <name><surname>Hasegan</surname> <given-names>D.</given-names></name> <name><surname>Deible</surname> <given-names>M.</given-names></name> <etal/></person-group>. (<year>2022</year>). <article-title>Training a spiking neuronal network model of visual-motor cortex to play a virtual racket-ball game using reinforcement learning</article-title>. <source>PLoS ONE</source> <volume>17</volume>, <fpage>e0265808</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0265808</pub-id><pub-id pub-id-type="pmid">35544518</pub-id></citation></ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Aswolinskiy</surname> <given-names>W.</given-names></name> <name><surname>Pipa</surname> <given-names>G.</given-names></name></person-group> (<year>2015</year>). <article-title>RM-SORN: a reward-modulated self-organizing recurrent neural network</article-title>. <source>Front. Comput. Neurosci.</source> <volume>9</volume>, <fpage>36</fpage>. <pub-id pub-id-type="doi">10.3389/fncom.2015.00036</pub-id><pub-id pub-id-type="pmid">25852533</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bassett</surname> <given-names>D. S.</given-names></name> <name><surname>Sporns</surname> <given-names>O.</given-names></name></person-group> (<year>2017</year>). <article-title>Network neuroscience</article-title>. <source>Nat. Neurosci.</source> <volume>20</volume>, <fpage>353</fpage>&#x02013;<lpage>364</lpage>. <pub-id pub-id-type="doi">10.1038/nn.4502</pub-id><pub-id pub-id-type="pmid">28230844</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bellec</surname> <given-names>G.</given-names></name> <name><surname>Scherr</surname> <given-names>F.</given-names></name> <name><surname>Subramoney</surname> <given-names>A.</given-names></name> <name><surname>Hajek</surname> <given-names>E.</given-names></name> <name><surname>Salaj</surname> <given-names>D.</given-names></name> <name><surname>Legenstein</surname> <given-names>R.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>A solution to the learning dilemma for recurrent networks of spiking neurons</article-title>. <source>Nat. Commun.</source> <volume>11</volume>, <fpage>3625</fpage>. <pub-id pub-id-type="doi">10.1038/s41467-020-17236-y</pub-id><pub-id pub-id-type="pmid">32681001</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Brzosko</surname> <given-names>Z.</given-names></name> <name><surname>Mierau</surname> <given-names>S. B.</given-names></name> <name><surname>Paulsen</surname> <given-names>O.</given-names></name></person-group> (<year>2019</year>). <article-title>Neuromodulation of spike-timing-dependent plasticity: past, present, and future</article-title>. <source>Neuron</source> <volume>103</volume>, <fpage>563</fpage>&#x02013;<lpage>581</lpage>. <pub-id pub-id-type="doi">10.1016/j.neuron.2019.05.041</pub-id><pub-id pub-id-type="pmid">31437453</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Caporale</surname> <given-names>N.</given-names></name> <name><surname>Dan</surname> <given-names>Y.</given-names></name></person-group> (<year>2008</year>). <article-title>Spike timing&#x02013;dependent plasticity: a Hebbian learning rule</article-title>. <source>Annu. Rev. Neurosci.</source> <volume>31</volume>, <fpage>25</fpage>&#x02013;<lpage>46</lpage>. <pub-id pub-id-type="doi">10.1146/annurev.neuro.31.060407.125639</pub-id><pub-id pub-id-type="pmid">18275283</pub-id></citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Caroni</surname> <given-names>P.</given-names></name> <name><surname>Donato</surname> <given-names>F.</given-names></name> <name><surname>Muller</surname> <given-names>D.</given-names></name></person-group> (<year>2012</year>). <article-title>Structural plasticity upon learning: regulation and functions</article-title>. <source>Nat. Rev. Neurosci.</source> <volume>13</volume>, <fpage>478</fpage>&#x02013;<lpage>490</lpage>. <pub-id pub-id-type="doi">10.1038/nrn3258</pub-id><pub-id pub-id-type="pmid">22714019</pub-id></citation></ref>
<ref id="B8">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Dayan</surname> <given-names>P.</given-names></name> <name><surname>Abbott</surname> <given-names>L. F.</given-names></name></person-group> (<year>2001</year>). <source>Theoretical Neuroscience: Computational and Mathematical Modeling of Neural Systems</source>. <publisher-name>MIT Press.</publisher-name></citation>
</ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Delvendahl</surname> <given-names>I.</given-names></name> <name><surname>M&#x000FC;ller</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>Homeostatic plasticity - a presynaptic perspective</article-title>. <source>Curr. Opin. Neurobiol.</source> <volume>54</volume>, <fpage>155</fpage>&#x02013;<lpage>162</lpage>. <pub-id pub-id-type="doi">10.1016/j.conb.2018.10.003</pub-id><pub-id pub-id-type="pmid">30384022</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dora</surname> <given-names>S.</given-names></name> <name><surname>Subramanian</surname> <given-names>K.</given-names></name> <name><surname>Suresh</surname> <given-names>S.</given-names></name> <name><surname>Sundararajan</surname> <given-names>N.</given-names></name></person-group> (<year>2016</year>). <article-title>Development of a self-regulating evolving spiking neural network for classification problem</article-title>. <source>Neurocomputing</source> <volume>171</volume>, <fpage>1216</fpage>&#x02013;<lpage>1229</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2015.07.086</pub-id></citation>
</ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fr&#x000E9;maux</surname> <given-names>N.</given-names></name> <name><surname>Gerstner</surname> <given-names>W.</given-names></name></person-group> (<year>2016</year>). <article-title>Neuromodulated spike-timing-dependent plasticity, and theory of three-factor learning rules</article-title>. <source>Front. Neural Circ.</source> <volume>9</volume>, <fpage>85</fpage>. <pub-id pub-id-type="doi">10.3389/fncir.2015.00085</pub-id><pub-id pub-id-type="pmid">26834568</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gao</surname> <given-names>H.</given-names></name> <name><surname>He</surname> <given-names>J.</given-names></name> <name><surname>Wang</surname> <given-names>H.</given-names></name> <name><surname>Wang</surname> <given-names>T.</given-names></name> <name><surname>Zhong</surname> <given-names>Z.</given-names></name> <name><surname>Yu</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>2023</year>). <article-title>High-accuracy deep ANN-to-SNN conversion using quantization-aware training framework and calcium-gated bipolar leaky integrate and fire neuron</article-title>. <source>Front. Neurosci.</source> <volume>17</volume>, <fpage>1141701</fpage>. <pub-id pub-id-type="doi">10.3389/fnins.2023.1141701</pub-id><pub-id pub-id-type="pmid">36968504</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ha&#x0015F;egan</surname> <given-names>D.</given-names></name> <name><surname>Deible</surname> <given-names>M.</given-names></name> <name><surname>Earl</surname> <given-names>C.</given-names></name> <name><surname>D&#x00027;Onofrio</surname> <given-names>D.</given-names></name> <name><surname>Hazan</surname> <given-names>H.</given-names></name> <name><surname>Anwar</surname> <given-names>H.</given-names></name> <etal/></person-group>. (<year>2022</year>). <article-title>Training spiking neuronal networks to perform motor control using reinforcement and evolutionary learning</article-title>. <source>Front. Comput. Neurosci.</source> <volume>16</volume>, <fpage>1017284</fpage>. <pub-id pub-id-type="doi">10.3389/fncom.2022.1017284</pub-id><pub-id pub-id-type="pmid">36249482</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Izhikevich</surname> <given-names>E. M.</given-names></name></person-group> (<year>2004</year>). <article-title>Which model to use for cortical spiking neurons?</article-title> <source>IEEE Trans. Neural Netw.</source> <volume>15</volume>, <fpage>1063</fpage>&#x02013;<lpage>1070</lpage>. <pub-id pub-id-type="doi">10.1109/TNN.2004.832719</pub-id><pub-id pub-id-type="pmid">15484883</pub-id></citation></ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Izhikevich</surname> <given-names>E. M.</given-names></name></person-group> (<year>2007</year>). <article-title>Solving the distal reward problem through linkage of stdp and dopamine signaling</article-title>. <source>Cereb. Cortex</source> <volume>17</volume>, <fpage>2443</fpage>&#x02013;<lpage>2452</lpage>. <pub-id pub-id-type="doi">10.1093/cercor/bhl152</pub-id><pub-id pub-id-type="pmid">17220510</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ju</surname> <given-names>X.</given-names></name> <name><surname>Fang</surname> <given-names>B.</given-names></name> <name><surname>Yan</surname> <given-names>R.</given-names></name> <name><surname>Xu</surname> <given-names>X.</given-names></name> <name><surname>Tang</surname> <given-names>H.</given-names></name></person-group> (<year>2020</year>). <article-title>An fpga implementation of deep spiking neural networks for low-power and fast classification</article-title>. <source>Neural Comput.</source> <volume>32</volume>, <fpage>182</fpage>&#x02013;<lpage>204</lpage>. <pub-id pub-id-type="doi">10.1162/neco_a_01245</pub-id><pub-id pub-id-type="pmid">31703174</pub-id></citation></ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lamprecht</surname> <given-names>R.</given-names></name> <name><surname>LeDoux</surname> <given-names>J.</given-names></name></person-group> (<year>2004</year>). <article-title>Structural plasticity and memory</article-title>. <source>Nat. Rev. Neurosci.</source> <volume>5</volume>, <fpage>45</fpage>&#x02013;<lpage>54</lpage>. <pub-id pub-id-type="doi">10.1038/nrn1301</pub-id><pub-id pub-id-type="pmid">14708003</pub-id></citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lazar</surname> <given-names>A.</given-names></name> <name><surname>Pipa</surname> <given-names>G.</given-names></name> <name><surname>Triesch</surname> <given-names>J.</given-names></name></person-group> (<year>2009</year>). <article-title>SORN: a self-organizing recurrent neural network</article-title>. <source>Front. Comput. Neurosci.</source> <volume>3</volume>, <fpage>23</fpage>. <pub-id pub-id-type="doi">10.3389/neuro.10.023.2009</pub-id><pub-id pub-id-type="pmid">25852533</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Loewenstein</surname> <given-names>Y.</given-names></name> <name><surname>Kuras</surname> <given-names>A.</given-names></name> <name><surname>Rumpel</surname> <given-names>S.</given-names></name></person-group> (<year>2011</year>). <article-title>Multiplicative dynamics underlie the emergence of the log-normal distribution of spine sizes in the neocortex <italic>in vivo</italic></article-title>. <source>J. Neurosci.</source> <volume>31</volume>, <fpage>9481</fpage>&#x02013;<lpage>9488</lpage>. <pub-id pub-id-type="doi">10.1002/aisy.202000096</pub-id><pub-id pub-id-type="pmid">21715613</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Milano</surname> <given-names>G.</given-names></name> <name><surname>Pedretti</surname> <given-names>G.</given-names></name> <name><surname>Fretto</surname> <given-names>M.</given-names></name> <name><surname>Boarino</surname> <given-names>L.</given-names></name> <name><surname>Benfenati</surname> <given-names>F.</given-names></name> <name><surname>Ielmini</surname> <given-names>D.</given-names></name> <etal/></person-group>. (<year>2020</year>). <article-title>Brain-inspired structural plasticity through reweighting and rewiring in multi-terminal self-organizing memristive nanowire networks</article-title>. <source>Adv. Intell. Syst.</source> <volume>2</volume>, <fpage>2000096</fpage>. <pub-id pub-id-type="doi">10.3389/fnins.2018.00774</pub-id><pub-id pub-id-type="pmid">30410432</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Pfeiffer</surname> <given-names>M.</given-names></name> <name><surname>Pfeil</surname> <given-names>T.</given-names></name></person-group> (<year>2018</year>). <article-title>Deep learning with spiking neurons: opportunities and challenges</article-title>. <source>Front. Neurosci.</source> <volume>12</volume>, <fpage>774</fpage>.<pub-id pub-id-type="pmid">30410432</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Song</surname> <given-names>S.</given-names></name> <name><surname>Sj&#x000F6;str&#x000F6;m</surname> <given-names>P. J.</given-names></name> <name><surname>Reigl</surname> <given-names>M.</given-names></name> <name><surname>Nelson</surname> <given-names>S.</given-names></name> <name><surname>Chklovskii</surname> <given-names>D. B.</given-names></name></person-group> (<year>2005</year>). <article-title>Highly nonrandom features of synaptic connectivity in local cortical circuits</article-title>. <source>PLoS Biol.</source> <volume>3</volume>, <fpage>e68</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pbio.0030068</pub-id><pub-id pub-id-type="pmid">15737062</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Taherkhani</surname> <given-names>A.</given-names></name> <name><surname>Belatreche</surname> <given-names>A.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Cosma</surname> <given-names>G.</given-names></name> <name><surname>Maguire</surname> <given-names>L. P.</given-names></name> <name><surname>McGinnity</surname> <given-names>T. M.</given-names></name></person-group> (<year>2020</year>). <article-title>A review of learning in biologically plausible spiking neural networks</article-title>. <source>Neural Netw.</source> <volume>122</volume>, <fpage>253</fpage>&#x02013;<lpage>272</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2019.09.036</pub-id><pub-id pub-id-type="pmid">31726331</pub-id></citation></ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>X.</given-names></name> <name><surname>Lin</surname> <given-names>X.</given-names></name> <name><surname>Dang</surname> <given-names>X.</given-names></name></person-group> (<year>2020</year>). <article-title>Supervised learning in spiking neural networks: a review of algorithms and evaluations</article-title>. <source>Neural Netw.</source> <volume>125</volume>, <fpage>258</fpage>&#x02013;<lpage>280</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2020.02.011</pub-id><pub-id pub-id-type="pmid">32146356</pub-id></citation></ref>
<ref id="B25">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Xing</surname> <given-names>F.</given-names></name> <name><surname>Yuan</surname> <given-names>Y.</given-names></name> <name><surname>Huo</surname> <given-names>H.</given-names></name> <name><surname>Fang</surname> <given-names>T.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Homeostasis-based CNN-to-SNN conversion of inception and residual architectures,&#x0201D;</article-title> in <source>International Conference on Neural Information Processing</source> (<publisher-loc>Sydney, NSW</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>173</fpage>&#x02013;<lpage>184</lpage>.</citation>
</ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xu</surname> <given-names>Q.</given-names></name> <name><surname>Shen</surname> <given-names>J.</given-names></name> <name><surname>Ran</surname> <given-names>X.</given-names></name> <name><surname>Tang</surname> <given-names>H.</given-names></name> <name><surname>Pan</surname> <given-names>G.</given-names></name> <name><surname>Liu</surname> <given-names>J. K.</given-names></name></person-group> (<year>2021</year>). <article-title>Robust transcoding sensory information with neural spikes</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst</source>. <volume>33</volume>, <fpage>1935</fpage>&#x02013;<lpage>1946</lpage>. <pub-id pub-id-type="doi">10.1109/TNNLS.2021.3107449</pub-id><pub-id pub-id-type="pmid">34665741</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yu</surname> <given-names>Q.</given-names></name> <name><surname>Tang</surname> <given-names>H.</given-names></name> <name><surname>Tan</surname> <given-names>K. C.</given-names></name> <name><surname>Yu</surname> <given-names>H.</given-names></name></person-group> (<year>2014</year>). <article-title>A brain-inspired spiking neural network model with temporal encoding and learning</article-title>. <source>Neurocomputing</source> <volume>138</volume>, <fpage>3</fpage>&#x02013;<lpage>13</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2013.06.052</pub-id></citation>
</ref>
<ref id="B28">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yuan</surname> <given-names>Y.</given-names></name> <name><surname>Huo</surname> <given-names>H.</given-names></name> <name><surname>Zhao</surname> <given-names>P.</given-names></name> <name><surname>Liu</surname> <given-names>J.</given-names></name> <name><surname>Liu</surname> <given-names>J.</given-names></name> <name><surname>Xing</surname> <given-names>F.</given-names></name> <etal/></person-group>. (<year>2018</year>). <article-title>Constraints of metabolic energy on the number of synaptic connections of neurons and the density of neuronal networks</article-title>. <source>Front. Comput. Neurosci.</source> <volume>12</volume>, <fpage>91</fpage>. <pub-id pub-id-type="doi">10.3389/fncom.2018.00091</pub-id><pub-id pub-id-type="pmid">30524259</pub-id></citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>T.</given-names></name> <name><surname>Jia</surname> <given-names>S.</given-names></name> <name><surname>Cheng</surname> <given-names>X.</given-names></name> <name><surname>Xu</surname> <given-names>B.</given-names></name></person-group> (<year>2021</year>). <article-title>Tuning convolutional spiking neural network with biologically plausible reward propagation</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst</source>. <volume>33</volume>, <fpage>7621</fpage>&#x02013;<lpage>7631</lpage>. <pub-id pub-id-type="doi">10.1109/TNNLS.2021.3085966</pub-id><pub-id pub-id-type="pmid">34125691</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>T.</given-names></name> <name><surname>Zeng</surname> <given-names>Y.</given-names></name> <name><surname>Zhao</surname> <given-names>D.</given-names></name> <name><surname>Shi</surname> <given-names>M.</given-names></name></person-group> (<year>2018a</year>). <article-title>&#x0201C;A plasticity-centric approach to train the non-differential spiking neural networks,&#x0201D;</article-title> in <source>Thirty-Second AAAI Conference on Artificial Intelligence</source>.</citation>
</ref>
<ref id="B31">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>T.</given-names></name> <name><surname>Zeng</surname> <given-names>Y.</given-names></name> <name><surname>Zhao</surname> <given-names>D.</given-names></name> <name><surname>Xu</surname> <given-names>B.</given-names></name></person-group> (<year>2018b</year>). <article-title>&#x0201C;Brain-inspired balanced tuning for spiking neural networks,&#x0201D;</article-title> in <source>IJCAI</source> (<publisher-loc>Stockholm</publisher-loc>), <fpage>1653</fpage>&#x02013;<lpage>1659</lpage>.</citation>
</ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zheng</surname> <given-names>P.</given-names></name> <name><surname>Dimitrakakis</surname> <given-names>C.</given-names></name> <name><surname>Triesch</surname> <given-names>J.</given-names></name></person-group> (<year>2013</year>). <article-title>Network self-organization explains the statistics and dynamics of synaptic connection strengths in cortex</article-title>. <source>PLoS Comput. Biol.</source> <volume>9</volume>, <fpage>e1002848</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pcbi.1002848</pub-id><pub-id pub-id-type="pmid">23300431</pub-id></citation></ref>
</ref-list> 
</back>
</article> 