<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article 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.2019.00031</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>Information-Theoretic Intrinsic Plasticity for Online Unsupervised Learning in Spiking Neural Networks</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Zhang</surname> <given-names>Wenrui</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/601652/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Li</surname> <given-names>Peng</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
</contrib>
</contrib-group>
<aff><institution>Department of Electrical and Computer Engineering, Texas A&#x00026;M University</institution>, <addr-line>College Station, TX</addr-line>, <country>United States</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Andr&#x000E9; van Schaik, Western Sydney University, Australia</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Paul Miller, Brandeis University, United States; Priyadarshini Panda, Purdue University, United States</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Peng Li <email>pli&#x00040;tamu.edu</email></corresp>
<fn fn-type="other" id="fn001"><p>This article was submitted to Neuromorphic Engineering, a section of the journal Frontiers in Neuroscience</p></fn></author-notes>
<pub-date pub-type="epub">
<day>05</day>
<month>02</month>
<year>2019</year>
</pub-date>
<pub-date pub-type="collection">
<year>2019</year>
</pub-date>
<volume>13</volume>
<elocation-id>31</elocation-id>
<history>
<date date-type="received">
<day>20</day>
<month>08</month>
<year>2018</year>
</date>
<date date-type="accepted">
<day>14</day>
<month>01</month>
<year>2019</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2019 Zhang and Li.</copyright-statement>
<copyright-year>2019</copyright-year>
<copyright-holder>Zhang and Li</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><p>As a self-adaptive mechanism, intrinsic plasticity (IP) plays an essential role in maintaining homeostasis and shaping the dynamics of neural circuits. From a computational point of view, IP has the potential to enable promising non-Hebbian learning in artificial neural networks. While IP based learning has been attempted for spiking neuron models, the existing IP rules are <italic>ad hoc</italic> in nature, and the practical success of their application has not been demonstrated particularly toward enabling real-life learning tasks. This work aims to address the theoretical and practical limitations of the existing works by proposing a new IP rule named SpiKL-IP. SpiKL-IP is developed based on a rigorous information-theoretic approach where the target of IP tuning is to maximize the entropy of the output firing rate distribution of each spiking neuron. This goal is achieved by tuning the output firing rate distribution toward a targeted optimal exponential distribution. Operating on a proposed firing-rate transfer function, SpiKL-IP adapts the intrinsic parameters of a spiking neuron while minimizing the KL-divergence from the targeted exponential distribution to the actual output firing rate distribution. SpiKL-IP can robustly operate in an online manner under complex inputs and network settings. Simulation studies demonstrate that the application of SpiKL-IP to individual neurons in isolation or as part of a larger spiking neural network robustly produces the desired exponential distribution. The evaluation of SpiKL-IP under real-world speech and image classification tasks shows that SpiKL-IP noticeably outperforms two existing IP rules and can significantly boost recognition accuracy by up to more than 16%.</p></abstract>
<kwd-group>
<kwd>intrinsic plasticity</kwd>
<kwd>spiking neural networks</kwd>
<kwd>unsupervised learning</kwd>
<kwd>liquid state machine</kwd>
<kwd>speech recognition</kwd>
<kwd>image classification</kwd>
</kwd-group>
<contract-sponsor id="cn001">Texas A and M University<named-content content-type="fundref-id">10.13039/100007904</named-content></contract-sponsor>
<counts>
<fig-count count="12"/>
<table-count count="2"/>
<equation-count count="23"/>
<ref-count count="29"/>
<page-count count="14"/>
<word-count count="9018"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p>Neural plasticity, the brain&#x00027;s ability to adapt in response to stimuli from the environment, has received increasing interest from both a biological and a computational perspective. As one such main self-adaptive mechanism, intrinsic plasticity (IP) plays an important role in temporal coding and maintenance of neuronal homeostasis. Behaviors of IP have been discovered in brain areas of many species, and IP has been shown to be crucial in shaping the dynamics of neural circuits (Marder et al., <xref ref-type="bibr" rid="B20">1996</xref>). In particular, Baddeley et al. (<xref ref-type="bibr" rid="B1">1997</xref>) observed the exponentially distributed neuron responses in visual cortical neurons. Such responses may aim at allowing neurons to transmit the maximum amount of information, e.g., measured by the highest entropy, to their outputs with a constrained level of firing activity. Discovered in individual biological neurons, IP changes the excitability of neurons through modification of voltage-gated channels (Desai et al., <xref ref-type="bibr" rid="B6">1999</xref>).</p>
<p>From a computational point of view, one of the early biological IP models was explored on the Hodgkin-Huxley type neurons where a number of voltage-gated conductances were considered (Stemmler and Koch, <xref ref-type="bibr" rid="B26">1999</xref>). Since then, much IP mechanism research has been conducted for different kinds of artificial neurons. On the one hand, Triesch (<xref ref-type="bibr" rid="B27">2005</xref>) first proposed a mathematical approach to derive an IP rule based on the sigmoid neuron model. This work used the Kullback Leibler (KL) divergence from an exponential distribution to the actual output firing rate distribution to derive an adaptation rule for the neuron to generate responses following the exponential distribution. Based on the same principle, an IP rule for hyperbolic tangent neurons was also proposed (Schrauwen et al., <xref ref-type="bibr" rid="B25">2008</xref>). On the other hand, IP can control average firing activity and aid synapses to undergo Hebbian modification via STDP depending upon their history of use (Watt and Desai, <xref ref-type="bibr" rid="B28">2010</xref>). Furthermore, it was shown that an improvement in performance could be obtained when the reservoir of an echo state network (ESN) is adapted using IP such that the neurons in the network can autonomously tune themselves to the desired output distribution (Schrauwen et al., <xref ref-type="bibr" rid="B25">2008</xref>).</p>
<p>As the third generation of artificial neural networks, it has been shown that spiking neural networks (SNN) are more computationally powerful than previous generations of neural networks (Maass, <xref ref-type="bibr" rid="B18">1997</xref>). However, developing effective intrinsic plasticity (IP) mechanisms for SNNs is a challenging problem. Several empirical IP rules were proposed for SNNs, however, without a rigorous theoretical foundation. Lazar et al. (<xref ref-type="bibr" rid="B11">2007</xref>) presented an IP rule by which a spiking neuron&#x00027;s firing threshold voltage changes by a fixed value per update based on whether the neuron fired or not. However, this method cannot precisely determine when and how much the firing threshold voltage should be changed in different situations, and there is no clear understanding of the optimality of the resulting IP behavior. Li and Li (<xref ref-type="bibr" rid="B14">2013</xref>) presented an approach in which the parameters of the IP rule derived for sigmoid neurons in Li (<xref ref-type="bibr" rid="B13">2011</xref>) were empirically mapped to ones for spiking neurons. Since this rule is derived based on the sigmoid neuron model which is significantly different from the spiking neuron model, the property of this IP rule remains elusive when it is applied to adapt the output firing activity of spiking neurons. Recently, Li et al. (<xref ref-type="bibr" rid="B15">2018</xref>) proposed an IP rule according to the inter-spike-interval (ISI). However, similar to Lazar et al. (<xref ref-type="bibr" rid="B11">2007</xref>), this method only constraints the ISI into a certain range but does not have a rigorous target for adapting the output response. Moreover, Panda and Roy (<xref ref-type="bibr" rid="B22">2017</xref>) proposed another homeostasis mechanism called Non-Hebbian Plasticity which decays synaptic weights based on the activity of postsynaptic neurons. It can control the reservoir neurons responses to match the firing rate profile of the input and also avoid weight crowding caused by STDP. This Non-Hebbian Plasticity is based on synaptic plasticity which is different from IP, the intrinsic neuronal plasticity. As discussed in Watt and Desai (<xref ref-type="bibr" rid="B28">2010</xref>), both of them are homeostatic plasticity mechanisms and observed in biological neurons. They can work together for homeostatic regulation.</p>
<p>From an information theoretical perspective, it may hypothesize that a nervous cell maximizes the mutual information between its input and output. Neglecting the intrinsic uncertainty of the output, i.e., the output uncertainty after the input is known, the above target is equivalent to maximizing the output entropy. To this end, it is instrumental to note that the exponential distribution of the output firing rate attains the maximum entropy under the constraint of a fixed mean firing rate (Bell and Sejnowski, <xref ref-type="bibr" rid="B2">1995</xref>). Thus, inspired by the IP rule for sigmoid neurons of Triesch (<xref ref-type="bibr" rid="B27">2005</xref>), we aim to derive an IP rule for spiking neurons while minimizing the difference between the output firing rate distribution and the targeted exponential distribution. However, there are several significant challenges in deriving such a rule. Unlike artificial neurons whose output is in the form of firing rate, spiking neurons generate responses in the form of discrete spikes. As a result, firing rate information, as well as its dependency on the input, must be appropriately characterized from discrete spike times, which has not been established before under the context of intrinsic plasticity. Besides, it is not clear how a proper expression of the entropy of the output firing rate distribution (or its difference from the targeted exponential distribution) can be derived and robustly maximized (minimized) in an online fashion.</p>
<p>In this article, we approach the above challenges as follows. First, we derive a differentiable transfer function bridging the input current strength and output firing rate when the input level is fixed based on the leaky integrate-and-fire(LIF) model. This transfer function is referred to as the firing-rate transfer function (FR-TF). It shall be noted that FR-TF can correlate the dynamic evolution of the output firing activity measured as averaged firing rate as a function of a received input over a sufficiently long timescale. Next, with this transfer function, we derive an information-theoretical intrinsic plasticity rule for spiking neurons, dubbed <italic>SpiKL-IP</italic>, to minimize the KL-divergence from the exponential distribution to the output firing rate distribution. We further present an online version of the SpiKL-IP rule for minimizing our KL-divergence based loss function in a way analogous to the stochastic gradient descent (SGD) method, which is widely adopted for training deep learning neural networks. Finally, we address two practical issues to ensure the proper operation and robustness of the proposed online IP rule. Among the two issues, it is desirable to apply the proposed IP tuning using the instantaneous input current and the measured output firing rate, allowing seamless consideration of the potentially dynamically changing current input. However, this creates a mismatch to the underlying FR-TF transfer function, which is addressed by making the online IP rule dependent only on the output firing rate such that the LIF model parameters are tuned based on the input/output activities of long timescales. Under various settings, the outputs of targeted spiking neurons converge robustly to the desirable exponential distribution under the proposed SpiKL-IP rule.</p>
<p>We evaluate the learning performance of the proposed IP rule for real-world classification tasks under the context of the liquid state machine (LSM). When applied to the reservoir neurons of LSM networks, our rule produces significant performance boosts. Based on the TI46 Speech Corpus (Liberman et al., <xref ref-type="bibr" rid="B16">1991</xref>), the SpiKL-IP rule boosts the recognition accuracy by 6% for single-speaker English letter recognition and by up to more than 16% for the challenging task of multiple-speaker English letter recognition. For image classification using the CityScape dataset (Cordts et al., <xref ref-type="bibr" rid="B4">2016</xref>), our proposed method can improve the accuracy by more than 2%.</p>
<p>The rest of this article is organized as follows. Section 2 first introduces previous intrinsic plasticity working on spiking neurons. Then, it presents the derivation of the proposed firing-rate transfer function (FR-TF) and the complete online IP rule. Section 3 demonstrates the application of the proposed IP under various simulation settings. Finally, section 4 concludes this work.</p>
</sec>
<sec sec-type="materials and methods" id="s2">
<title>2. Materials and Methods</title>
<sec>
<title>2.1. Previous IP Rules for Spiking Neurons</title>
<p>Unlike other types of artificial neurons, instead of producing continuous-valued firing rates, spiking neurons generate spike trains, which are not differentiable at the times of spikes. Thus, the relationship among the input, parameters of the neuron model, and the output firing rate become obscure. This is perhaps partially why intrinsic plasticity has not been deeply investigated for spiking neurons. A few empirical IP rules were proposed for spiking neuron model, which unfortunately lack rigor.</p>
<p>Lazar et al. (<xref ref-type="bibr" rid="B11">2007</xref>) proposed an IP rule to adjust the firing threshold voltage as follows</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><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:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi><mml:mo>,</mml:mo><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>&#x0002B;</mml:mo><mml:mi>&#x003B7;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</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:mfrac><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:mfrac></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><italic>V</italic><sub><italic>th,i</italic></sub> is the threshold of the neuron <italic>i</italic>, &#x003B7; the learning rate which is chosen to be small, <italic>x</italic><sub><italic>i</italic></sub>(<italic>t</italic>) the sum of Dirac delta functions and it is 1 if the neuron fires an output spike at time <italic>t</italic> and 0 otherwise, <italic>k</italic> and <italic>N</italic> some chosen constants. This rule drives a neuron to spike on average <italic>k</italic> out of <italic>N</italic> times. It only targets setting the mean firing rate to a chosen value by adapting the firing threshold but does not attempt to generate the optimal output response, i.e., the optimal firing rate distribution.</p>
<p>Li (<xref ref-type="bibr" rid="B13">2011</xref>) derived an IP rule that tunes sigmoid neurons to follow the Weibull distribution in the same way as in Triesch (<xref ref-type="bibr" rid="B27">2005</xref>). Li and Li (<xref ref-type="bibr" rid="B14">2013</xref>) adopted this rule for spiking neurons by merely substituting the tuning parameters of the sigmoid neuron model to the parameters for spiking neurons, namely <italic>rR</italic> and <italic>rC</italic>, which are the reciprocals of the leaky resistance and membrane capacitance, respectively. As analyzed by the authors, this rule can make the firing activity of a spiking neuron at a &#x0201C;low but not too low&#x0201D; level. However, since this rule results from a simple mapping from the sigmoid neuron IP rule, it may not produce the optimal firing rate distribution for spiking neurons.</p>
<p>Li et al. (<xref ref-type="bibr" rid="B15">2018</xref>) proposed an approach based on the Izhikevich model (Izhikevich, <xref ref-type="bibr" rid="B8">2003</xref>) to adjust the output firing activity such that the inter-spike-interval (ISI) is set between some limits specified by <italic>T</italic><sub><italic>min</italic></sub> and <italic>T</italic><sub><italic>max</italic></sub>. This basic idea is the same as the one in Lazar et al. (<xref ref-type="bibr" rid="B11">2007</xref>) but using a different neuron model. Again, this rule aims at helping the neuron to generate responses at a desired firing rate level without optimizing the output distribution to maximize the information content.</p>
<p>As discussed above, the existing IP rules for spiking neurons are empirical in nature and are not derived with a rigorous optimization objective in mind. Furthermore, no success in real-world learning tasks has been demonstrated. We address these limitations by rigorously deriving an IP rule that robustly produces the targeted optimal exponential firing rate distribution and leads to significant performance improvements by realistic speech and image classification tasks.</p>
</sec>
<sec>
<title>2.2. Firing-Rate Transfer Function</title>
<p>The leaky integrated-and-fire (LIF) model is one of the most prevalent choices for describing dynamics of spiking neurons. This model is given by the following differential equation (Gerstner and Kistler, <xref ref-type="bibr" rid="B7">2002</xref>)</p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M2"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi>V</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mi>R</mml:mi><mml:mi>x</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>V</italic> is the membrane potential, <italic>x</italic> the input current, &#x003C4;<sub><italic>m</italic></sub> the time constant of membrane potential with value &#x003C4;<sub><italic>m</italic></sub> &#x0003D; <italic>RC</italic>, where <italic>R</italic> and <italic>C</italic> are the effective leaky resistance and effective membrane capacitance. Once the membrane potential <italic>V</italic> exceeds the firing threshold <italic>V</italic><sub><italic>th</italic></sub>, the neuron generates a spike, and the membrane potential is reset to the resting potential, which is 0<italic>mV</italic> in our case. A refractory period of duration <italic>t</italic><sub><italic>r</italic></sub> is also considered after a spike is generated during which <italic>V</italic> is maintained at 0<italic>mV</italic>.</p>
<p>Before presenting the proposed SpiKL-IP rule for spiking neurons, we shall first establish the relationship between the input current and the resulting output firing rate. This relationship is not evident since the response is in the form of spikes and it depends on the cumulative effects of all the past input. As a result, it is difficult to evaluate the output firing rate of spiking neurons at each time point under a varying input. We deal with this difficulty by deriving the proposed firing-rate transfer function (FR-TF) where the input is assumed to be constant. In other words, FR-TF correlates the dynamic evolution of the output firing activity measured as averaged firing rate as a function of a received input over a sufficiently long timescale.</p>
<p>Assuming that the input current <italic>x</italic><sub>0</sub> is constant and integrating (2) with the initial condition that <italic>V</italic>(<italic>t</italic><sup>(1)</sup>) &#x0003D; 0 gives the interspike interval <inline-formula><mml:math id="M3"><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msup><mml:mrow><mml:mi>t</mml:mi></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> (Gerstner and Kistler, <xref ref-type="bibr" rid="B7">2002</xref>)</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>T</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mi>l</mml:mi><mml:mi>n</mml:mi><mml:mfrac><mml:mrow><mml:mi>R</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mi>R</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0003E;</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where the constraint of <italic>Rx</italic><sub>0</sub> &#x0003E; <italic>V</italic><sub><italic>th</italic></sub> comes from the fact that only when the constant input current is sufficiently large, the neuron can generate spikes. Since both the input <italic>x</italic><sub>0</sub> and <italic>T</italic><sub><italic>isi</italic></sub> are constant, the mean output firing rate of the spiking neuron is given by</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>T</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mi>l</mml:mi><mml:mi>n</mml:mi><mml:mfrac><mml:mrow><mml:mi>R</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mi>R</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0003E;</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>In this way, we obtain the transfer function of spiking neurons under the condition that it has constant input so that this relation between input and output can be used in the deriving process. Since this function can only represent spiking neurons with a fixed input, to distinguish the spiking neurons and this transfer function, when referring to firing-rate model neurons, it means the neurons with this firing-rate transfer function (4).</p>
<p><xref ref-type="fig" rid="F1">Figure 1</xref> shows two tuning curves of the firing-rate transfer function where the input current level is swept while either the leaky resistance <italic>R</italic> or the membrane time constant &#x003C4;<sub><italic>m</italic></sub> is held at a specific value. As shown in <xref ref-type="fig" rid="F1">Figure 1A</xref>, changing <italic>R</italic> while fixing &#x003C4;<sub><italic>m</italic></sub> modifies both the bias and curvature of the tuning curve. <xref ref-type="fig" rid="F1">Figure 1B</xref> illustrates that &#x003C4;<sub><italic>m</italic></sub> controls the curvature of the tuning curve when <italic>R</italic> is fixed. In the following part, the proposed SpiKL-IP Rule is based on tuning <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub>. Note that separately adjusting <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> requires a neuron to vary its capacitance in response to its activity while changing capacitance is not observed in biological neurons to date.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>The firing-rate transfer function (FR-TF). <bold>(A)</bold> As a function of the leaky resistance <italic>R</italic>, and <bold>(B)</bold> as a function of the membrane time constant &#x003C4;<sub><italic>m</italic></sub>.</p></caption>
<graphic xlink:href="fnins-13-00031-g0001.tif"/>
</fig>
</sec>
<sec>
<title>2.3. Proposed SpiKL-IP Rule</title>
<p>Based on the presented firing-rate transfer function (4), we now take an information-theoretical approach to derive the SpiKL-IP rule to minimize the KL-divergence from the exponential distribution to the output firing rate distribution. We will show how the SpiKL-IP rule can be cast into an online form to adapt <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub>, and then address one practical issue to ensure the proper operation and robustness of the proposed online IP rule.</p>
<sec>
<title>2.3.1. The Basic SpiKL-IP Rule</title>
<p>We consider the information processing of a given spiking neuron as it receives stimuli from external inputs or other neurons in the same network over a dataset, mimicking part of the lifespan of the biological counterpart. We define the input and output firing rate probability distributions for each spiking neuron in the following way. As shown in <xref ref-type="fig" rid="F2">Figure 2</xref>, the input current level <italic>X</italic> varies across different time points, it forms an input probability distribution over the course of the entire process denoted by <italic>f</italic><sub><italic>x</italic></sub>(<italic>x</italic>). Accordingly, the output firing rate <italic>Y</italic> varies over time and forms an output probability distribution denoted by <italic>f</italic><sub><italic>y</italic></sub>(<italic>y</italic>).</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>The mapping from the input current distribution to the output firing rate distributing of a neuron.</p></caption>
<graphic xlink:href="fnins-13-00031-g0002.tif"/>
</fig>
<p>The goal of the SpiKL-IP rule is to obtain an approximately exponential distribution of the output firing rate at a fixed level of metabolic costs. In a biological perspective, exponential distributions of the output firing rate have been observed in mammalian visual cortical neurons responding to natural scenes and allow the neuron to transmit the maximum amount of information given a fixed level of metabolic costs (Baddeley et al., <xref ref-type="bibr" rid="B1">1997</xref>).</p>
<p>From an information-theoretic point of view, Bell and Sejnowski (<xref ref-type="bibr" rid="B2">1995</xref>) argued that a neuron might self-adapt to maximize the mutual information of the input <italic>X</italic> and the output <italic>Y</italic>, a measure for the amount of information about the input obtained from the output, or vice versa</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>I</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>Y</mml:mi><mml:mo>,</mml:mo><mml:mi>X</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>H</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mi>H</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>Y</mml:mi><mml:mo>|</mml:mo><mml:mi>X</mml:mi></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 <italic>H</italic>(<italic>Y</italic>) is the entropy of the output while <italic>H</italic>(<italic>Y</italic>|<italic>X</italic>) represents the amount of entropy (uncertainty) of the output which does not come from the input. Under the assumption that the output noise <italic>N</italic> is additive and there is no input noise, the conditional entropy can be simplified to <italic>H</italic>(<italic>Y</italic>|<italic>X</italic>) &#x0003D; <italic>H</italic>(<italic>N</italic>) (Nadal and Parga, <xref ref-type="bibr" rid="B21">1994</xref>; Bell and Sejnowski, <xref ref-type="bibr" rid="B2">1995</xref>) which does not depend on the neural parameters. Thus, maximizing <italic>I</italic>(<italic>Y, X</italic>) is equivalent to maximizing <italic>H</italic>(<italic>Y</italic>) (Bell and Sejnowski, <xref ref-type="bibr" rid="B2">1995</xref>). To this end, it is instrumental to note when the mean of the distribution is kept constant, the exponential distribution corresponds to the largest entropy among all probability distributions of a non-negative random variable. This leads to the conclusion that the exponential distribution with a targeted mean shall be the optimal distribution for the output firing rate, where the mean specifies the practical constraint on energy expenditure. In addition, in this work, all neurons are implemented using the LIF model which is noiseless and no noise is added explicitly to the neuronal dynamics, which means that <italic>H</italic>(<italic>N</italic>) &#x0003D; 0 (Gerstner and Kistler, <xref ref-type="bibr" rid="B7">2002</xref>). The exponential distribution is given by</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M7"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>&#x003BC;</mml:mi><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mi>&#x003BC;</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mi>x</mml:mi><mml:mo>&#x0003E;</mml:mo><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x003BC; is the mean of the distribution.</p>
<p>Inspired by the IP rule for sigmoid neurons in Triesch (<xref ref-type="bibr" rid="B27">2005</xref>), we derive the SpiKL-IP rule for spiking neurons while minimizing the KL-divergence from a targeted exponential distribution to the actual output firing rate distribution, where Kullback Leibler divergence (KL-divergence) is used as a difference measure as follows</p>
<disp-formula id="E7"><label>(7)</label><mml:math id="M8"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mi>d</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mo>&#x0222B;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mi>e</mml:mi><mml:mi>x</mml:mi><mml:mi>p</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mo>-</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>y</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mo>&#x0222B;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>y</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x0222B;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>y</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x0222B;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mi>&#x003BC;</mml:mi><mml:mi>d</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>y</italic> and <italic>f</italic><sub><italic>y</italic></sub>(<italic>y</italic>) denote the output, and the output firing rate distribution, respectively, and &#x003BC; is the mean value of the targeted exponential distribution. The smaller the KL-divergence <italic>D</italic> is, the closer the exponential distribution is to the output distribution. In (7), since &#x0222B;<italic>f</italic><sub><italic>y</italic></sub>(<italic>y</italic>)<italic>dy</italic> &#x0003D; 1 the third integral evaluates to a fixed value of <italic>log&#x003BC;</italic>. Minimizing KL-Divergence <italic>D</italic> by adapting <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> reduces to minimize the first two integrals, giving rise to the following loss function</p>
<disp-formula id="E9"><label>(8)</label><mml:math id="M10"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>L</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x0222B;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>y</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x0222B;</mml:mo><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>y</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mi>E</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Note that (8) is in terms of an expectation over the entire output distribution. Now, we convert (8) into an online form that is analogous to the stochastic gradient descent method with a batch size of one. To make SpiKL-IP amenable for online training, using a proper stepsize we discretize the entire training process into multiple small time intervals each in between two adjacent time points as shown in <xref ref-type="fig" rid="F3">Figure 3</xref>. The input level to the spiking neuron at each time point is considered as an individual observation or training example. In this way, the adjustment of the tunable parameters is not delayed until the output firing rate distribution is collected after the entire dataset is applied to the neuron (or neural network). Instead, these parameters are adjusted as the neuron experiences a given input example at each time point in an online manner. To do this, the following loss function that corresponds to the received input example is minimized at each time point <italic>t</italic></p>
<disp-formula id="E11"><label>(9)</label><mml:math id="M12"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>L</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>=</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</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:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>y</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:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>y</italic>(<italic>t</italic>) denotes the output firing rate <italic>Y</italic> observed at time <italic>t</italic>. From now on, we drop the explicit dependency of <italic>y</italic>(<italic>t</italic>) and <italic>x</italic>(<italic>t</italic>) (observed input level at <italic>t</italic>) on <italic>t</italic> for notational simplicity. Recognizing that the output probability distribution relates to the input counterpart by Papoulis and Pillai (<xref ref-type="bibr" rid="B23">2002</xref>)</p>
<disp-formula id="E12"><label>(10)</label><mml:math id="M13"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</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>f</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>and substituting it into (9) leads to</p>
<disp-formula id="E13"><label>(11)</label><mml:math id="M14"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>L</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>=</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>which can be further simplified to</p>
<disp-formula id="E14"><label>(12)</label><mml:math id="M15"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mover accent="true"><mml:mrow><mml:mi>L</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover><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:mo>-</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>as <italic>log</italic>(<italic>f</italic><sub><italic>x</italic></sub>(<italic>x</italic>)) is a function of the input probability distribution and does not depend on <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub>.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Online SpiKL-IP learning: minimization of the KL divergence at each time point during the training process.</p></caption>
<graphic xlink:href="fnins-13-00031-g0003.tif"/>
</fig>
<p>The online SpiKL-PI rule is based upon the partial derivatives of (9) with respect to <italic>x</italic>, <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub>. We first shall compute the derivatives of the output firing rate <italic>y</italic>(<italic>t</italic>) with respect to <italic>x</italic>, <italic>R</italic>, &#x003C4;<sub><italic>m</italic></sub>. We make use of the firing rate transfer function (4) whose application at each time point <italic>t</italic> is justified if the input <italic>x</italic>(<italic>t</italic>) changes slowly with respect to the chosen stepsize and the averaged output firing rate measure is used, and obtain</p>
<disp-formula id="E15"><label>(13)</label><mml:math id="M16"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>R</mml:mi><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E16"><label>(14)</label><mml:math id="M17"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>R</mml:mi><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E17"><label>(15)</label><mml:math id="M18"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Taking (13) into account, the partial derivatives of the loss function (9) with respect to <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> are found to be</p>
<disp-formula id="E18"><label>(16)</label><mml:math id="M19"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>R</mml:mi><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mo>-</mml:mo><mml:mn>2</mml:mn><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>R</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>R</mml:mi><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>and</p>
<disp-formula id="E20"><label>(17)</label><mml:math id="M21"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mi>l</mml:mi><mml:mi>o</mml:mi><mml:mi>g</mml:mi><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>respectively, which gives the following online IP rule</p>
<disp-formula id="E22"><label>(18)</label><mml:math id="M23"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mi>R</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B7;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>R</mml:mi></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:mi>R</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B7;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mi>y</mml:mi><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi>R</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>R</mml:mi><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mi>R</mml:mi><mml:mi>x</mml:mi><mml:mo>&#x0003E;</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B7;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mi>L</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B7;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mi>y</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mi>R</mml:mi><mml:mi>x</mml:mi><mml:mo>&#x0003E;</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x003B7;<sub>1</sub> and &#x003B7;<sub>2</sub> are learning rates, &#x003BC; the constant value depending on the desired mean of the output firing rate. The condition that <italic>Rx</italic> &#x0003E; <italic>V</italic><sub><italic>th</italic></sub> comes from the transfer] function (4).</p>
</sec>
<sec>
<title>2.3.2. Practical Considerations</title>
<p>While (18) has the critical elements of the proposed online IP rule, its direct implementation, however, has been experimentally shown to be unsuccessful, i.e., it can neither train spiking neurons to generate output firing rates following the exponential distribution nor improve SNN learning performance for real-world classification tasks. The problem has to do with the fact that one underlying assumption behind the firing rate transfer function (FR-TF) (4) and hence the IP rule (18) is that the input current is constant or changes over a sufficiently slow timescale. However, in a practical setting, the total postsynaptic input received by a spiking neuron does vary in time, and the rate of change depends on the frequency of firing activities of its presynaptic neurons. With the internal dynamics, the output firing level of a spiking neuron cannot immediately follow the instantaneous current input, e.g., it is possible that the output firing rate is still low while the input current has increased to a high level. As a result, the assumption on the input current is somewhat constraining, and its violation leads to the ineffectiveness of IP tuning.</p>
<p>On the other hand, it is worth noting that the FR-TF captures the correlation between the average input current and the output firing rate over a long timescale. In the meantime, the proposed IP rule aims to adapt spiking neurons to produce a desired probability distribution of the output firing rate. In other words, the objective is not to tune each instance of the output firing rate. Instead, it is to achieve a desirable collective characteristic of the output firing rate measured by an exponential distribution. In some sense, the FR-TF correlates the input and output correspondence in a way that is meaningful for the objective of online IP tuning.</p>
<p>To find a solution to the above difficulty, we remove the dependency on the instantaneous input current from the IP rule of (18) by substituting the input <italic>x</italic> using the output firing rate <italic>y</italic> using the transfer function (4). More specifically, a new variable <italic>W</italic> is defined by <italic>W</italic> &#x0003D; <italic>Rx</italic>&#x02212;<italic>V</italic><sub><italic>th</italic></sub>, which can be expressed using <italic>y</italic> based on (4) as</p>
<disp-formula id="E24"><label>(19)</label><mml:math id="M25"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:mfrac><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Making use of (19), (18) is converted to a form which only depends on <italic>y</italic></p>
<disp-formula id="E25"><label>(20)</label><mml:math id="M26"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mi>R</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B7;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>y</mml:mi><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mi>W</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mi>W</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x000A0;</mml:mtext><mml:mi>y</mml:mi><mml:mo>&#x0003E;</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B7;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:mi>y</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x003BC;</mml:mi></mml:mrow></mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>As can be seen, the rule in (20) adjusts the two parameters only based on the output firing rate <italic>y</italic>. Substituting the instantaneous value of <italic>x</italic> by the firing rate <italic>y</italic> based on the firing rate transfer function effectively operates the IP rule based on the averaged input/output characteristics over a longer timescale.</p>
<p>Note that the condition that <italic>Rx</italic> &#x0003E; <italic>V</italic><sub><italic>th</italic></sub> in (18) is changed to an equivalent form of <italic>y</italic> &#x0003E; 0 in (20). A closer examination of <xref ref-type="fig" rid="F1">Figure 1</xref> shows that the firing rate transfer functions are not differentiable around <italic>y</italic> &#x0003D; 0 (<italic>Rx</italic> &#x0003D; <italic>V</italic><sub><italic>th</italic></sub>). Interpreting differently, the proposed IP tuning can operate only when the output firing rate is nonzero. To further improve the robustness of the proposed IP rule, the tuning in (20) is only activated when <italic>y</italic> &#x0003E; &#x003B4; with &#x003B4; being small such as 1 Hz. When <italic>y</italic> &#x02264; &#x003B4;, <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> are increased and decreased respectively to bring up the output firing activity.</p>
<p>Putting everything together, the final SpiKL-IP rule is</p>
<disp-formula id="E27"><label>(21)</label><mml:math id="M28"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x0007B;</mml:mo><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>R</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x003B7;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>y</mml:mi><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02212;</mml:mo><mml:mi>W</mml:mi><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>&#x003BC;</mml:mi></mml:mfrac><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mi>W</mml:mi></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x02003;</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mi>y</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x0003E;</mml:mo><mml:mi>&#x003B4;</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>R</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x003B7;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:msub><mml:mi>&#x003B1;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x02003;</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mi>y</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02264;</mml:mo><mml:mi>&#x003B4;</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>&#x0007B;</mml:mo><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x003B7;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:msub><mml:mi>t</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mi>y</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>&#x003BC;</mml:mi></mml:mfrac><mml:mo stretchy='false'>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:msup><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>&#x02212;</mml:mo><mml:mi>y</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x02003;</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mi>y</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x0003E;</mml:mo><mml:mi>&#x003B4;</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>&#x003C4;</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>&#x003B7;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:msub><mml:mi>&#x003B1;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x02003;&#x02003;</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mi>y</mml:mi></mml:mtd><mml:mtd><mml:mrow><mml:mo>&#x02264;</mml:mo><mml:mi>&#x003B4;</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x003B1;<sub>1</sub> and &#x003B1;<sub>2</sub> are chosen to be small.</p>
<p>To provide an intuitive understanding of the proposed SpiKL-IP rule, <xref ref-type="fig" rid="F4">Figure 4</xref> shows how <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> are altered by one-time application of SpiKL-IP at different output firing rate levels starting from a chosen combination of <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> values.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Tuning characteristics of one-time application of SpiKL-IP at different output firing rate levels starting from a chosen combination of <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> values <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub>. <bold>(A)</bold> Tuning of the leaky resistance <italic>R</italic>, and <bold>(B)</bold> tuning of the membrane time constant &#x003C4;<sub><italic>m</italic></sub>.</p></caption>
<graphic xlink:href="fnins-13-00031-g0004.tif"/>
</fig>
</sec>
</sec>
</sec>
<sec sec-type="results" id="s3">
<title>3. Results</title>
<p>To demonstrate the mechanisms and performances of the proposed SpiKL-IP rule, we conduct three types of experiments by applying SpiKL-IP to single neuron as well as a group of spiking neurons as part of a neural network. First, we show that when applied to a single neuron whose behavior is governed by the firing-rate transfer function (4) the proposed rule can tune the neuron to produce the targeted exponential distribution of the output firing rate even under a time-varying input. Then, we apply SpiKL-IP to a single spiking neuron as well as a group of spiking neurons to demonstrate that our rule can robustly produce the desired output firing distribution in all tested situations even although it is derived from the FR-TF which is based on the assumption that the input is constant. Finally, we demonstrate the significant performance boosts achieved by SpiKL-IP when applied to real-world speech and image classification tasks. Furthermore, we compare SpiKL-IP with two existing IP rules for spiking neurons (Lazar et al., <xref ref-type="bibr" rid="B11">2007</xref>; Li and Li, <xref ref-type="bibr" rid="B14">2013</xref>). In this article, we name the IP rule in Lazar et al. (<xref ref-type="bibr" rid="B11">2007</xref>) as the Voltage-Threshold IP rule and one in Li and Li (<xref ref-type="bibr" rid="B14">2013</xref>) as the RC IP rule.</p>
<p>The following simulation setups are adopted in each experiment. We simulate the continuous-time LIF model in section 2.2 using a fixed discretization time step of 1<italic>ms</italic> according to which all neuronal activities are evaluated in lockstep. To measure the firing rate of each spiking neuron as a continuous-valued quantity over time under a constant of varying input, we use the intracellular calcium concentration <italic>C</italic><sub><italic>cal</italic></sub>(<italic>t</italic>) as a good indicator of the averaged firing activity over a chosen timescale</p>
<disp-formula id="E29"><label>(22)</label><mml:math id="M30"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</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:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</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:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><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>i</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mi>&#x003B4;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>t</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:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x003C4;<sub><italic>cal</italic></sub> is the time constant, and the output firing spikes are presented by a series of Dirac delta functions. According to (22), the calcium concentration increases by one unit when an output spike is generated and decays with a time constant &#x003C4;<sub><italic>cal</italic></sub> (Dayan and Abbott, <xref ref-type="bibr" rid="B5">2001</xref>). The time-varying output firing rate is measured using the normalized calcium concentration</p>
<disp-formula id="E30"><label>(23)</label><mml:math id="M31"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>y</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>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</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:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<sec>
<title>3.1. Single Neurons Modeled by FR-TF</title>
<p>We apply the proposed SpiKL-IP rule to a single neuron modeled based on the firing-rate transfer function (4). The parameters of the neuron and SpiKL-IP are set as follows: <italic>V</italic><sub><italic>th</italic></sub> &#x0003D; 20<italic>mV</italic>, <italic>t</italic><sub><italic>r</italic></sub> &#x0003D; 2<italic>ms</italic>, and &#x003BC; &#x0003D; 0.2<italic>KHz</italic>. In addition, the tuning ranges for <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> are set to [1&#x003A9;, 1024&#x003A9;] and [1<italic>ms</italic>, 1, 024<italic>ms</italic>] with <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> initialized to 64&#x003A9; and 64<italic>ms</italic>, respectively. The input current level at each time point is randomly generated according to a Gaussian distribution with the mean of 7<italic>mA</italic> and variance of 1<italic>mA</italic> as well as a uniform distribution between [0.5<italic>mA</italic>, 5.5<italic>mA</italic>] in a way that is similar to the setups in Triesch (<xref ref-type="bibr" rid="B27">2005</xref>); Li and Li (<xref ref-type="bibr" rid="B14">2013</xref>). For both cases, a total of 10, 000 time points are considered.</p>
<p>In <xref ref-type="fig" rid="F5">Figure 5</xref>, we compare the recorded output firing rate distribution when no IP tuning is used with the one that is produced by the proposed SpiKL-IP rule under two random input distributions. In each plot of <xref ref-type="fig" rid="F5">Figure 5</xref>, we fit the actual firing histogram with to a closest exponential distribution (red curve). It is evident from <xref ref-type="fig" rid="F5">Figures 5A,C</xref> that without IP tuning the output firing distribution is far from the targeted optimal exponential distribution with the maximum entropy. With the application of SpiKL-IP, however, the output distribution can be trained to almost converge to the desirable exponential distribution under two dramatically different input distributions. Note that since the simulation time stepsize is 1<italic>ms</italic>, the output firing rate is bound by 1<italic>KHz</italic>. This creates a subtle difference between the actual and the exponential distribution at the tails of the two distributions, which is negligible in practice. These results indicate that the proposed IP rule can robustly maximize the information contained in the output firing rate distribution by tuning it toward the exponential distribution regardless of the input distribution.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>The output firing-rate distributions of a single neuron characterized using the firing-rate transfer function and driven by randomly generated current input following a Gaussian or Uniform distribution. <bold>(A)</bold> Gaussian input without IP tuning, <bold>(B)</bold> Gaussian input with the SpiKL-IP rule, <bold>(C)</bold> uniform input without IP tuning, and <bold>(D)</bold> uniform input with the SpiKL-IP rule. The red curve in each plot represents the exponential distribution that best fits the actual output firing rate data.</p></caption>
<graphic xlink:href="fnins-13-00031-g0005.tif"/>
</fig>
</sec>
<sec>
<title>3.2. Leaky Integrate-and-Fire Spiking Neurons</title>
<p>Since SpiKL-IP is based on the firing-rate transfer function which only characterizes the behavior of LIF neurons over a large timescale, it is interesting to test SpiKL-IP using LIF neurons. The parameters for the spiking neurons and SpiKL-IP are set as follow: <italic>V</italic><sub><italic>th</italic></sub> &#x0003D; 20<italic>mV</italic>, <italic>t</italic><sub><italic>r</italic></sub> &#x0003D; 2<italic>ms</italic>, &#x003BC; &#x0003D; 0.2<italic>KHz</italic>, &#x003C4;<sub><italic>c</italic></sub> &#x0003D; 64<italic>ms</italic> with <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> initialized to 64&#x003A9; and 64<italic>ms</italic>, respectively. The tuning ranges for <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> are again set to [1&#x003A9;, 1, 024&#x003A9;] and [1<italic>ms</italic>, 1, 024<italic>ms</italic>], respectively.</p>
<p>First, we apply SpiKL-IP to a single LIF neuron whose input is a spike (Dirac delta) train randomly generated according to a Poisson process with a mean firing rate of 160 Hz for a duration of 1,000 ms. The details of input generation are described in Legenstein and Maass (<xref ref-type="bibr" rid="B12">2007</xref>). The output firing rate is evaluated by the normalized intracellular calcium concentration in (23). <xref ref-type="fig" rid="F6">Figure 6</xref> compares the output firing distributions generated with no IP and with the three IP rules. Clearly, the proposed rule produces an output distribution close to the desired exponential distribution while without IP tuning the neuron is unable to generate an exponentially distributed output. As shown in <xref ref-type="fig" rid="F6">Figure 6C</xref>, the Voltage Threshold IP rule (Lazar et al., <xref ref-type="bibr" rid="B11">2007</xref>) can only alter the average output firing rate rather than tuning the shape of the output firing rate distribution toward that of an exponential distribution. <xref ref-type="fig" rid="F6">Figure 6D</xref> shows that it is also tricky for the RC IP rule (Li and Li, <xref ref-type="bibr" rid="B14">2013</xref>) to train the neuron to generate an output whose distribution is close to the exponential distribution.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Output firing rate distributions of a single spiking neuron: <bold>(A)</bold> without IP tuning, <bold>(B)</bold> with proposed SpiKL-IP rule, <bold>(C)</bold> with the Voltage Threshold IP rule, and <bold>(D)</bold> with the RC IP rule. The red curve in each plot represents the exponential distribution that best fits the actual output firing rate data.</p></caption>
<graphic xlink:href="fnins-13-00031-g0006.tif"/>
</fig>
<p>Next, more interestingly, we examine the behavior of IP tuning in a spiking neural network. In this case, we set up a fully connected recurrent network of 100 LIF neurons. There are 30 external inputs with each being a Poisson spike train with a mean rate of 80 Hz and a duration of 1, 000<italic>ms</italic> as shown in <xref ref-type="fig" rid="F7">Figure 7</xref>. Each input is connected to 30 neurons through synaptic whose weights are set to -8 or 8 with equal probability. The synaptic weights between the reservoir neurons in the network are uniformly distributed between -1 and 1. This neural network is similar to the reservoir network used in Schrauwen et al. (<xref ref-type="bibr" rid="B25">2008</xref>).</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>30 Poisson spike trains as input to a fully connected spiking neural network of 100 LIF neurons.</p></caption>
<graphic xlink:href="fnins-13-00031-g0007.tif"/>
</fig>
<p>We randomly choose one neuron and record its output firing rate for a demonstration. As can be seen in <xref ref-type="fig" rid="F8">Figure 8A</xref>, without IP tuning the output distribution is quite different from any exponential distributions. As shown in <xref ref-type="fig" rid="F8">Figures 8C,D</xref>, neither the Voltage Threshold IP rule nor the RC IP rule can produce an output distribution that is reasonably close to an exponential distribution. In contrast, <xref ref-type="fig" rid="F8">Figure 8B</xref> shows that the proposed SpiKL-IP rule leads to excellent results, generating an output distribution that is very close to an exponential distribution. These experiments demonstrate that SpiKL-IP maintains its effectiveness in the more complex network setting where spiking neurons interact with each other while receiving external spike inputs.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Output firing rate distributions of one spiking neuron in a fully connected network. <bold>(A)</bold> without IP tuning, <bold>(B)</bold> with proposed SpiKL-IP rule, <bold>(C)</bold> with the Voltage Threshold IP rule, and <bold>(D)</bold> with the RC IP rule. The red curve in each plot represents the exponential distribution that best fits the actual output firing rate data.</p></caption>
<graphic xlink:href="fnins-13-00031-g0008.tif"/>
</fig>
</sec>
<sec>
<title>3.3. Real World Classification Tasks For LSM</title>
<p>Although intrinsic plasticity has been studied for a very long time with many different IP rules proposed, rarely any rule is tested on real-world learning tasks. As a result, it is not clear whether IP tuning is capable of improving the performance for these more meaningful tasks. In this paper, we realize several spiking neural networks based on the bio-inspired Liquid State Machine (LSM) network model and evaluate the performance of IP tuning using realistic speech and image recognition datasets.</p>
<p>LSM is a biologically plausible spiking neural network model with embedded recurrent connections (Maass et al., <xref ref-type="bibr" rid="B19">2002</xref>). As shown in <xref ref-type="fig" rid="F9">Figure 9</xref>, the LSM has an input layer, a recurrent reservoir, and a readout layer. The reservoir has a recurrent structure with a group of excitatory and inhibitory spiking neurons randomly connected in a way approximating the spatial distribution of biological neurons (Maass et al., <xref ref-type="bibr" rid="B19">2002</xref>). Typically, the synaptic weights between the reservoir neurons are fixed. The input spike trains generate spatiotemporal firing patterns in the reservoir, which are projected onto the readout layer through full connectivity. In this paper, the feedforward plastic synapses between the reservoir neurons and readout are adjusted according to a bio-inspired spike-based online learning rule (Zhang et al., <xref ref-type="bibr" rid="B29">2015</xref>). Several LSMs with different sizes are set up to evaluate the potential impact of an IP rule on classification performance.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>The structure of Liquid State Machine (LSM).</p></caption>
<graphic xlink:href="fnins-13-00031-g0009.tif"/>
</fig>
<p>For the networks evaluated using TI46, the input layer has 78 neurons. These networks have 135 (3<sup>&#x0002A;</sup>3<sup>&#x0002A;</sup>5), 270 (3<sup>&#x0002A;</sup>3<sup>&#x0002A;</sup>30), 540 (6<sup>&#x0002A;</sup>6<sup>&#x0002A;</sup>15) reservoir neurons, respectively, where each input neuron is randomly connected to 16, 24, 32 reservoir neurons with the weights set to 2 or -2 with equal probability, respectively. Among the reservoir neurons, 80% are excitatory, and 20% are inhibitory. The reservoir is composed of all types of synaptic connections depending on the pre-neuron and post-neuron types including EE, EI, IE, II, where the first letter indicates the type of the pre-synaptic neuron, and the second letter the type of the post-synaptic neuron, and E and I mean excitatory and inhibitory neurons, respectively. The probability of a synaptic connection from neuron a to neuron b in the reservoir is defined as <italic>C</italic> &#x000B7; <italic>e</italic><sup>&#x02212;(<italic>D</italic>(<italic>a, b</italic>)/&#x003BB;)</sup><sup>2</sup>, where &#x003BB; is 3, C is 0.3 (EE), 0.2 (EI), 0.4 (IE), 0.1 (II), and D (a, b) is the Euclidean distance between neurons a and b (Maass et al., <xref ref-type="bibr" rid="B19">2002</xref>). The synaptic weights in the reservoir are fixed to 1(EE, EI) or -1(IE, II). For the readout layer, the reservoir neurons are fully connected to 26 readout neurons with the weights randomly generated from -8 to 8 following the Gaussian distribution. All the readout synapses are plastic and trained according to Zhang et al. (<xref ref-type="bibr" rid="B29">2015</xref>). When testing an IP rule, it is only applied to the reservoir neurons. The parameters of each neuron are: <italic>V</italic><sub><italic>th</italic></sub> &#x0003D; 20<italic>mV</italic>, <italic>t</italic><sub><italic>r</italic></sub> &#x0003D; 2<italic>ms</italic>, &#x003BC; &#x0003D; 0.2<italic>KHz</italic>, &#x003C4;<sub><italic>c</italic></sub> &#x0003D; 64<italic>ms</italic>, &#x003B7;<sub>1</sub> &#x0003D; &#x003B7;<sub>2</sub> &#x0003D; 5, and &#x003B1;<sub>1</sub> &#x0003D; &#x003B1;<sub>2</sub> &#x0003D; 0.1. <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> are initialized to 64&#x003A9; and 64<italic>ms</italic>, respectively. The tuning ranges for <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> are again set to [32&#x003A9;, 512&#x003A9;] and [32<italic>ms</italic>, 512<italic>ms</italic>], respectively. A 5-fold cross-validation scheme is adopted to obtain classification performances. Five hundred epochs are simulated, and the best results are reported.</p>
<p>For the networks evaluated using CityScape, the input layer has 225 neurons. These networks have 27 (3<sup>&#x0002A;</sup>3<sup>&#x0002A;</sup>3), 45 (3<sup>&#x0002A;</sup>3<sup>&#x0002A;</sup>5), 72 (3<sup>&#x0002A;</sup>3<sup>&#x0002A;</sup>8), 135 (3<sup>&#x0002A;</sup>3<sup>&#x0002A;</sup>15) reservoir neurons, each input neuron is randomly connected to 1, 4, 4, 64 reservoir neurons with the weights set to 2 or -2 with equal probability, respectively. Other settings of the networks are the same as those used for the ones evaluated based on TI46.</p>
<p>We also have made our implementation of SpiKL-IP rule for LSM available online<xref ref-type="fn" rid="fn0001"><sup>1</sup></xref>.</p>
<sec>
<title>3.3.1. Speech Recognition Using the TI46 Speech Corpus</title>
<p>The speech recognition task is evaluated on several subsets of the TI46 speech corpus (Liberman et al., <xref ref-type="bibr" rid="B16">1991</xref>). This corpus contains spoken utterances from 16 speakers (eight males and eight females), each speaking 10 utterances of English letters from &#x0201C;A&#x0201D; to &#x0201C;Z&#x0201D;. Before applying to the reservoir, each input sample is first preprocessed by the Lyon ear model (Lyon, <xref ref-type="bibr" rid="B17">1982</xref>), then encoded into 78 spike trains with the BSA algorithm (Schrauwen and Van Campenhout, <xref ref-type="bibr" rid="B24">2003</xref>).</p>
<p><xref ref-type="table" rid="T1">Table 1</xref> demonstrates the classification accuracy for a number of LSMs of different amounts of reservoir neurons with and without the proposed SpiKL-IP rule based on different subsets of the TI46 speech corpus. The 260-samples subset is a single speaker subset while ones with 520, 1,040, 2,080, 3,120, 4,160 samples contain 2, 4, 8, 12, and 16 speakers, respectively. It shall be noted that as the number of speakers increases, the recognition task becomes increasingly challenging. To the best knowledge of the authors, there exists no prior reported success on recognizing multiple-speaker subsets using spiking neural networks. As shown in <xref ref-type="table" rid="T1">Table 1</xref>, the recognition performs drops rapidly as the number of speakers increases without SpiKL-IP. In comparison, the use of SpiKL-IP can significantly boost the recognition accuracy by up to more than 16%. Moreover, SpiKL-IP leads to higher performance boosts as it is applied to smaller networks or more challenging subsets of greater numbers of speakers and samples.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>The performances of LSM-based speech recognition with and without the proposed SpiKL-IP rule evaluated using the single and multi-speaker subsets of the TI46 Speech Corpus.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Dataset size</bold></th>
<th valign="top" align="center"><bold>Reservoir size</bold></th>
<th valign="top" align="center"><bold>Without IP (%)</bold></th>
<th valign="top" align="center"><bold>With IP (%)</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">260 (1 Speaker)</td>
<td valign="top" align="center">90</td>
<td valign="top" align="center">88.46</td>
<td valign="top" align="center">97.31</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">135</td>
<td valign="top" align="center">92.30</td>
<td valign="top" align="center">98.46</td>
</tr>
<tr>
<td valign="top" align="left">520 (2 Speakers)</td>
<td valign="top" align="center">135</td>
<td valign="top" align="center">86.15</td>
<td valign="top" align="center">92.31</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">270</td>
<td valign="top" align="center">89.04</td>
<td valign="top" align="center">95.58</td>
</tr>
<tr>
<td valign="top" align="left">1,040 (4 Speakers)</td>
<td valign="top" align="center">135</td>
<td valign="top" align="center">79.04</td>
<td valign="top" align="center">87.69</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">270</td>
<td valign="top" align="center">84.62</td>
<td valign="top" align="center">93.37</td>
</tr>
<tr>
<td valign="top" align="left">2,080 (8 Speakers)</td>
<td valign="top" align="center">270</td>
<td valign="top" align="center">72.69</td>
<td valign="top" align="center">86.95</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">540</td>
<td valign="top" align="center">76.59</td>
<td valign="top" align="center">91.96</td>
</tr>
<tr>
<td valign="top" align="left">3,120 (12 Speakers)</td>
<td valign="top" align="center">270</td>
<td valign="top" align="center">72.17</td>
<td valign="top" align="center">84.25</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">540</td>
<td valign="top" align="center">77.49</td>
<td valign="top" align="center">90.64</td>
</tr>
<tr>
<td valign="top" align="left">4,160 (16 Speakers)</td>
<td valign="top" align="center">270</td>
<td valign="top" align="center">70.76</td>
<td valign="top" align="center">83.98</td>
</tr>
<tr>
<td/>
<td valign="top" align="center">540</td>
<td valign="top" align="center">76.19</td>
<td valign="top" align="center">88.58</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>From the LSM with 135 reservoir neurons, we randomly choose six neurons and record their firing responses on one of the speech samples after a few initial training iterations. <xref ref-type="fig" rid="F10">Figure 10</xref> shows that most neurons&#x00027; responses can follow the exponential distribution, demonstrating that the proposed SpiKL-IP rule can tune neurons to generate outputs with a distribution close to the exponential distribution in a complicated network. <xref ref-type="fig" rid="F11">Figure 11</xref> shows the learning curves of <italic>R</italic> and &#x003C4;<sub><italic>m</italic></sub> for a reservoir neuron when one speech sample is repeatedly applied to the network for 15 iterations. <xref ref-type="fig" rid="F11">Figure 11B</xref> shows that the value of <italic>R</italic> monotonically increases over time and finally converges under the proposed IP rule. However, <xref ref-type="fig" rid="F11">Figure 11A</xref> shows that the value of &#x003C4;<sub><italic>m</italic></sub> fluctuates in every iteration without converging to a fixed value, but its trajectory exhibits a stable periodic pattern toward later iterations. This may be understood by the fact that to produce the desired exponential firing rate distribution, at least one of the two intrinsic neural parameters shall be dynamically adapted in response to the received time-varying input. <xref ref-type="fig" rid="F11">Figure 11C</xref> shows the adaptation of the output firing rate <italic>y</italic>, which has also reached to a stable periodic pattern toward the end of the training process.</p>
<fig id="F10" position="float">
<label>Figure 10</label>
<caption><p>The output firing distributions of six reservoir neurons in an LSM after the reservoir is trained by SpiKL-IP. The red curve in each plot represents the exponential distribution the best fits the actual output firing rate data. <bold>(A)</bold> Firing rate distribution of Neuron &#x00023;5, <bold>(B)</bold> Firing rate distribution of Neuron &#x00023;7, <bold>(C)</bold> Firing rate distribution of Neuron &#x00023;16, <bold>(D)</bold> Firing rate distribution of Neuron &#x00023;36, <bold>(E)</bold> Firing rate distribution of Neuron &#x00023;65, and <bold>(F)</bold> Firing rate distribution of Neuron &#x00023;101.</p></caption>
<graphic xlink:href="fnins-13-00031-g0010.tif"/>
</fig>
<fig id="F11" position="float">
<label>Figure 11</label>
<caption><p>The parameter tuning and firing rate adaption by SpiKL-IP for a reservoir neuron in an LSM during 15 iterations of training over a single speech example. <bold>(A)</bold> Tuning of the membrane time constant &#x003C4;<sub><italic>m</italic></sub>, <bold>(B)</bold> tuning of the leaky resistance <italic>R</italic>, and <bold>(C)</bold> adaptation of the Output firing rate.</p></caption>
<graphic xlink:href="fnins-13-00031-g0011.tif"/>
</fig>
<p><xref ref-type="fig" rid="F12">Figure 12</xref> compares the recognition performances of several LSMs all with 135 reservoir neurons reported in related works. The performances are evaluated based upon the single-speaker subset with 260 samples. We adopt the LSM in Zhang et al. (<xref ref-type="bibr" rid="B29">2015</xref>) which makes use of a spike-based supervised learning rule for training the readout synapses and has no IP tuning as a baseline. The LSM in Jin and Li (<xref ref-type="bibr" rid="B9">2016</xref>) adds spike-timing-dependent plasticity (STDP) rule to the baseline to train the synaptic weights between reservoir neurons. On top of the baseline, we further implement the Voltage Threshold IP rule (Lazar et al., <xref ref-type="bibr" rid="B11">2007</xref>), the RC IP rule (Li and Li, <xref ref-type="bibr" rid="B14">2013</xref>), or the SpiKL-IP rule to tune the reservoir neurons. The proposed rule produces the highest recognition accuracy improvement of more than 6% over the baseline LSM.</p>
<fig id="F12" position="float">
<label>Figure 12</label>
<caption><p>Speech recognition performances of various learning rules when applied to a LSM with 135 reservoir neurons. The performance evaluation is based on the single-speaker subset of the TI46 Speech Corpus. (1) LSM (Baseline): with the settings and supervised readout learning rule in Zhang et al. (<xref ref-type="bibr" rid="B29">2015</xref>) and no reservoir tuning. All other compared networks add additional mechanisms to the baseline. (2) LSM&#x0002B;Proposed IP Rule: with additional reservoir neurons tuning using SpiKL-IP. (3) LSM&#x0002B;STDP: with additional reservoir neurons tuning using the STDP rule in Jin and Li (<xref ref-type="bibr" rid="B9">2016</xref>); (4) LSM&#x0002B;Voltage Threshold IP Rule: with additional reservoir neurons tuning using the IP rule in Lazar et al. (<xref ref-type="bibr" rid="B11">2007</xref>). (5) LSM&#x0002B;RC IP Rule: with additional reservoir neurons tuning using the IP rule in Li and Li (<xref ref-type="bibr" rid="B14">2013</xref>).</p></caption>
<graphic xlink:href="fnins-13-00031-g0012.tif"/>
</fig>
</sec>
<sec>
<title>3.3.2. Image Classification Using the CityScape Dataset</title>
<p>The image classification task is based on the CityScape dataset (Cordts et al., <xref ref-type="bibr" rid="B4">2016</xref>) which contains 18 classes of images of semantic urban scenes taken in several European cities. Each image is segmented and remapped into a size of 15 &#x000D7; 15, and then encoded into 225 input Poisson spike trains with the mean firing rate proportional to the corresponding pixel intensity. There are 1, 080 images in total.</p>
<p><xref ref-type="table" rid="T2">Table 2</xref> summarizes the classification accuracy of four LSMs of different sizes with or without the SpiKL-IP rule. For each comparison, an LSM which is set up according to Zhang et al. (<xref ref-type="bibr" rid="B29">2015</xref>) and incorporates the same spike-based supervised learning rule of Zhang et al. (<xref ref-type="bibr" rid="B29">2015</xref>) for training the readout synapses without IP tuning is used as a baseline. It can be observed that the application of SpiKL-IP leads to noticeable performance improvements. For example, in the case of LSM with 45 reservoir neurons, the performance is improved from 91.74% to 94.44%.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>The performances of LSM-based image classification with and without the proposed SpiKL-IP rule evaluated using the CityScape image dataset.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="left"><bold>Reservoir size</bold></th>
<th valign="top" align="center"><bold>Without IP (%)</bold></th>
<th valign="top" align="center"><bold>With IP (%)</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">135</td>
<td valign="top" align="center">96.60</td>
<td valign="top" align="center">97.78</td>
</tr>
<tr>
<td valign="top" align="left">72</td>
<td valign="top" align="center">94.90</td>
<td valign="top" align="center">96.48</td>
</tr>
<tr>
<td valign="top" align="left">45</td>
<td valign="top" align="center">91.74</td>
<td valign="top" align="center">94.44</td>
</tr>
<tr>
<td valign="top" align="left">27</td>
<td valign="top" align="center">87.33</td>
<td valign="top" align="center">90.19</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>4. Discussion</title>
<p>While intrinsic plasticity (IP) was attempted for spiking neurons in the past, the prior IP rules lacked a rigorous treatment in their development, and the efficacy of these rules was not verified using practical learning tasks. This work aims to address the theoretical and practical limitations of the existing works by proposing the SpiKL-IP rule. SpiKL-IP is based upon a rigorous information-theoretic perspective where the target of IP tuning is to produce the maximum entropy in the resulting output firing rate distribution of each spiking neuron. The maximization of output entropy, or information transfer from the input to the output, is realized by producing a targeted optimal exponential distribution of the output firing rate.</p>
<p>More specifically, SpiKL-IP aims to tune the intrinsic parameters of a spiking neuron while minimizing the KL-divergence from the targeted exponential distribution to the actual output firing rate distribution. However, several challenges must be addressed as we work toward achieving the above goal. First, we rigorously relate the output firing rate with the static input current by deriving the firing-rate transfer function (FR-TF). FR-TF provides a basis for allowing the derivation of the SpiKL-IP rule that minimizes the KL-divergence. Furthermore, we cast SpiKL-IP in a suitable form to enable online application of IP tuning. Finally, we address one major challenge associated with applying SpiKL-IP under realistic contexts where the input current to each spiking neuron may be time-varying, which leads to the final IP rule that has no dependency on the instantaneous input level and effectively tuning the neural model parameters based upon averaged firing activities.</p>
<p>In the simulation studies, it is shown that SpiKL-IP can produce excellent performances. Under various settings, the application of SpiKL-IP to individual neurons in isolation or as part of a larger network robustly creates the desired exponential distribution for the output firing rate even when the input current is time varying. The evaluation of the learning performance of SpiKL-IP for real-world classification tasks also confirms the potential of the proposed IP rule. When applied to the reservoir neurons of LSM networks, SpiKL-IP produces significant performance boosts based on the TI46 Speech Corpus (Liberman et al., <xref ref-type="bibr" rid="B16">1991</xref>) and the CityScape image dataset (Cordts et al., <xref ref-type="bibr" rid="B4">2016</xref>).</p>
<p>Our future work will explore the potential of integrating IP tuning with Hebbian unsupervised learning mechanisms, particularly spike-timing-dependent plasticity (STDP). Jin and Li (<xref ref-type="bibr" rid="B10">2017</xref>) and this work respectively demonstrate that STDP and IP are effective in tuning recurrent spiking neural networks, i.e., reservoirs, and boosting the overall learning performance. Moreover, it has been suggested by Lazar et al. (<xref ref-type="bibr" rid="B11">2007</xref>) and Li et al. (<xref ref-type="bibr" rid="B15">2018</xref>) that STDP and IP may be complementary to each other. On the other hand, Watt and Desai (<xref ref-type="bibr" rid="B28">2010</xref>) and other related works reveal one limitation of STDP, i.e., the application of STDP can lead to network instability due to the positive feedback mechanisms created. Nevertheless, concerning the potential instability caused by STDP, it may be argued that the joint application of STDP and IP could be beneficial. This is because IP is intrinsically self-stabilizing, which may contribute to the prevention of runaway potentiation caused by STDP. We will also implement the SpiKL-IP rule on noisy leaky-integrate and fire neuron model (Brunel and Sergi, <xref ref-type="bibr" rid="B3">1998</xref>) to evaluate the ability of the SpiKL-IP rule standing against noise. Moreover, since non-Hebbian plasticity and IP are supposed to work together in biological neurons (Watt and Desai, <xref ref-type="bibr" rid="B28">2010</xref>), we can further explore the effects of combining Hebbian unsupervised plasticity, non-Hebbian plasticity, and intrinsic plasticity to maintain the homeostasis of networks.</p>
</sec>
<sec id="s5">
<title>Author Contributions</title>
<p>WZ and PL developed the theoretical approach for IP tuning of spiking neurons and the SpiKL-IP rule. WZ implemented SpiKL-IP and related learning rules and performed the simulation studies. WZ and PL wrote the paper.</p>
<sec>
<title>Conflict of Interest Statement</title>
<p>The 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>
</body>
<back>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Baddeley</surname> <given-names>R.</given-names></name> <name><surname>Abbott</surname> <given-names>L. F.</given-names></name> <name><surname>Booth</surname> <given-names>M. C.</given-names></name> <name><surname>Sengpiel</surname> <given-names>F.</given-names></name> <name><surname>Freeman</surname> <given-names>T.</given-names></name> <name><surname>Wakeman</surname> <given-names>E. A.</given-names></name> <etal/></person-group>. (<year>1997</year>). <article-title>Responses of neurons in primary and inferior temporal visual cortices to natural scenes</article-title>. <source>Proc. R. Soc. Lond. B Biol. Sci.</source> <volume>264</volume>, <fpage>1775</fpage>&#x02013;<lpage>1783</lpage>. <pub-id pub-id-type="doi">10.1098/rspb.1997.0246</pub-id><pub-id pub-id-type="pmid">9447735</pub-id></citation></ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bell</surname> <given-names>A. J.</given-names></name> <name><surname>Sejnowski</surname> <given-names>T. J.</given-names></name></person-group> (<year>1995</year>). <article-title>An information-maximization approach to blind separation and blind deconvolution</article-title>. <source>Neural Comput.</source> <volume>7</volume>, <fpage>1129</fpage>&#x02013;<lpage>1159</lpage>. <pub-id pub-id-type="doi">10.1162/neco.1995.7.6.1129</pub-id><pub-id pub-id-type="pmid">7584893</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Brunel</surname> <given-names>N.</given-names></name> <name><surname>Sergi</surname> <given-names>S.</given-names></name></person-group> (<year>1998</year>). <article-title>Firing frequency of leaky intergrate-and-fire neurons with synaptic current dynamics</article-title>. <source>J. Theor. Biol.</source> <volume>195</volume>, <fpage>87</fpage>&#x02013;<lpage>95</lpage>. <pub-id pub-id-type="doi">10.1006/jtbi.1998.0782</pub-id><pub-id pub-id-type="pmid">9802952</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cordts</surname> <given-names>M.</given-names></name> <name><surname>Omran</surname> <given-names>M.</given-names></name> <name><surname>Ramos</surname> <given-names>S.</given-names></name> <name><surname>Rehfeld</surname> <given-names>T.</given-names></name> <name><surname>Enzweiler</surname> <given-names>M.</given-names></name> <name><surname>Benenson</surname> <given-names>R.</given-names></name> <etal/></person-group>. (<year>2016</year>). <article-title>The cityscapes dataset for semantic urban scene understanding</article-title>, in <source>Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition</source>, <fpage>3213</fpage>&#x02013;<lpage>3223</lpage>.</citation></ref>
<ref id="B5">
<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</source>, <volume>Vol. 806</volume>. <publisher-loc>Cambridge, MA</publisher-loc>: <publisher-name>MIT Press</publisher-name>.</citation></ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Desai</surname> <given-names>N. S.</given-names></name> <name><surname>Rutherford</surname> <given-names>L. C.</given-names></name> <name><surname>Turrigiano</surname> <given-names>G. G.</given-names></name></person-group> (<year>1999</year>). <article-title>Plasticity in the intrinsic excitability of cortical pyramidal neurons</article-title>. <source>Nat. Neurosci.</source> <volume>2</volume>:<fpage>515</fpage>. <pub-id pub-id-type="doi">10.1038/9165</pub-id><pub-id pub-id-type="pmid">10448215</pub-id></citation></ref>
<ref id="B7">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gerstner</surname> <given-names>W.</given-names></name> <name><surname>Kistler</surname> <given-names>W. M.</given-names></name></person-group> (<year>2002</year>). <source>Spiking Neuron Models: Single Neurons, Populations, Plasticity</source>. <publisher-name>Cambridge University Press</publisher-name>.</citation></ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Izhikevich</surname> <given-names>E. M.</given-names></name></person-group> (<year>2003</year>). <article-title>Simple model of spiking neurons</article-title>. <source>IEEE Trans. Neural Netw.</source> <volume>14</volume>, <fpage>1569</fpage>&#x02013;<lpage>1572</lpage>. <pub-id pub-id-type="doi">10.1109/TNN.2003.820440</pub-id><pub-id pub-id-type="pmid">18244602</pub-id></citation></ref>
<ref id="B9">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>P.</given-names></name></person-group> (<year>2016</year>). <article-title>Ap-stdp: a novel self-organizing mechanism for efficient reservoir computing</article-title>, in <source>Neural Networks (IJCNN), 2016 International Joint Conference on</source> (<publisher-loc>IEEE</publisher-loc>), <fpage>1158</fpage>&#x02013;<lpage>1165</lpage>.</citation></ref>
<ref id="B10">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>P.</given-names></name></person-group> (<year>2017</year>). <article-title>Calcium-modulated supervised spike-timing-dependent plasticity for readout training and sparsification of the liquid state machine</article-title>, in <source>Neural Networks (IJCNN), 2017 International Joint Conference on</source> (<publisher-loc>IEEE</publisher-loc>), <fpage>2007</fpage>&#x02013;<lpage>2014</lpage>.</citation></ref>
<ref id="B11">
<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>2007</year>). <article-title>Fading memory and time series prediction in recurrent networks with different forms of plasticity</article-title>. <source>Neural Netw.</source> <volume>20</volume>, <fpage>312</fpage>&#x02013;<lpage>322</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2007.04.020</pub-id><pub-id pub-id-type="pmid">17556114</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Legenstein</surname> <given-names>R.</given-names></name> <name><surname>Maass</surname> <given-names>W.</given-names></name></person-group> (<year>2007</year>). <article-title>Edge of chaos and prediction of computational performance for neural circuit models</article-title>. <source>Neural Netw.</source> <volume>20</volume>, <fpage>323</fpage>&#x02013;<lpage>334</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2007.04.017</pub-id><pub-id pub-id-type="pmid">17517489</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>C.</given-names></name></person-group> (<year>2011</year>). <article-title>A model of neuronal intrinsic plasticity</article-title>. <source>IEEE Trans. Auton. Ment. Dev.</source> <volume>3</volume>, <fpage>277</fpage>&#x02013;<lpage>284</lpage>. <pub-id pub-id-type="doi">10.1109/TAMD.2011.2159379</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>C.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name></person-group> (<year>2013</year>). <article-title>A spike-based model of neuronal intrinsic plasticity</article-title>. <source>IEEE Trans. Auton. Ment. Dev.</source> <volume>5</volume>, <fpage>62</fpage>&#x02013;<lpage>73</lpage>. <pub-id pub-id-type="doi">10.1109/TAMD.2012.2211101</pub-id></citation></ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>X.</given-names></name> <name><surname>Wang</surname> <given-names>W.</given-names></name> <name><surname>Xue</surname> <given-names>F.</given-names></name> <name><surname>Song</surname> <given-names>Y.</given-names></name></person-group> (<year>2018</year>). <article-title>Computational modeling of spiking neural network with learning rules from stdp and intrinsic plasticity</article-title>. <source>Physica A</source> <volume>491</volume>, <fpage>716</fpage>&#x02013;<lpage>728</lpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2017.08.053</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liberman</surname> <given-names>M.</given-names></name> <name><surname>Amsler</surname> <given-names>R.</given-names></name> <name><surname>Church</surname> <given-names>K.</given-names></name> <name><surname>Fox</surname> <given-names>E.</given-names></name> <name><surname>Hafner</surname> <given-names>C.</given-names></name> <name><surname>Klavans</surname> <given-names>J.</given-names></name> <etal/></person-group>. (<year>1991</year>). TI 46-word LDC93S9.</citation></ref>
<ref id="B17">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Lyon</surname> <given-names>R.</given-names></name></person-group> (<year>1982</year>). <article-title>A computational model of filtering, detection, and compression in the cochlea</article-title>, in <source>Acoustics, Speech, and Signal Processing, IEEE International Conference on ICASSP&#x00027;82</source>, <volume>Vol. 7</volume> (<publisher-name>IEEE</publisher-name>), <fpage>1282</fpage>&#x02013;<lpage>1285</lpage>.</citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Maass</surname> <given-names>W.</given-names></name></person-group> (<year>1997</year>). <article-title>Networks of spiking neurons: the third generation of neural network models</article-title>. <source>Neural Netw.</source> <volume>10</volume>, <fpage>1659</fpage>&#x02013;<lpage>1671</lpage>. <pub-id pub-id-type="doi">10.1016/S0893-6080(97)00011-7</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Maass</surname> <given-names>W.</given-names></name> <name><surname>Natschl&#x000E4;ger</surname> <given-names>T.</given-names></name> <name><surname>Markram</surname> <given-names>H.</given-names></name></person-group> (<year>2002</year>). <article-title>Real-time computing without stable states: a new framework for neural computation based on perturbations</article-title>. <source>Neural Comput.</source> <volume>14</volume>, <fpage>2531</fpage>&#x02013;<lpage>2560</lpage>. <pub-id pub-id-type="doi">10.1162/089976602760407955</pub-id><pub-id pub-id-type="pmid">12433288</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Marder</surname> <given-names>E.</given-names></name> <name><surname>Abbott</surname> <given-names>L. F.</given-names></name> <name><surname>Turrigiano</surname> <given-names>G. G.</given-names></name> <name><surname>Liu</surname> <given-names>Z.</given-names></name> <name><surname>Golowasch</surname> <given-names>J.</given-names></name></person-group> (<year>1996</year>). <article-title>Memory from the dynamics of intrinsic membrane currents</article-title>. <source>Proc. Natl. Acad. Sci. U.S.A.</source> <volume>93</volume>, <fpage>13481</fpage>&#x02013;<lpage>13486</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.93.24.13481</pub-id><pub-id pub-id-type="pmid">8942960</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nadal</surname> <given-names>J.-P.</given-names></name> <name><surname>Parga</surname> <given-names>N.</given-names></name></person-group> (<year>1994</year>). <article-title>Nonlinear neurons in the low-noise limit: a factorial code maximizes information transfer</article-title>. <source>Network</source> <volume>5</volume>, <fpage>565</fpage>&#x02013;<lpage>581</lpage>. <pub-id pub-id-type="doi">10.1088/0954-898X_5_4_008</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Panda</surname> <given-names>P.</given-names></name> <name><surname>Roy</surname> <given-names>K.</given-names></name></person-group> (<year>2017</year>). <article-title>Learning to generate sequences with combination of hebbian and non-hebbian plasticity in recurrent spiking neural networks</article-title>. <source>Front. Neurosci.</source> <volume>11</volume>:<fpage>693</fpage>. <pub-id pub-id-type="doi">10.3389/fnins.2017.00693</pub-id><pub-id pub-id-type="pmid">29311774</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Papoulis</surname> <given-names>A.</given-names></name> <name><surname>Pillai</surname> <given-names>S. U.</given-names></name></person-group> (<year>2002</year>). <source>Probability, Random Variables, and Stochastic Processes</source>. <publisher-name>Tata McGraw-Hill Education</publisher-name>.</citation></ref>
<ref id="B24">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Schrauwen</surname> <given-names>B.</given-names></name> <name><surname>Van Campenhout</surname> <given-names>J.</given-names></name></person-group> (<year>2003</year>). <article-title>Bsa, a fast and accurate spike train encoding scheme</article-title>, in <source>Neural Networks, 2003. Proceedings of the International Joint Conference on</source>, <volume>Vol. 4</volume> (<publisher-name>IEEE</publisher-name>), <fpage>2825</fpage>&#x02013;<lpage>2830</lpage>.</citation></ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schrauwen</surname> <given-names>B.</given-names></name> <name><surname>Wardermann</surname> <given-names>M.</given-names></name> <name><surname>Verstraeten</surname> <given-names>D.</given-names></name> <name><surname>Steil</surname> <given-names>J. J.</given-names></name> <name><surname>Stroobandt</surname> <given-names>D.</given-names></name></person-group> (<year>2008</year>). <article-title>Improving reservoirs using intrinsic plasticity</article-title>. <source>Neurocomputing</source> <volume>71</volume>, <fpage>1159</fpage>&#x02013;<lpage>1171</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2007.12.020</pub-id></citation></ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Stemmler</surname> <given-names>M.</given-names></name> <name><surname>Koch</surname> <given-names>C.</given-names></name></person-group> (<year>1999</year>). <article-title>How voltage-dependent conductances can adapt to maximize the information encoded by neuronal firing rate</article-title>. <source>Nat. Neurosci.</source> <volume>2</volume>:<fpage>521</fpage>. <pub-id pub-id-type="doi">10.1038/9173</pub-id><pub-id pub-id-type="pmid">10448216</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Triesch</surname> <given-names>J.</given-names></name></person-group> (<year>2005</year>). <article-title>A gradient rule for the plasticity of a neuron&#x00027;s intrinsic excitability</article-title>, in <source>International Conference on Artificial Neural Networks</source> (<publisher-loc>Springer</publisher-loc>), <fpage>65</fpage>&#x02013;<lpage>70</lpage>.</citation></ref>
<ref id="B28">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Watt</surname> <given-names>A. J.</given-names></name> <name><surname>Desai</surname> <given-names>N. S.</given-names></name></person-group> (<year>2010</year>). <article-title>Homeostatic plasticity and stdp: keeping a neuron&#x00027;s cool in a fluctuating world</article-title>. <source>Front. Synaptic Neurosci.</source> <volume>2</volume>:<fpage>5</fpage>. <pub-id pub-id-type="doi">10.3389/fnsyn.2010.00005</pub-id><pub-id pub-id-type="pmid">21423491</pub-id></citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>P.</given-names></name> <name><surname>Jin</surname> <given-names>Y.</given-names></name> <name><surname>Choe</surname> <given-names>Y.</given-names></name></person-group> (<year>2015</year>). <article-title>A digital liquid state machine with biologically inspired learning and its application to speech recognition</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst.</source> <volume>26</volume>, <fpage>2635</fpage>&#x02013;<lpage>2649</lpage>. <pub-id pub-id-type="doi">10.1109/TNNLS.2015.2388544</pub-id><pub-id pub-id-type="pmid">25643415</pub-id></citation></ref>
</ref-list>
<fn-group>
<fn id="fn0001"><p><sup>1</sup><ext-link ext-link-type="uri" xlink:href="https://github.com/stonezwr/SpiKL-IP">https://github.com/stonezwr/SpiKL-IP</ext-link></p></fn>
</fn-group>
<fn-group>
<fn fn-type="financial-disclosure"><p><bold>Funding.</bold> This work supported by the National Science Foundation (NSF) under Grant No.CCF-1639995 and the Semiconductor Research Corporation (SRC) under Task 2692.001. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of NSF, SRC, Texas A&#x00026;M University, and their contractors.</p>
</fn>
</fn-group>
</back>
</article>