<?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.2021.633945</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>Integrating Non-spiking Interneurons in Spiking Neural Networks</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Strohmer</surname> <given-names>Beck</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/955191/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Stagsted</surname> <given-names>Rasmus Karn&#x000F8;e</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/1239460/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Manoonpong</surname> <given-names>Poramate</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/498/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Larsen</surname> <given-names>Leon Bonde</given-names></name>
<uri xlink:href="http://loop.frontiersin.org/people/955803/overview"/>
</contrib>
</contrib-group>
<aff><institution>SDU Biorobotics, Maersk McKinney Moller Institute, University of Southern Denmark</institution>, <addr-line>Odense</addr-line>, <country>Denmark</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Alice Cline Parker, University of Southern California, Los Angeles, United States</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: J&#x000E1;nos Botzheim, Budapest University of Technology and Economics, Hungary; Suraj Chakravarthi Raja, University of Southern California, Los Angeles, United States</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Beck Strohmer <email>stroh&#x00040;mmmi.sdu.dk</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>03</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>15</volume>
<elocation-id>633945</elocation-id>
<history>
<date date-type="received">
<day>26</day>
<month>11</month>
<year>2020</year>
</date>
<date date-type="accepted">
<day>09</day>
<month>02</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2021 Strohmer, Stagsted, Manoonpong and Larsen.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Strohmer, Stagsted, Manoonpong and Larsen</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>Researchers working with neural networks have historically focused on either non-spiking neurons tractable for running on computers or more biologically plausible spiking neurons typically requiring special hardware. However, in nature homogeneous networks of neurons do not exist. Instead, spiking and non-spiking neurons cooperate, each bringing a different set of advantages. A well-researched biological example of such a mixed network is a sensorimotor pathway, responsible for mapping sensory inputs to behavioral changes. This type of pathway is also well-researched in robotics where it is applied to achieve closed-loop operation of legged robots by adapting amplitude, frequency, and phase of the motor output. In this paper we investigate how spiking and non-spiking neurons can be combined to create a sensorimotor neuron pathway capable of shaping network output based on analog input. We propose sub-threshold operation of an existing spiking neuron model to create a non-spiking neuron able to interpret analog information and communicate with spiking neurons. The validity of this methodology is confirmed through a simulation of a closed-loop amplitude regulating network inspired by the internal feedback loops found in insects for posturing. Additionally, we show that non-spiking neurons can effectively manipulate post-synaptic spiking neurons in an event-based architecture. The ability to work with mixed networks provides an opportunity for researchers to investigate new network architectures for adaptive controllers, potentially improving locomotion strategies of legged robots.</p></abstract>
<kwd-group>
<kwd>spiking neural network</kwd>
<kwd>non-spiking interneuron</kwd>
<kwd>neuromorphic engineering</kwd>
<kwd>mixed network</kwd>
<kwd>biologically plausible neuron</kwd>
<kwd>bio-inspired engineering</kwd>
</kwd-group>
<counts>
<fig-count count="12"/>
<table-count count="3"/>
<equation-count count="10"/>
<ref-count count="43"/>
<page-count count="16"/>
<word-count count="10310"/>
</counts>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p>Current research employing neural networks for locomotion control tends to focus on homogeneous networks of neurons communicating through either graded signals (Aoi et al., <xref ref-type="bibr" rid="B2">2017</xref>) or action potentials (Bing et al., <xref ref-type="bibr" rid="B6">2018</xref>). However, studies indicate that biological neural networks utilize both communication strategies (Burrows, <xref ref-type="bibr" rid="B9">1996</xref>) to achieve effective locomotion. Based on this, our research introduces a biologically-inspired non-spiking interneuron (NSI) model into a spiking neural network (SNN) to further increase biological fidelity. In nature, sensor neurons receive information from the external environment and pass it onto NSIs through current injections (Bidaye et al., <xref ref-type="bibr" rid="B5">2018</xref>). This data is sent onwards by the NSI, affecting the membrane potential of the connected neurons through a graded signal (Burrows and Siegler, <xref ref-type="bibr" rid="B10">1978</xref>). However, NSIs are not only translational units. They are also found to be the primary neuronal type in some animals such as the <italic>C. elegans</italic> where communication through graded potentials is the main transmission method (Schafer, <xref ref-type="bibr" rid="B32">2016</xref>). Thereby, interneurons are computational units in and of themselves. <xref ref-type="fig" rid="F1">Figure 1</xref> illustrates a simplified neural pathway depicting an analog input from the environment producing movement by an insect (<xref ref-type="fig" rid="F1">Figure 1A</xref>) and the equivalent pathway implemented in this study (<xref ref-type="fig" rid="F1">Figure 1B</xref>).</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p><bold>(A)</bold> An illustration of a simplified sensorimotor neuron pathway. A signal is received from the outside world and sent onwards from the sensor neuron to the NSI through current injection. The NSI passes the information onto the motor neuron to generate movement. <bold>(B)</bold> A high-level overview of the mixed neural network combining an NSI and SNN.</p></caption>
<graphic xlink:href="fnins-15-633945-g0001.tif"/>
</fig>
<p>Individual neurons can be described using different models which try to capture the dynamics of a biological neuron. In this study, we use two spiking neuron models, one works in its intended fashion but the other operates within its sub-threshold range so that the membrane potential never surpasses the spiking threshold. Spiking neuron models try to replicate biological neurons by calculating the membrane potential of the neuron at each time step. The membrane potential is affected by incoming spikes, bias current, and other parameters depending on the model&#x00027;s equation. Classical non-spiking neuron models used in artificial neural networks (ANNs) attempt to replicate neuron dynamics using a transfer function such as the sigmoid function. These non-spiking models are able to map values but they cannot integrate an input over time without a recurrent connection. Therefore, our paper uses a spiking neuron model in a non-spiking &#x0201C;mode&#x0201D; to create the NSI.</p>
<p>SNNs typically communicate through action potentials commonly called spikes. Spikes allow information to be encoded through the frequency of spikes as well as the timing of individual spikes (Bohte, <xref ref-type="bibr" rid="B7">2004</xref>). This creates the possibility to transfer more information within a spike train as compared to traditional ANNs (Bing et al., <xref ref-type="bibr" rid="B6">2018</xref>). SNNs are used in our research so future work incorporating data-rich sensory input can take advantage of temporal features for encoding input information.</p>
<p>As SNNs are typically homogeneous, all communication is handled by passing spikes between neurons. If an analog sensor is added to the network, the information must be encoded into spikes for the network to understand. This is also true for an output signal which must be converted from spikes to continuous values to control a motor. The known encoding mechanisms found in nature include individual spike rate (Adrian, <xref ref-type="bibr" rid="B1">1926</xref>), population activity (Panzeri et al., <xref ref-type="bibr" rid="B27">2015</xref>), and precise spike timing (Bohte, <xref ref-type="bibr" rid="B7">2004</xref>). Neural network engineers have applied each of these methods for translating sensory input, grouping the different approaches into three main categories: rate, population, and temporal coding respectively.</p>
<p>Each encoding category has recognized strengths. Population coding is able to relay more information than individual neurons so it can be useful for data-rich inputs (Mallot, <xref ref-type="bibr" rid="B19">2013</xref>). On the other hand, temporal coding is particularly applicable for encoding streaming data as it quickly processes information (Petro et al., <xref ref-type="bibr" rid="B29">2019</xref>) while maximizing the amount of information contained within the compressed data (Sengupta and Kasabov, <xref ref-type="bibr" rid="B35">2017</xref>). Finally, while other methods are able to encode more information, rate coding has been suggested to be the best tool for handling input with high firing rates (Azarfar et al., <xref ref-type="bibr" rid="B3">2018</xref>). In our work, rate coding is used to filter the output of the network from spikes to a continuous motor signal and we introduce the NSI model as a hybrid encoding method able to directly translate input by itself or work together with rate, population, or temporal methods to increase the amount of information encoded.</p>
<sec>
<title>1.1. Related Work</title>
<p>ANNs have been shown to effectively manipulate amplitude, frequency, and phase in legged robots to create adaptive controllers (Nachstedt et al., <xref ref-type="bibr" rid="B24">2013</xref>; Schilling et al., <xref ref-type="bibr" rid="B33">2013</xref>; Barikhan et al., <xref ref-type="bibr" rid="B4">2014</xref>; D&#x000FC;rr et al., <xref ref-type="bibr" rid="B13">2019</xref>; Pitchai et al., <xref ref-type="bibr" rid="B30">2019</xref>; Thor and Manoonpong, <xref ref-type="bibr" rid="B39">2019</xref>). Thor and Manoonpong (<xref ref-type="bibr" rid="B39">2019</xref>) used an error signal to update synaptic weights for adaptation of frequency to optimize walking, resulting in increased efficiency and reduced tracking error. Pitchai et al. (<xref ref-type="bibr" rid="B30">2019</xref>) also created an energy-efficient control mechanism for a legged robot by using an ANN to shape network outputs coupled with a non-spiking central pattern generator (nCPG) to change frequency. Nachstedt et al. (<xref ref-type="bibr" rid="B24">2013</xref>) were able to create a self-tuning network using adaptive oscillators which allowed a robot to navigate a more complex environment. Barikhan et al. (<xref ref-type="bibr" rid="B4">2014</xref>) showed that a decoupled nCPG network using sensory feedback to adapt to the environment was able to handle changes in robot morphology and could coordinate movement with another robot when working on cooperative tasks. Schilling et al. (<xref ref-type="bibr" rid="B33">2013</xref>) used rules for coordination to adapt walking according to sensory input. Similarly, D&#x000FC;rr et al. (<xref ref-type="bibr" rid="B13">2019</xref>) developed an ANN to control a hexapod robot which relied on feedback for posture and rules for coordination. Their network produced emergent gaits, adjusting based on the posturing of the robot. The addition of non-spiking interneurons to ANNs has been investigated by Szczecinski et al. (<xref ref-type="bibr" rid="B38">2015</xref>). They reported control of a hexapod robot using interneurons modeled as classical non-spiking neurons to trigger different bio-inspired reflexes. The interneurons were used to control output oscillations, indicating that shaping nCPG outputs via interneurons to reproduce biological behaviors is possible. Our paper combines the use of NSIs and spiking neurons to update amplitude, frequency, and phase, as a step toward creating a more biologically plausible adaptive controller capable of interpreting temporal data.</p>
<p>Pure SNNs are also capable of manipulating output amplitude, frequency, and phase by updating different synaptic and neuronal characteristics (Strohmer et al., <xref ref-type="bibr" rid="B37">2020</xref>). It was found that frequency could be changed by updating the value of the voltage threshold potential of the spiking central pattern generator (sCPG) neuron populations while amplitude was increased or decreased using the weight of the synaptic conductance to the motor neuron population (MNP). Finally, phase was determined by the network architecture and synaptic delays. However, as input currents to NSIs are known to change firing rates of connected motor neurons, reset rhythmic output (Bidaye et al., <xref ref-type="bibr" rid="B5">2018</xref>), and update amplitude (von Uckermann and B&#x000FC;schges, <xref ref-type="bibr" rid="B41">2009</xref>), it is useful to look into how they interact with an sCPG network to shape these outputs.</p>
<p>Wo&#x0017A;niak et al. (<xref ref-type="bibr" rid="B42">2020</xref>) integrated spiking neurons into an ANN to take advantage of their power-saving potential and temporal data encoding capabilities. They implemented the spiking neurons as a &#x0201C;spiking neural unit&#x0201D; consisting of two non-spiking neurons, one of which handles integration of the membrane potential and the other to emit a spike. The spiking neural unit dynamics were modeled after the leaky integrate-and-fire model of spiking neurons. Their integration of the membrane potential was handled through a recurrent connection while spiking was mimicked using a step function. This approach differs from our implementation as it defined the spiking neurons as a combination of non-spiking neurons whereas we take the dynamics of a spiking neuron model and use it in the sub-threshold region to create a non-spiking neuron model.</p>
<p>Patil et al. (<xref ref-type="bibr" rid="B28">2015</xref>) took a similar approach to our research and created a non-spiking neuron modeled as a spiking neuron that communicated via graded potentials. Their work was based on the neural architecture of the <italic>C. elegans</italic> which is mostly composed of non-spiking neurons though recent research indicates more advanced sensory systems in the worm might use spiking neurons (Liu et al., <xref ref-type="bibr" rid="B18">2018</xref>). The paper showed that a mixed neural network could be built to mimic the escape response of the <italic>C. elegans</italic> upon being touched externally. Their mixed network was implemented as neuromorphic hardware, simulating both non-spiking and spiking neurons using analog circuitry, as opposed to our research using simulation software to mathematically model neurons.</p>
<p>Niu et al. (<xref ref-type="bibr" rid="B26">2017</xref>) explore first principles of the sensorimotor loop using neuromorphic hardware designed on a field-programmable gate array. They are able to successfully model spiking neurons and muscle physiology in hardware to reproduce stretch reflexes in both an attached cadaveric finger and a robotic finger. This study reinforces the expectation that a simplified model of the sensorimotor loop produces realistic behavior in an anatomical system. Other biological studies investigate the architecture of the central pattern generator (CPG) itself, using multi-layered CPG networks to generate rhythmic output and implementing mutual inhibition on several layers (see review by McCrea and Rybak, <xref ref-type="bibr" rid="B21">2008</xref>). Markin et al. (<xref ref-type="bibr" rid="B20">2010</xref>)&#x00027;s CPG network tests the removal of descending signals and is able to regain stable locomotion by increasing synaptic weights associated with sensory feedback. Conversely, Danner et al. (<xref ref-type="bibr" rid="B12">2017</xref>) present a network reliant on both descending and ascending signals for coordination of motion. They add interneurons to their network to communicate between legs in addition to relaying descending/ascending signals, finding that some gait patterns were not achievable when certain interneurons were removed. Further work by Mileusnic et al. (<xref ref-type="bibr" rid="B23">2006</xref>) suggest a mathematical model for muscle spindles which are the sense organs responsible for relating length and velocity of muscles. The paper confirms the ability to recreate biological data, providing another way to investigate the role of sensory feedback in locomotion. Expanding upon this research, Raphael et al. (<xref ref-type="bibr" rid="B31">2010</xref>) use the muscle spindle model in their &#x0201C;spinal-like regulator&#x0201D; capable of processing 184 control inputs, controlling an approximation of the human hand using both descending inputs and sensory feedback. Our work integrates ideas from this biological research by investigating first principles of communication within a mixed neural network.</p>
<p>Our paper presents a novel encoding mechanism, sub-threshold encoding, that uses NSIs to relate values from analog sensory inputs to an SNN. Our proposed method is referred to as sub-threshold encoding because the output is a consequence of membrane potential fluctuations below the spiking threshold. In contrast to using current injections to directly manipulate network output, the momentary membrane potential of the NSI plays a role in how the post-synaptic neurons are affected. The main contribution of this research is the introduction and investigation into how these NSIs can be integrated into an existing SNN to shape network output.</p>
</sec>
</sec>
<sec sec-type="methods" id="s2">
<title>2. Methods</title>
<p>Biological research indicates that sensory input to NSIs affects motor output (B&#x000FC;schges and Wolf, <xref ref-type="bibr" rid="B11">1995</xref>). Furthermore, depolarizing currents received by NSIs are shown to reset biological central pattern generator (bCPG) rhythms (Bidaye et al., <xref ref-type="bibr" rid="B5">2018</xref>). We can replicate these behaviors by creating an equivalent neural network representing the sensorimotor neuron pathway. In the neural network, the sensor neuron is replaced by an input bias current to the NSI (see <xref ref-type="fig" rid="F1">Figure 1B</xref>) so that a change in input current represents a change in sensory information from the external environment. The NSI then relates this information to the connected SNN in order to adjust the network output. <xref ref-type="fig" rid="F2">Figure 2B</xref> shows the block diagram of the selected SNN, an sCPG network. The architecture of a pair of mutually inhibitory neuron populations is based on the biology of spiking oscillators driving an antagonistic muscle pair (Bidaye et al., <xref ref-type="bibr" rid="B5">2018</xref>). The output from the sCPG network is spikes but an analog signal is required for control of a motor. Therefore, <xref ref-type="fig" rid="F2">Figure 2A</xref> demonstrates how these spike events are converted to an analog signal using rate coding. This mimics the low-pass filtering performed by biological muscles (Hooper et al., <xref ref-type="bibr" rid="B15">2007</xref>) by counting the amount of spikes occurring within a time window to produce an analog value. <xref ref-type="fig" rid="F2">Figure 2C</xref> highlights the characteristics of the rate-coded output to be adjusted by the input to the NSI.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p><bold>(A)</bold> Illustration of how spikes are converted to analog values. The spike events for all neurons within a time window are counted. This value is used as the analog output value of the network. <bold>(B)</bold> Block diagram of the sCPG network. Neuron populations 1 and 2 create the spiking oscillator, sending spikes to the MNP. The output spikes from the MNP are considered the network output. <bold>(C)</bold> Visualization of the meaning of network output characteristics amplitude, frequency, and phase by use of two sample signals.</p></caption>
<graphic xlink:href="fnins-15-633945-g0002.tif"/>
</fig>
<p>A diagram of the implemented network is shown in <xref ref-type="fig" rid="F3">Figure 3A</xref>. The network consists of an NSI capable of injecting current and manipulating the voltage characteristics of the post-synaptic neurons.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p><bold>(A)</bold> Block diagram outlining the network structure. Spiking neuron populations &#x0201C;1&#x0201D; (excitatory neuron population) and &#x0201C;2&#x0201D; (inhibitory neuron population) comprise the sCPG. The MNP is also spiking, it is regulated by an excitatory and inhibitory connection from the sCPG populations. The combination of the sCPG populations and the MNP create the complete sCPG network. The interneuron is non-spiking, communicating with the sCPG neuron populations through current injection and voltage characteristic manipulation. The MNP only receives current injections from the NSI. The neural network is altogether composed of 16 neurons, 5 neurons per population plus a single NSI. Red dashed lines indicate input and output of current between different neurons while blue dashed lines mark voltage characteristic manipulations. The dashed lines do not show direct connections because testing combined different configurations of current injection and voltage characteristic manipulation. <bold>(B)</bold> Network for regulating output signal amplitude using the MNP spike count. The total number of spikes output by the motor neurons during the latest time step is sent to the NSI to determine the size of the current injection to the MNP. <bold>(C)</bold> The event-based network consisting of an sCPG of two single AdEx neurons. The Vth of each AdEx neuron is manipulated by an NSI based on spiking input.</p></caption>
<graphic xlink:href="fnins-15-633945-g0003.tif"/>
</fig>
<p>The sCPG populations and MNP consist of 5 neurons each in order to produce a smooth output with a minimum amount of neurons (Strohmer et al., <xref ref-type="bibr" rid="B37">2020</xref>). The NSI is a single neuron so that all post-synaptic neurons connected to it receive the same inputs. This reduces the complexity of the experiments so that the tests focus on the communication from the NSI. The sCPG populations and MNP are comprised of adaptive exponential integrate-and-fire (AdEx) neurons to allow for bursting behaviors (Brette and Gerstner, <xref ref-type="bibr" rid="B8">2005</xref>). Neuronal parameters are set based on regular bursting as outlined in Naud et al. (<xref ref-type="bibr" rid="B25">2008</xref>) and their dynamics are shown in Equations (1) and (2).</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mi>C</mml:mi><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>V</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>E</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>&#x00394;</mml:mo><mml:mi>T</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>V</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>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:mo>&#x00394;</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mi>w</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>when <italic>V</italic><sub><italic>m</italic></sub> &#x0003E; 0<italic>mV</italic> then <italic>V</italic><sub><italic>m</italic></sub>&#x02192;<italic>V</italic><sub><italic>reset</italic></sub></p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M2"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow><mml:mrow><mml:mi>w</mml:mi></mml:mrow></mml:msub><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>w</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:mi>a</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>V</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>E</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mi>w</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>when <italic>V</italic><sub><italic>m</italic></sub> &#x0003E; 0<italic>mV</italic> then <italic>w</italic>&#x02192;<italic>w</italic> &#x0002B; <italic>b</italic></p>
<p>where C is the membrane capacitance, <italic>V</italic><sub><italic>m</italic></sub> is the membrane potential, <italic>E</italic><sub><italic>L</italic></sub> is the resting potential, <italic>g</italic><sub><italic>L</italic></sub> is the leakage conductance, <italic>I</italic><sub><italic>e</italic></sub> is the bias current plus Gaussian white noise, <italic>a</italic> is the sub-threshold adaptation conductance, <italic>b</italic> is the spike-triggered adaptation, &#x00394;<sub><italic>T</italic></sub> is the sharpness factor, &#x003C4;<sub><italic>w</italic></sub> is the adaptation time constant, <italic>V</italic><sub><italic>th</italic></sub> is the voltage threshold potential, <italic>V</italic><sub><italic>reset</italic></sub> is the reset potential, and <italic>w</italic> is the spike adaptation current (Naud et al., <xref ref-type="bibr" rid="B25">2008</xref>). Equation (1) defines the change in membrane potential per time step whereas Equation (2) outlines the current adaptation.</p>
<p>The NSI is simulated as a leaky integrate-and-fire neuron, the dynamics of the neuron are shown in Equation (3). The spiking threshold is set high enough to avoid spiking so there is no reset condition. The simpler neuron model is used for the NSI because the only necessary behavior is the integration of input current and leakage.</p>
<disp-formula id="E3"><label>(3)</label><mml:math id="M3"><mml:mtable class="eqnarray" columnalign="right center 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:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mi>R</mml:mi><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where &#x003C4;<sub><italic>m</italic></sub> &#x0003D; <italic>RC</italic> is the membrane time constant, <italic>V</italic><sub><italic>m</italic></sub> is membrane potential, <italic>I</italic><sub><italic>input</italic></sub> is input bias current plus Gaussian white noise, and <italic>R</italic> is membrane resistance.</p>
<p>Yang et al. (<xref ref-type="bibr" rid="B43">2013</xref>) show that the magnitude of the NSI output is a graded function of the difference between the interneuron&#x00027;s membrane potential and its rest potential. Additionally, they find a linear correlation between the signal produced by the NSI and the response from the post-synaptic neuron. Based on this knowledge, we construct a relation between the NSI membrane potential and the effect on the post-synaptic neuron (Equations 4 and 5).</p>
<disp-formula id="E4"><label>(4)</label><mml:math id="M4"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>V</italic><sub><italic>cm</italic></sub> is voltage characteristic manipulation, <italic>V</italic><sub><italic>rest</italic></sub> is rest potential, and <italic>V</italic><sub><italic>m</italic></sub> is membrane potential.</p>
<p>The application of <italic>V</italic><sub><italic>cm</italic></sub> in the network is further described in section 2.1 outlining experimentation.</p>
<p>Equation (4) provides the offset to the voltage characteristic being adjusted for an sCPG neuron population. <italic>V</italic><sub><italic>rest</italic></sub> is set to &#x02212;60<italic>mV</italic> to stay consistent with biological findings (Graubard, <xref ref-type="bibr" rid="B14">1978</xref>). The practical implementation of <italic>V</italic><sub><italic>rest</italic></sub> uses the starting value of the NSI membrane potential as it fluctuates around the desired resting potential due to noise added to the system. The divisor in Equation (4) limits the voltage characteristic offset within a stable range. It is determined by dividing the biologically plausible 15<italic>mV</italic> NSI membrane potential fluctuation range (Burrows and Siegler, <xref ref-type="bibr" rid="B10">1978</xref>) with the 5<italic>mV</italic> voltage characteristic manipulation range known to be stable for the sCPG network (Strohmer et al., <xref ref-type="bibr" rid="B37">2020</xref>).</p>
<p>Equation (5) calculates the amount of current (<italic>I</italic><sub><italic>injection</italic></sub>), in pA, to be added to the original current bias (<italic>I</italic><sub><italic>e</italic></sub>) of the post-synaptic neuron.</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M5"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>j</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>w</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</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:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>I</italic><sub><italic>injection</italic></sub> is current injection, w is synaptic conductance weight, <italic>V</italic><sub><italic>rest</italic></sub> is rest potential, and <italic>V</italic><sub><italic>m</italic></sub> is membrane potential.</p>
<p>The synaptic conductance weight, <italic>w</italic>, scales the current injection from the NSI to the post-synaptic neuron. Conductance is measured in Siemens (S), the inverse of Ohms (&#x003A9;<sup>&#x02212;1</sup>).</p>
<sec>
<title>2.1. Time-Driven Experimentation</title>
<p>Two main categories of tests are performed on the network, excitatory and inhibitory. The input bias current (<italic>I</italic><sub><italic>input</italic></sub>) to the NSI is always positive, this is the input current defined in Equation (3). However, the injection current (<italic>I</italic><sub><italic>injection</italic></sub>) from the NSI to the post-synaptic neurons changes sign depending on test type, sending a positive current if excitatory and negative current if inhibitory. The value of <italic>I</italic><sub><italic>injection</italic></sub> is determined by Equation (5). Testing is further broken into interactions between the NSI and post-synaptic neuron populations. The overview of these tests is outlined in <xref ref-type="table" rid="T1">Table 1</xref> and visualized in <xref ref-type="fig" rid="F4">Figure 4</xref>.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Test code reference.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="center"><bold>Test no</bold>.</th>
<th valign="top" align="left"><bold>Current injection (MNP)</bold></th>
<th valign="top" align="left"><bold>Current injection (sCPG)</bold></th>
<th valign="top" align="left"><bold>Voltage characteristic (sCPG)</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left" colspan="4"><bold>NSI Communication Testing</bold></td>
</tr>
<tr>
<td valign="top" align="center">1</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left">None</td>
</tr>
<tr>
<td valign="top" align="center">2</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">None</td>
</tr>
<tr>
<td valign="top" align="center">3</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">None</td>
</tr>
<tr>
<td valign="top" align="center">4</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left"><italic>V</italic><sub><italic>th</italic></sub></td>
</tr>
<tr>
<td valign="top" align="center">5</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left"><italic>V</italic><sub><italic>reset</italic></sub></td>
</tr>
<tr>
<td valign="top" align="center">6</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left"><italic>V</italic><sub><italic>m</italic></sub></td>
</tr>
<tr>
<td valign="top" align="center">7</td>
<td valign="top" align="left">No</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left"><italic>V</italic><sub><italic>th</italic></sub></td>
</tr>
<tr>
<td valign="top" align="center">8</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left"><italic>V</italic><sub><italic>th</italic></sub></td>
</tr>
<tr>
<td valign="top" align="center">9</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left"><italic>V</italic><sub><italic>reset</italic></sub></td>
</tr>
<tr>
<td valign="top" align="center">10</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left"><italic>V</italic><sub><italic>reset</italic></sub></td>
</tr>
<tr>
<td valign="top" align="center">11</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left">None</td>
<td valign="top" align="left"><italic>V</italic><sub><italic>m</italic></sub></td>
</tr>
<tr>
<td valign="top" align="center">12</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left">Stepping</td>
<td valign="top" align="left"><italic>V</italic><sub><italic>m</italic></sub></td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Visualization of NSI communication testing outlined in <xref ref-type="table" rid="T1">Table 1</xref>. Red indicates a current injection and blue indicates a voltage characteristic manipulation. Input bias current to the NSI is always excitatory (black dashed arrow). The numbers indicate the main test number corresponding with the depicted setup.</p></caption>
<graphic xlink:href="fnins-15-633945-g0004.tif"/>
</fig>
<p>The tests step through different configurations of injecting current and manipulating voltage characteristics of post-synaptic neuron populations as seen in <xref ref-type="fig" rid="F4">Figure 4</xref>. The voltage characteristics tests separately investigate adjusting voltage threshold potential (<italic>V</italic><sub><italic>th</italic></sub>), voltage reset (<italic>V</italic><sub><italic>reset</italic></sub>), and membrane potential (<italic>V</italic><sub><italic>m</italic></sub>) within Equations (1) and (2). The amount of the offset is determined by the voltage characteristic manipulation Equation (4). The offset generated by <italic>V</italic><sub><italic>cm</italic></sub> is applied to the individual characteristic being tested. When <italic>V</italic><sub><italic>cm</italic></sub> is added to the membrane potential (<italic>V</italic><sub><italic>m</italic></sub>) of the neuron, it is applied after Equation (1) has been calculated, allowing <italic>V</italic><sub><italic>cm</italic></sub> to be added directly to the <italic>V</italic><sub><italic>m</italic></sub> at that time step. On the other hand, when <italic>V</italic><sub><italic>cm</italic></sub> is applied to <italic>V</italic><sub><italic>th</italic></sub> or <italic>V</italic><sub><italic>reset</italic></sub>, it is added to the initial values set for each. Therefore, when testing with one of these characteristics the actual value of either is as follows in Equations (6) and (7).</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="right center 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: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:mtext>_</mml:mtext><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E7"><label>(7)</label><mml:math id="M7"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mi>t</mml:mi><mml:mtext>_</mml:mtext><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mi>m</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>V</italic><sub><italic>th</italic>_<italic>initial</italic></sub> &#x0003D; &#x02212;56mV and <italic>V</italic><sub><italic>reset</italic>_<italic>initial</italic></sub> &#x0003D; &#x02212;41mV for excitatory tests of that characteristic; <italic>V</italic><sub><italic>th</italic>_<italic>initial</italic></sub> &#x0003D; &#x02212;51mV and <italic>V</italic><sub><italic>reset</italic>_<italic>initial</italic></sub> &#x0003D; &#x02212;46mV for inhibitory tests of that characteristic.</p>
<p>Each of the voltage characteristic manipulations is tested on individual sCPG neuron populations as well as both simultaneously, these are defined by test subcategories seen in <xref ref-type="table" rid="T2">Table 2</xref> and visualized in <xref ref-type="fig" rid="F5">Figure 5</xref>. When a test is running that does not update a particular voltage characteristic, the following values are used: <italic>V</italic><sub><italic>th</italic></sub> &#x0003D; &#x02212;51<italic>mV</italic> and <italic>V</italic><sub><italic>reset</italic></sub> &#x0003D; &#x02212;46<italic>mV</italic>. These values are known to produce a regular bursting pattern by the sCPG network (Strohmer et al., <xref ref-type="bibr" rid="B37">2020</xref>). The MNP never changes voltage characteristics, it only receives current injections because it is not involved in generating rhythmic patterns, only shaping the output.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Test subcategory code reference.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="center"><bold>Test subcategory</bold></th>
<th valign="top" align="left"><bold>Current injection type</bold></th>
<th valign="top" align="left"><bold>Excitatory sCPG neuron</bold></th>
<th valign="top" align="left"><bold>Inhibitory sCPG neuron</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left" colspan="4"><bold>NSI Communication Testing</bold></td>
</tr>
<tr>
<td valign="top" align="center">_0</td>
<td valign="top" align="left">Excitatory</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">Yes</td>
</tr>
<tr>
<td valign="top" align="center">_1</td>
<td valign="top" align="left">Excitatory</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">No</td>
</tr>
<tr>
<td valign="top" align="center">_2</td>
<td valign="top" align="left">Excitatory</td>
<td valign="top" align="left">No</td>
<td valign="top" align="left">Yes</td>
</tr>
<tr>
<td valign="top" align="center">_3</td>
<td valign="top" align="left">Inhibitory</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">Yes</td>
</tr>
<tr>
<td valign="top" align="center">_4</td>
<td valign="top" align="left">Inhibitory</td>
<td valign="top" align="left">Yes</td>
<td valign="top" align="left">No</td>
</tr>
<tr>
<td valign="top" align="center">_5</td>
<td valign="top" align="left">Inhibitory</td>
<td valign="top" align="left">No</td>
<td valign="top" align="left">Yes</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Visualization of NSI communication testing subcategories outlined in <xref ref-type="table" rid="T2">Table 2</xref>. Arrows are excitatory and solid circles are inhibitory connections. The connection may be a current injection, a voltage characteristic manipulation, or both depending on the main test number found in <xref ref-type="table" rid="T1">Table 1</xref>. This visualization shows how the subcategories determine the input to the sCPG populations. The numbers indicate the test subcategory corresponding with the depicted setup.</p></caption>
<graphic xlink:href="fnins-15-633945-g0005.tif"/>
</fig>
<p>The test results are compared by plotting the rate-coded output of the MNP. A sliding time window of 5<italic>ms</italic> is used, counting all spikes from the MNP occurring within each time window to produce an analog value. The output signal from the MNP is considered the output of the network because this would be the signal used to control a motor when testing on a physical robot.</p>
<p>Static <italic>I</italic><sub><italic>input</italic></sub> tests are performed first to find the maximum value for the conductance weight, <italic>w</italic> (Equation 5). These static tests are not outlined in the above tables as they are only for parameter tuning. In order to find <italic>w</italic>, <italic>I</italic><sub><italic>input</italic></sub> is set to the maximum value determined by the change in the NSI membrane potential, restricting it to the biologically plausible range of 15<italic>mV</italic> (Burrows and Siegler, <xref ref-type="bibr" rid="B10">1978</xref>). Then <italic>w</italic> is increased by increments of 10<italic>nS</italic> until the maximum weight is found. The maximum is accepted as the largest weight value to produce an ideal output signal, this is further discussed in section 3. This value is set as the maximum conductance weight (<italic>w</italic><sub><italic>max</italic></sub>) for both excitatory and inhibitory tests. After this is found, all test configurations update <italic>I</italic><sub><italic>input</italic></sub> at regular intervals to confirm a change in analog input is able to manipulate network output online. These stepping input current trials all use <italic>w</italic><sub><italic>max</italic></sub> to calculate <italic>I</italic><sub><italic>injection</italic></sub> in Equation (5). When the test is excitatory, <italic>I</italic><sub><italic>input</italic></sub> starts at 0<italic>pA</italic> and ends at the determined maximum, the opposite is true when the test is inhibitory. This allows the system to be &#x0201C;excited&#x0201D; by reducing inhibition so the same general behavior can be expected at the output.</p>
<p>Neural Simulation Tool (NEST) (Jordan et al., <xref ref-type="bibr" rid="B16">2019</xref>) is used to simulate the network and record test results. The simulation is run for 6<italic>s</italic> for all trials. The input current to the NSI updates every 1 s, allowing the network to settle after initial transients before the input changes again. <italic>I</italic><sub><italic>input</italic></sub> starts at 0<italic>pA</italic> and ends at the maximum, 148<italic>pA</italic>. Thus, each step adds 29.6<italic>pA</italic> of input current. Gaussian white noise current is added to all neurons in the network. The standard deviation of the noise current to the NSI is set to 25<italic>pA</italic> so that the noise current is comparable to the current steps. When testing with larger values than this, the output no longer reliably produces the necessary offsets for the voltage characteristic manipulation. For all other neurons, the standard deviation is 50<italic>pA</italic>. The standard deviation of the noise currents are selected and have not been tuned. A bash script is used to run tests in a reliable manner. The bash script and the python test script are available on GitLab (see Data Availability Statement).</p>
<p>After performing all of the test combinations for frequency and amplitude manipulation as outlined in <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref>, one further test is performed to see how output phase is affected by switching between frequencies. The frequency is either held constant for 6<italic>s</italic> or toggled between 4<italic>Hz</italic> and 8<italic>Hz</italic> updating every second for 6<italic>s</italic>. There is no current injection to the motor population for these tests in order to examine phase as affected solely by frequency. This test differs from previous phase manipulations of an sCPG network where phase was determined by synaptic delay (Strohmer et al., <xref ref-type="bibr" rid="B37">2020</xref>). Instead of trying to create a specific phase shift, this trial only confirms that phase is affected by changing frequencies and does not attempt to control it.</p>
<p>Insects use proprioceptive sensor neurons to understand the position of their limbs in relation to their body. These internal feedback loops can help an insect engage resistance reflexes to maintain posture (Tuthill and Wilson, <xref ref-type="bibr" rid="B40">2016</xref>). This knowledge is used to implement a simplified network simulating an internal feedback loop (illustrated in <xref ref-type="fig" rid="F3">Figure 3B</xref>) as a proof of concept application. The rate-coded output from the MNP determines the strength of the synapse connecting the NSI and MNP. A number of trials are run to determine an appropriate scaling factor for excitatory and inhibitory weight calculations.</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M8"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mtable><mml:mtr><mml:mtd><mml:mi>w</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>g</mml:mi><mml:mo>&#x0005F;</mml:mo><mml:mi>f</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mtable><mml:mtr><mml:mtd><mml:mo>&#x000B7;</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mo>&#x0005F;</mml:mo><mml:mi>s</mml:mi><mml:mi>p</mml:mi><mml:mi>i</mml:mi><mml:mi>k</mml:mi><mml:mi>e</mml:mi><mml:mo>&#x0005F;</mml:mo><mml:mi>n</mml:mi><mml:mi>u</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>c</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>t</mml:mi><mml:mo>&#x0005F;</mml:mo><mml:mi>s</mml:mi><mml:mi>p</mml:mi><mml:mi>i</mml:mi><mml:mi>k</mml:mi><mml:mi>e</mml:mi><mml:mo>&#x0005F;</mml:mo><mml:mi>n</mml:mi><mml:mi>u</mml:mi><mml:mi>m</mml:mi><mml:mi>b</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Varying the synaptic conductance weight, <italic>w</italic>, will regulate the output amplitude for this internal feedback loop. Equation (8) determines the <italic>w</italic> to be used in Equation (5) instead of using <italic>w</italic><sub><italic>max</italic></sub>. The <italic>scaling factor</italic> is a value which allows for maximum effect without over-exciting or over-inhibiting the output. The <italic>desired spike number</italic> acts as a set point whereas the <italic>current spike number</italic> is the actual number of spikes from the MNP occurring in the last time step. In this network an inhibitory weight is applied if the number of spikes in the time window is above the desired number and an excitatory weight if below.</p>
</sec>
<sec>
<title>2.2. Event-Driven Experimentation</title>
<p>In order to confirm the NSI&#x00027;s compatibility with a neuromorphic architecture, the network is also simulated on CloudBrain (Larsen et al., <xref ref-type="bibr" rid="B17">2021</xref>). CloudBrain is a scalable event-based SNN simulation platform utilizing event stream processing technologies to communicate between neurons implemented as microservices on a cluster. The NSI in CloudBrain is implemented as an event-based leaky integrator neuron so that the neuron model is comparable to the NEST simulation. The neuron updates its membrane potential upon receipt of an input event according to the dynamics shown in Equation (9).</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M10"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:mo>&#x00394;</mml:mo><mml:msub><mml:mrow><mml:mi>V</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>V</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>V</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>V</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x00394;</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>p</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>C</mml:mi></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where &#x00394;<italic>V</italic><sub><italic>m</italic></sub> is the change in membrane potential, <italic>V</italic><sub><italic>rest</italic></sub> is the rest potential, <italic>decay</italic> is the decay factor simulating leakage, <italic>dt</italic> is the time since last incoming spike, <italic>I</italic><sub><italic>input</italic></sub> is the input current from other neurons, and <italic>C</italic> is the membrane capacitance.</p>
<p>Equation (9) is the event-driven equivalent of the Equation (3) in the time-driven system. The event-driven simulation does not include noise as the experiment is only designed to confirm functionality of an NSI. In addition to updating the membrane potential, the NSI saves the time stamp of last received input (<italic>t</italic><sub><italic>updated</italic></sub>).</p>
<p>Each microservice consists of a neuron and all incoming synapses, so the post-synaptic AdEx neurons cannot directly access the voltage of the NSI. Instead, the NSI parameters (<italic>V</italic>, <italic>V</italic><sub><italic>rest</italic></sub>, <italic>V</italic><sub><italic>m</italic></sub>, <italic>decay</italic>, and <italic>t</italic><sub><italic>updated</italic></sub>) are sent to the synapses connected to the AdEx neurons each time they are updated. Based on this information, the synapse asynchronously calculates the exact membrane potential of the neuron as needed using Equation (10).</p>
<disp-formula id="E10"><label>(10)</label><mml:math id="M11"><mml:mtable class="eqnarray" columnalign="right center left"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>V</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:mi>t</mml:mi></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>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>V</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>V</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:msup><mml:mrow><mml:mi>y</mml:mi></mml:mrow><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>u</mml:mi><mml:mi>p</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where <italic>t</italic> is the current time, <italic>V</italic><sub><italic>m</italic></sub> is the membrane potential, <italic>V</italic><sub><italic>rest</italic></sub> is the rest potential, <italic>decay</italic> is the decay factor simulating the leakage, and <italic>t</italic><sub><italic>updated</italic></sub> is the time at which the parameters were updated.</p>
<p>A network consisting of an NSI and an sCPG is created in CloudBrain to confirm the NSI is able to update the voltage threshold potential of the post-synaptic neurons in an event-based architecture. In this setup, the sCPG is comprised of two single neurons mutually inhibiting each other. <xref ref-type="fig" rid="F3">Figure 3C</xref> shows the block diagram of the network in CloudBrain. The input to the NSI is spikes since it is an event-based architecture. The input spikes are the equivalent of the stepping input current used in the time-based NEST simulation. A step function is encoded to spikes using Ben&#x00027;s Spiker Algorithm (Schrauwen and Van Campenhout, <xref ref-type="bibr" rid="B34">2003</xref>) for transmission to the NSI. In turn, the NSI updates the <italic>V</italic><sub><italic>th</italic></sub> (as described in Equation 1) of the sCPG neurons based on the frequency of spiking input. The <italic>V</italic><sub><italic>th</italic></sub> of the sCPG neurons is calculated using a linear mapping of the membrane potential. This allows us to control the upper and lower limits of the <italic>V</italic><sub><italic>th</italic></sub>. The NSI&#x00027;s <italic>V</italic><sub><italic>m</italic></sub> is recorded for comparison with the <italic>V</italic><sub><italic>th</italic></sub> and spiking output of the sCPG populations.</p>
</sec>
</sec>
<sec sec-type="results" id="s3">
<title>3. Results</title>
<p>Simulating with a constant <italic>I</italic><sub><italic>input</italic></sub> of 148<italic>pA</italic> shows the NSI membrane potential starts close to the rest potential, &#x02212;60<italic>mV</italic> and ends around &#x02212;45<italic>mV</italic>, though these values vary slightly due to noise. This gives us the maximum allowable <italic>I</italic><sub><italic>input</italic></sub> that restricts the NSI&#x00027;s membrane potential within a 15<italic>mV</italic> range.</p>
<p>The maximum synaptic conductance weight for the NSI output synapse is determined to be <italic>w</italic><sub><italic>max</italic></sub> &#x0003D; 70<italic>nS</italic>. The effect on amplitude as compared to a lower weight of 2<italic>nS</italic> is visible in <xref ref-type="fig" rid="F6">Figure 6</xref>. Increasing <italic>w</italic> to 80<italic>nS</italic> produces unwanted lifting behavior from the excitatory current injection where the rate-coded output does not always return to zero. This result can be seen in <xref ref-type="supplementary-material" rid="SM1">Supplementary Figure 1</xref>.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Comparison of the output from the MNP when <italic>w</italic> in Equation (5) is 2<italic>nS</italic> vs. 70<italic>nS</italic> with a constant maximum <italic>I</italic><sub><italic>input</italic></sub> of 148<italic>pA</italic> into the NSI (Equation 3). There is a visible change in amplitude without affecting the frequency or phase. The peaks (local maxima) are marked with a filled circle. <bold>(A)</bold> Injects excitatory current to the MNP; <bold>(B)</bold> Injects inhibitory current to the MNP.</p></caption>
<graphic xlink:href="fnins-15-633945-g0006.tif"/>
</fig>
<p><xref ref-type="fig" rid="F6">Figure 6</xref> shows that amplitude is affected by a change in <italic>I</italic><sub><italic>injection</italic></sub> without altering the frequency or phase of the output for both excitatory (<xref ref-type="fig" rid="F6">Figure 6A</xref>) and inhibitory (<xref ref-type="fig" rid="F6">Figure 6B</xref>) tests. The filled circles on the plots illustrate the peak values (local maxima) of the rate-coded output. The difference in average peak value when comparing 2 vs. 70<italic>nS</italic> is 28.37 spikes when excitatory and 16.69 when inhibitory.</p>
<p><xref ref-type="table" rid="T3">Table 3</xref> shows the progressive increase in average number of spikes per 5<italic>ms</italic> time window based on the size of <italic>I</italic><sub><italic>injection</italic></sub> to the MNP. This reveals that the change in the number of output spikes due to <italic>I</italic><sub><italic>injection</italic></sub> is scalable over a range.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Average maximum number of spikes per time window when injecting excitatory or inhibitory current to the MNP. <italic>I</italic><sub><italic>injection</italic></sub> shown is an approximation, calculated using Equation (5) where <italic>V</italic><sub><italic>m</italic></sub> &#x0003D; &#x02212;45<italic>mV</italic> and <italic>w</italic> is as defined in the table.</p></caption>
<table frame="hsides" rules="groups">
<thead><tr>
<th valign="top" align="center"><bold>Calculated current</bold></th>
<th valign="top" align="center"><bold>Conductance</bold>,</th>
<th valign="top" align="center"><bold>Average peak</bold></th>
<th valign="top" align="center"><bold>Average peak</bold></th>
</tr>
<tr>
<th valign="top" align="center"><bold>injection, I<sub><italic>injection</italic></sub> (pA)</bold></th>
<th valign="top" align="center"><bold>w (nS)</bold></th>
<th valign="top" align="center"><bold>(excitatory)</bold></th>
<th valign="top" align="center"><bold>(inhibitory)</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">30</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">24.26</td>
<td valign="top" align="center">23.00</td>
</tr>
<tr>
<td valign="top" align="center">150</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">26.50</td>
<td valign="top" align="center">20.76</td>
</tr>
<tr>
<td valign="top" align="center">300</td>
<td valign="top" align="center">20</td>
<td valign="top" align="center">29.33</td>
<td valign="top" align="center">18.10</td>
</tr>
<tr>
<td valign="top" align="center">450</td>
<td valign="top" align="center">30</td>
<td valign="top" align="center">32.19</td>
<td valign="top" align="center">14.43</td>
</tr>
<tr>
<td valign="top" align="center">600</td>
<td valign="top" align="center">40</td>
<td valign="top" align="center">36.33</td>
<td valign="top" align="center">12.74</td>
</tr>
<tr>
<td valign="top" align="center">750</td>
<td valign="top" align="center">50</td>
<td valign="top" align="center">41.14</td>
<td valign="top" align="center">10.64</td>
</tr>
<tr>
<td valign="top" align="center">900</td>
<td valign="top" align="center">60</td>
<td valign="top" align="center">46.94</td>
<td valign="top" align="center">8.02</td>
</tr>
<tr>
<td valign="top" align="center">1,050</td>
<td valign="top" align="center">70</td>
<td valign="top" align="center">52.63</td>
<td valign="top" align="center">6.31</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><italic>I<sub>injection</sub> is positive when excitatory and negative when inhibitory. The average peak number of spikes increases and decreases with excitation and inhibition respectively</italic>.</p>
</table-wrap-foot>
</table-wrap>
<sec>
<title>3.1. Online Amplitude Manipulation</title>
<p>The online manipulation of <italic>I</italic><sub><italic>injection</italic></sub> to the MNP results in a change in the number of spikes per time window for both excitatory and inhibitory tests (<xref ref-type="fig" rid="F7">Figures 7A,B</xref>). The addition of <italic>I</italic><sub><italic>injection</italic></sub> to both of the sCPG populations changes the behavior of spiking, shifting the phase in comparison to the static input current tests (<xref ref-type="fig" rid="F7">Figures 7C&#x02013;F</xref>). Additionally, the strong inhibition of both sCPG neuron populations leads to complete suppression of the output.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Comparison of various current injection configurations to the original static input test. For the stepping tests 1, 2, and 3, I input to the NSI increases every 1,000 time steps (1 s). Outputs show that current injection to the MNP changes the amplitude but the addition of current to the sCPG neurons creates a phase shift to the output. <bold>(A,B)</bold> Baseline stepping current tests injecting current from the NSI to the MNP; <bold>(C,D)</bold> I injection from the NSI to both sCPG populations; <bold>(E,F)</bold> I injection from the NSI to both sCPG populations and the MNP; Excitatory tests are on the left while inhibitory tests are on the right. See <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref> and <xref ref-type="fig" rid="F4">Figures 4</xref>, <xref ref-type="fig" rid="F5">5</xref> for setup and details per test number.</p></caption>
<graphic xlink:href="fnins-15-633945-g0007.tif"/>
</fig>
<p>Injecting current to one sCPG population at a time creates instability in the system. <xref ref-type="supplementary-material" rid="SM1">Supplementary Figures 4A,B</xref> show that the excitation of the excitatory sCPG population produces lifting behavior when <italic>I</italic><sub><italic>injection</italic></sub> reaches a specific threshold. Likewise, an increase in excitation of the inhibitory neuron population dampens MNP spiking.</p>
<p>All figures in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Material</xref> present both excitatory and inhibitory trials. Excitatory current injections produce a larger change in amplitude whereas inhibition suppresses output up to a certain point in many tests.</p>
</sec>
<sec>
<title>3.2. Online Frequency Manipulation</title>
<p><xref ref-type="fig" rid="F8">Figure 8</xref> compares frequency manipulation of the output with and without current injection to the MNP. Updating either <italic>V</italic><sub><italic>th</italic></sub> or <italic>V</italic><sub><italic>reset</italic></sub> of the sCPG neuron populations points to a linear relationship with frequency.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Comparison of voltage characteristic manipulation with and without current injection to the MNP. Network behavior remains the same when current is injected to the MNP during frequency changes for all voltage characteristic manipulations. Frequency changes linearly during V th and V reset tests. Excitatory and inhibitory tests are compared to their respective counterparts. Vertical lines indicate when a change in input current occurs once per second. <bold>(A,B)</bold> Test 4 includes current injection to the MNP, Test 7 only updates voltage threshold potential; <bold>(C,D)</bold> Test 5 includes current injection to the MNP, Test 9 only updates voltage reset; <bold>(E,F)</bold> Test 6 includes current injection to the MNP, Test 11 only updates membrane potential. See <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref> and <xref ref-type="fig" rid="F4">Figures 4</xref>, <xref ref-type="fig" rid="F5">5</xref> for setup and details per test number.</p></caption>
<graphic xlink:href="fnins-15-633945-g0008.tif"/>
</fig>
<p>Based on the voltage characteristic manipulation calculation (Equation 4), <italic>V</italic><sub><italic>th</italic></sub> and <italic>V</italic><sub><italic>reset</italic></sub> are either increased or decreased by approximately 1 at each time step. <xref ref-type="fig" rid="F8">Figures 8A&#x02013;D</xref> show that their manipulation results in an increase in frequency by the addition of approximately 1 peak per second, implying a linear relationship. <xref ref-type="fig" rid="F9">Figures 9A&#x02013;C</xref> reinforce the expectation of a linear relationship between frequency and the change in <italic>V</italic><sub><italic>th</italic></sub> or <italic>V</italic><sub><italic>reset</italic></sub>. By contrast, adding an offset to <italic>V</italic><sub><italic>m</italic></sub> does not reliably change the frequency and introduces instability as the current injection increases. <xref ref-type="fig" rid="F9">Figure 9D</xref> shows that the frequency does not trend in a particular direction for the <italic>V</italic><sub><italic>m</italic></sub> manipulation. Additionally, as the inhibitory test&#x00027;s output is suppressed for much of the duration of the trial, there are fewer data points as compared to other tests.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Calculation of frequency for each voltage characteristic manipulation using the time difference between peaks. Double peaks are removed as outliers. The x-axis only represents iteration through the array by subtracting the previous array element from the current element, it does not indicate time. The frequency of the MNP output trends upwards for <bold>(A&#x02013;C)</bold>, indicating that peaks occur more frequently when the absolute difference in voltage between V reset and the V th is decreased. The suffix 0 is used for excitatory tests and 3 for inhibitory tests. <bold>(A)</bold> Compares peak frequencies of <italic>V</italic><sub><italic>th</italic></sub> and <italic>V</italic><sub><italic>reset</italic></sub>; <bold>(B)</bold> <italic>V</italic><sub><italic>th</italic></sub>; <bold>(C)</bold> <italic>V</italic><sub><italic>reset</italic></sub>; <bold>(D)</bold> <italic>V</italic><sub><italic>m</italic></sub>. See <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref> and <xref ref-type="fig" rid="F4">Figures 4</xref>, <xref ref-type="fig" rid="F5">5</xref> for setup and details per test number.</p></caption>
<graphic xlink:href="fnins-15-633945-g0009.tif"/>
</fig>
<p><xref ref-type="fig" rid="F9">Figure 9A</xref> highlights the similarity in the frequency change when comparing <italic>V</italic><sub><italic>th</italic></sub> and <italic>V</italic><sub><italic>reset</italic></sub>. This is also true whether the test is excitatory or inhibitory. <xref ref-type="supplementary-material" rid="SM1">Supplementary Table 1</xref> shows the exact start and end frequency values for the voltage characteristic manipulation tests. The starting frequency for <italic>V</italic><sub><italic>th</italic></sub> and <italic>V</italic><sub><italic>reset</italic></sub> tests is between 2.36 and 2.94<italic>Hz</italic>, ending between 8.01 and 8.94<italic>Hz</italic>. This reveals frequency can be affected by a factor of 3.</p>
<p>Amplitude is also affected by frequency, the average number of maximum spikes for each frequency can be seen in <xref ref-type="supplementary-material" rid="SM1">Supplementary Table 2</xref>. The lower the frequency, the more spikes are counted per time window, resulting in a higher value of the rate-coded output. The relationship does not appear to be linear as the number of spikes is reduced by a larger amount when comparing the lowest 3 frequencies as compared to the highest 3 frequencies.</p>
</sec>
<sec>
<title>3.3. Online Phase Manipulation</title>
<p>Phase is affected by frequency manipulation as seen in <xref ref-type="fig" rid="F10">Figure 10</xref>. <xref ref-type="fig" rid="F10">Figures 10A,B</xref> both show the initial 1,000 time steps of the simulation produce the exact same results for amplitude and phase. However, after a frequency change the phase shifts.</p>
<fig id="F10" position="float">
<label>Figure 10</label>
<caption><p>Comparison of output phase when toggling between frequencies vs. a constant frequency. Both plots show the first 1,000 time steps (equivalent of 1 s) are exactly the same as the toggling (blue) and constant (red) frequency plots follow each other. After a change in frequency, the phase shifts so that they no longer follow each other exactly even though the frequency returns to the original speed. <bold>(A)</bold> Compares a constant high frequency (red) to a toggling frequency (blue). <bold>(B)</bold> Compares a constant low frequency (red) to a toggling frequency (blue).</p></caption>
<graphic xlink:href="fnins-15-633945-g0010.tif"/>
</fig>
</sec>
<sec>
<title>3.4. Online Amplitude Regulation Using Internal Feedback</title>
<p><xref ref-type="fig" rid="F11">Figure 11</xref> shows the effects of amplitude regulation when updating the frequency of the network by adjusting <italic>V</italic><sub><italic>th</italic></sub> in Equations (1) and (2). <italic>V</italic><sub><italic>th</italic></sub> changes based on the offset determined by Equation (4). The scaling factors found to have the most effect without over-inhibition or over-excitation are 50 for inhibition and 2 for excitation (insert into Equation 8).</p>
<fig id="F11" position="float">
<label>Figure 11</label>
<caption><p>Comparison of amplitude when running the network unregulated vs. creating a set point (SP) at 10 spikes and 50 spikes. The SP in this plot is equivalent to the &#x0201C;desired spike value&#x0201D; referred to in Equation (8). There is more overshoot for lower frequencies as compared to higher frequencies but the change in amplitude is visible from the control experiment where <italic>w</italic><sub><italic>max</italic></sub> is applied uniformly. Vertical lines indicate when a change in voltage threshold potential occurs thereby changing the frequency. The threshold updates every 1,200 time steps (1.2<italic>s</italic>) creating a total of 10 divisions. <italic>V</italic><sub><italic>th</italic></sub> starts at &#x02212;54.81<italic>mV</italic> producing a frequency of 3.77<italic>Hz</italic> and increases to &#x02212;50.79<italic>mV</italic> producing a frequency of 9.14<italic>Hz</italic>. After 6,000 time steps <italic>V</italic><sub><italic>th</italic></sub> decreases again, returning to a value of &#x02212;54.74<italic>mV</italic> producing a final frequency of 4.00<italic>Hz</italic>. The middle two trials from 4,800 to 7,200 time steps are held at the highest <italic>V</italic><sub><italic>th</italic></sub>, around &#x02212;50.79<italic>mV</italic>. The values fluctuate by hundredths of a <italic>mV</italic> because <italic>V</italic><sub><italic>th</italic></sub> is affected by current noise.</p></caption>
<graphic xlink:href="fnins-15-633945-g0011.tif"/>
</fig>
<p>The amplitude based on a &#x0201C;desired spike value&#x0201D; (see Equation 8) of 10 vs. 50 confirms that the network is monitoring the output and adjusting. This is seen more drastically when comparing the control experiment (originally test 4_0) and the trial with a desired spike value of 10. Regardless of whether the test is increasing or decreasing frequency, the amplitude is adjusted to a similar value. <xref ref-type="fig" rid="F11">Figure 11</xref> confirms the number of spikes per time window is consistent based on the desired value and the frequency. Furthermore, the phase is unaffected by this amplitude regulation.</p>
</sec>
<sec>
<title>3.5. Event-Driven Manipulation</title>
<p>The step input to the NSI resulting in an increase in <italic>V</italic><sub><italic>th</italic></sub> of the AdEx neuron is seen in <xref ref-type="fig" rid="F12">Figure 12A</xref>. The y-axis is adjusted for each graph so the height of the curves should not be directly compared. However, the time axis is common to both graphs and shows the <italic>V</italic><sub><italic>th</italic></sub> follows the change in <italic>V</italic><sub><italic>m</italic></sub> almost immediately.</p>
<fig id="F12" position="float">
<label>Figure 12</label>
<caption><p><bold>(A)</bold> Comparison of the NSI&#x00027;s <italic>V</italic><sub><italic>m</italic></sub> to the post-synaptic AdEx neuron&#x00027;s <italic>V</italic><sub><italic>th</italic></sub>. The plot shows <italic>V</italic><sub><italic>th</italic></sub> follows <italic>V</italic><sub><italic>m</italic></sub> confirming that the neuronal characteristics are updated based on the membrane potential of the NSI. The AdEx neurons are defined as &#x0201C;left&#x0201D; and &#x0201C;right&#x0201D; based on their relative position in the sCPG. There is no noise on the synapses to the AdEx neurons so the <italic>V</italic><sub><italic>th</italic></sub> of each neuron follows each other exactly thereby obscuring the view of the right neuron underneath the left. <bold>(B)</bold> Comparison of each AdEx neuron&#x00027;s <italic>V</italic><sub><italic>th</italic></sub> to the input and output spike events. The spikes are not rate-coded because there is only one neuron per population. <italic>V</italic><sub><italic>th</italic></sub> increases when the input spike events increase which leads to an increase in bursting frequency of the AdEx neuron. The left and right neurons spike 180&#x000B0; out of phase as expected based on the sCPG architecture of mutual inhibitory coupling.</p></caption>
<graphic xlink:href="fnins-15-633945-g0012.tif"/>
</fig>
<p><xref ref-type="fig" rid="F12">Figure 12B</xref> confirms the output frequency of the AdEx neuron is increased when the input spike bursting frequency increases. The graph shows the increase in input bursting frequency starts ramping up the <italic>V</italic><sub><italic>m</italic></sub> of the NSI. This promotes an increase in output bursting frequency from the AdEx neurons. The AdEx neurons are confirmed to spike out of phase with each other and increase to the same bursting frequency.</p>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>4. Discussion</title>
<p>The results confirm our model of an NSI is capable of shaping output and setting rhythmic patterns of an sCPG network based on a changing analog input. The amount of influence the NSI has on the output is constrained since the change in membrane potential must stay within the biologically plausible 15<italic>mV</italic> range. However, the range still allows at least a doubling of average output spikes per time window from the MNP and triple the frequency when moving from a low to high input current to the NSI. The output from the MNP also dictates usable parameter ranges. The lifting behavior observed when using a synaptic conductance larger than 70<italic>nS</italic> means that the output cannot always return to zero due to some neurons always spiking. This is not ideal as an output signal so the maximum conductance to the post-synaptic neurons is limited to 70<italic>nS</italic>.</p>
<p>The baseline stepping current tests (1_0 and 1_3) confirm amplitude can be manipulated online without changing the behavior of the system by updating the injection current to the MNP. <xref ref-type="table" rid="T3">Table 3</xref> shows that the difference in amplitude can be controlled using synaptic conductance. It can logically be concluded that the average number of maximum spikes per time window when no current is injected is between 23 and 24.26. The number of spikes either increases or decreases from this starting point depending on if the connection is excitatory or inhibitory. The difference between maximum spikes over the range of current tested is steady, reinforcing the conclusion that amplitude is reliably altered by current injection. If the synaptic weight is changed in addition to the current injection, the average number of spikes per time window can be regulated from 6.31 to 52.63. This configuration increases the average spike difference to a factor of 8 (52.63/6.31 &#x0003D; 8.34).</p>
<p>Tests involving a current injection to the sCPG neuron populations produce a phase shift. This is expected because they are the populations driving the rhythmic output. The delay generated could be an exploitable feature when coordinating multiple joints. However, the exact effect has not been calculated and the delay changes based on the level of current injection (see <xref ref-type="fig" rid="F7">Figure 7</xref>).</p>
<p>The linear relationship found between frequency and voltage threshold potential seen in <xref ref-type="fig" rid="F9">Figure 9</xref> is consistent with previous research by Strohmer et al. (<xref ref-type="bibr" rid="B37">2020</xref>). It follows that reset potential has a similar relationship to frequency as voltage threshold potential. Both characteristics change the amount a neuron&#x00027;s membrane potential must change before reaching the spiking threshold. Adding an offset directly to a post-synaptic population&#x00027;s membrane potential introduces discontinuities, creating small &#x0201C;jumps&#x0201D; based on the value of the offset. The frequency does not appear to be linearly correlated with the change in <italic>V</italic><sub><italic>m</italic></sub> when looking at <xref ref-type="fig" rid="F9">Figure 9D</xref>. However, this might be due to the limited range of the offset tested in this study.</p>
<p>The comparison of frequency to the maximum amount of spikes depends on the size of the time window chosen for rate coding as well as the number of neurons within the motor population. Likewise, a larger number of neurons in the motor population increases the maximum possible spikes. The results shown in this study are based on a time window of 5<italic>ms</italic> and a MNP size of 5. When comparing the start and end frequencies for <xref ref-type="supplementary-material" rid="SM1">Supplementary Table 1</xref> against the average frequencies in <xref ref-type="supplementary-material" rid="SM1">Supplementary Table 2</xref>, the static tests show a higher starting frequency (both tables are located in the <xref ref-type="supplementary-material" rid="SM1">Supplementary Material</xref>). The static tests average frequency over a total of 5 s, removing the first second in case of transients. However, Test 4_0 updates the frequency every 1 second so the minimum frequency and maximum frequency shown are not averaged but single calculations. The averaging process most likely accounts for this difference in start and end frequencies. This limits the reliable change in frequency to a difference of 2.8<italic>x</italic>.</p>
<p>Toggling between a low and high frequency over a single trial as compared to a constant frequency produces a phase shift as expected due to the alteration of the output signal&#x00027;s period. This phase shift is with respect to the sCPG network&#x00027;s own output from the MNP and does not indicate how frequency changes might affect a larger system with connected oscillators. However, these results imply that an NSI is able to reset rhythmic behavior of an sCPG network in accordance with biological research (Bidaye et al., <xref ref-type="bibr" rid="B5">2018</xref>).</p>
<p>Trials that only affected a single sCPG neuron population at a time created network instability, most likely due to the change in network dynamics. The sCPG populations are mutually inhibitory so the excitation or inhibition of one population affects the balance of the network. This is particularly visible in <xref ref-type="supplementary-material" rid="SM1">Supplementary Figure 4</xref> where over-excitation of the excitatory neuron causes lifting and over-inhibition of the excitatory neuron suppresses network output. Based on these results, a stable and predictable output requires updating both sCPG neuron populations with the same current injection or voltage characteristic manipulation. This conclusion can only be inferred for a mutually inhibitory sCPG architecture. Furthermore, this result cannot predict stability over time or with different noise profiles.</p>
<p>Reviewing the frequency tests with and without current injection to the motor population shows that the amplitude adjusts based on the level of current injection without affecting frequency. Furthermore, the frequency is equally affected by a change in <italic>V</italic><sub><italic>th</italic></sub> or <italic>V</italic><sub><italic>reset</italic></sub> but biological research shows evidence that voltage threshold adaptation is a strategy used by neurons to change firing rate (Azarfar et al., <xref ref-type="bibr" rid="B3">2018</xref>). Therefore, based on research findings and biological research, our recommended approach for parameter manipulation of a mutually inhibitory sCPG network is to inject current to the MNP while updating the voltage threshold potential of the sCPG neuron populations.</p>
<p>The regulation of amplitude is a building block for developing closed-loop adaptive controllers with NSIs. The proof of concept network implemented shows that NSIs are capable of controlling output based on live feedback. The method is solely for demonstration purposes and is not necessarily biologically plausible though there is evidence that short-term plasticity affects rhythmic outputs (McDonnell and Graham, <xref ref-type="bibr" rid="B22">2017</xref>) and that the synaptic weight influences the magnitude of the post-synaptic potential (Burrows, <xref ref-type="bibr" rid="B9">1996</xref>). Testing the network reveals visible overshoot from the desired set point but this is expected because the spike value must surpass the set point before inhibition initiates. The lower frequencies are also worse at reducing the number of spikes, this is probably because of the significant excitation received from the sCPG populations. As can be seen in the control experiment, the maximum numbers of spikes per time window can reach 100 for the lowest frequency trial. It is more difficult to dampen the effects of these high spike counts than the lower spike counts seen in higher MNP output frequencies.</p>
<p>The results of the event-based CloudBrain simulation are consistent with the time-based NEST simulation showing that output frequency can be manipulated based on input to the NSI. This suggests that the NSI can translate both spiking and analog data into usable information for the network. The ability to receive spiking input increases the usability of the NSI as a possible encoding tool, indicating potential for interfacing with event-driven sensors. Additionally, the ability to run the NSI on an event-based simulation in real-time means that it can be applied in closed-loop control of robots.</p>
</sec>
<sec sec-type="conclusions" id="s5">
<title>5. Conclusion</title>
<p>The method introduced in our research is able to integrate an NSI into an SNN to create a mixed network. Our model NSI is a biologically plausible input value encoder, receiving analog values as <italic>I</italic><sub><italic>input</italic></sub> and passing the information to spiking neuron populations which naturally output spikes. This research confirms that the amplitude, frequency, and phase of an sCPG network can be manipulated based on changing input to an NSI, implying that an NSI can function as an encoding mechanism within an SNN. Furthermore, the ability of the network to adjust to an internal signal suggests that this setup could be useful in adaptive controllers.</p>
<p>Our recommended architecture for integrating an NSI with a mutually inhibitory sCPG network is shown in <xref ref-type="fig" rid="F4">Figure 4</xref>, plot 4,5,6, allowing frequency to be adjusted by changing the voltage threshold potential. In this specific setup, the average frequency of the network can be regulated between 3.0<italic>Hz</italic> and 8.5<italic>Hz</italic>. Additionally, the regulation of synaptic conductance weight from the NSI allows an average peak output amplitude between approximately 6 and 52 spikes per time window. This assumes a rate-coding time window of 5<italic>ms</italic> and 5 neurons for the MNP as investigated in this study. The recorded frequency and amplitude ranges are determined by the architecture and parameter ranges so it would be advantageous to look further into the dynamics of this system to maximize flexibility. Additionally, the resolution of attainable frequencies should be evaluated as this will be an important metric for adaptive control.</p>
<p>An implementation of an NSI should be further researched to compare sub-threshold use of existing spiking neuron models to a unique non-spiking model. Further research into both the offset and injection current equations as well as their respective parameters is also necessary. Additionally, the leakage constant of the NSI could be optimized to ensure biological-plausibility and effectiveness. The relationships between frequency and phase as well as frequency and amplitude should be quantified so that these dependencies can be fully exploited.</p>
<p>The finding that amplitude can be scaled based on the value of the current injection to the MNP leads to the possibility of using an NSI to prioritize sensory inputs or inform coordination tasks. Insect inter-leg coordination is known to depend on sensory input not only from the local leg but also neighboring legs (Bidaye et al., <xref ref-type="bibr" rid="B5">2018</xref>). Therefore, synaptic weights from a single NSI population could be tuned in order to inject more current to the local leg while also providing varying amounts of injection current to neighboring legs.</p>
<p>The event-based demonstration on the CloudBrain platform indicates that implementation on neuromorphic hardware is possible. A closed-loop mixed network should be further studied in CloudBrain since it can communicate with a robot in real-time (Larsen et al., <xref ref-type="bibr" rid="B17">2021</xref>). This provides the opportunity for investigation of a mixed network adaptive controller using environmental interaction.</p>
<p>The ability of sub-threshold encoding to shape an sCPG network&#x00027;s output opens up possibilities for new approaches to coordination and control tasks. Storchi et al. (<xref ref-type="bibr" rid="B36">2012</xref>) report observing the use of combinations of encoding mechanisms in biological systems, indicating that the use of multiple methods within a single robot could be a fruitful investigation direction for adaptive controllers.</p>
</sec>
<sec sec-type="data-availability-statement" id="s6">
<title>Data Availability Statement</title>
<p>The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found below: <ext-link ext-link-type="uri" xlink:href="https://gitlab.sdu.dk/stroh/interneuron-encoding">https://gitlab.sdu.dk/stroh/interneuron-encoding</ext-link>.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>BS and LL developed the main idea of the paper. BS researched the biological concepts, formulated a theory, and applied it within a time-based simulation tool. LL and RS conceived of the event-based NSI model. RS implemented and validated neuron and synapse implementations. RS implemented the sCPG in CloudBrain. The manuscript was written by BS with support from LL and PM. LL supervised the project and provided the funding. All authors contributed to the article and approved the submitted version.</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<title>Conflict of Interest</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>
</body>
<back>
<ack><p>This paper is available on the BioRxiv pre-print server.</p>
</ack>
<sec sec-type="supplementary-material" id="s8">
<title>Supplementary Material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fnins.2021.633945/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fnins.2021.633945/full#supplementary-material</ext-link></p>
<supplementary-material xlink:href="Data_Sheet_1.PDF" id="SM1" mimetype="application/pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Adrian</surname> <given-names>E. D.</given-names></name></person-group> (<year>1926</year>). <article-title>The impulses produced by sensory nerve endings: part I</article-title>. <source>J. Physiol</source>. <volume>61</volume>:<fpage>49</fpage>. <pub-id pub-id-type="doi">10.1113/jphysiol.1926.sp002273</pub-id></citation></ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Aoi</surname> <given-names>S.</given-names></name> <name><surname>Manoonpong</surname> <given-names>P.</given-names></name> <name><surname>Ambe</surname> <given-names>Y.</given-names></name> <name><surname>Matsuno</surname> <given-names>F.</given-names></name> <name><surname>W&#x000F6;rg&#x000F6;tter</surname> <given-names>F.</given-names></name></person-group> (<year>2017</year>). <article-title>Adaptive control strategies for interlimb coordination in legged robots: a review</article-title>. <source>Front. Neurorobot</source>. <volume>11</volume>:<fpage>39</fpage>. <pub-id pub-id-type="doi">10.3389/fnbot.2017.00039</pub-id><pub-id pub-id-type="pmid">28878645</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Azarfar</surname> <given-names>A.</given-names></name> <name><surname>Calcini</surname> <given-names>N.</given-names></name> <name><surname>Huang</surname> <given-names>C.</given-names></name> <name><surname>Zeldenrust</surname> <given-names>F.</given-names></name> <name><surname>Celikel</surname> <given-names>T.</given-names></name></person-group> (<year>2018</year>). <article-title>Neural coding: a single neuron&#x00027;s perspective</article-title>. <source>Neurosci. Biobehav. Rev</source>. <volume>94</volume>:<fpage>238</fpage>&#x02013;<lpage>247</lpage>. <pub-id pub-id-type="doi">10.1016/j.neubiorev.2018.09.007</pub-id><pub-id pub-id-type="pmid">30227142</pub-id></citation></ref>
<ref id="B4">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Barikhan</surname> <given-names>S. S.</given-names></name> <name><surname>W&#x000F6;rg&#x000F6;tter</surname> <given-names>F.</given-names></name> <name><surname>Manoonpong</surname> <given-names>P.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;Multiple decoupled cpgs with local sensory feedback for adaptive locomotion behaviors of bio-inspired walking robots,&#x0201D;</article-title> in <source>International Conference on Simulation of Adaptive Behavior</source> (<publisher-loc>Castell&#x000F3;n</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>65</fpage>&#x02013;<lpage>75</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-08864-8_7</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bidaye</surname> <given-names>S. S.</given-names></name> <name><surname>Bockem&#x000FC;hl</surname> <given-names>T.</given-names></name> <name><surname>B&#x000FC;schges</surname> <given-names>A.</given-names></name></person-group> (<year>2018</year>). <article-title>Six-legged walking in insects: how cpgs, peripheral feedback, and descending signals generate coordinated and adaptive motor rhythms</article-title>. <source>J. Neurophysiol</source>. <volume>119</volume>, <fpage>459</fpage>&#x02013;<lpage>475</lpage>. <pub-id pub-id-type="doi">10.1152/jn.00658.2017</pub-id><pub-id pub-id-type="pmid">29070634</pub-id></citation></ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bing</surname> <given-names>Z.</given-names></name> <name><surname>Meschede</surname> <given-names>C.</given-names></name> <name><surname>R&#x000F6;hrbein</surname> <given-names>F.</given-names></name> <name><surname>Huang</surname> <given-names>K.</given-names></name> <name><surname>Knoll</surname> <given-names>A. C.</given-names></name></person-group> (<year>2018</year>). <article-title>A survey of robotics control based on learning-inspired spiking neural networks</article-title>. <source>Front. Neurorobot</source>. <volume>12</volume>:<fpage>35</fpage>. <pub-id pub-id-type="doi">10.3389/fnbot.2018.00035</pub-id><pub-id pub-id-type="pmid">30034334</pub-id></citation></ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bohte</surname> <given-names>S. M.</given-names></name></person-group> (<year>2004</year>). <article-title>The evidence for neural information processing with precise spike-times: a survey</article-title>. <source>Nat. Comput</source>. <volume>3</volume>, <fpage>195</fpage>&#x02013;<lpage>206</lpage>. <pub-id pub-id-type="doi">10.1023/B:NACO.0000027755.02868.60</pub-id></citation></ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Brette</surname> <given-names>R.</given-names></name> <name><surname>Gerstner</surname> <given-names>W.</given-names></name></person-group> (<year>2005</year>). <article-title>Adaptive exponential integrate-and-fire model as an effective description of neuronal activity</article-title>. <source>J. Neurophysiol</source>. <volume>94</volume>, <fpage>3637</fpage>&#x02013;<lpage>3642</lpage>. <pub-id pub-id-type="doi">10.1152/jn.00686.2005</pub-id><pub-id pub-id-type="pmid">16014787</pub-id></citation></ref>
<ref id="B9">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Burrows</surname> <given-names>M.</given-names></name></person-group> (<year>1996</year>). <source>The Neurobiology of an Insect Brain</source>. <publisher-name>Oxford University Press</publisher-name>. <pub-id pub-id-type="doi">10.1093/acprof:oso/9780198523444.001.0001</pub-id></citation></ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Burrows</surname> <given-names>M.</given-names></name> <name><surname>Siegler</surname> <given-names>M.</given-names></name></person-group> (<year>1978</year>). <article-title>Graded synaptic transmission between local interneurones and motor neurones in the metathoracic ganglion of the locust</article-title>. <source>J. Physiol</source>. <volume>285</volume>, <fpage>231</fpage>&#x02013;<lpage>255</lpage>. <pub-id pub-id-type="doi">10.1113/jphysiol.1978.sp012569</pub-id><pub-id pub-id-type="pmid">217985</pub-id></citation></ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>B&#x000FC;schges</surname> <given-names>A.</given-names></name> <name><surname>Wolf</surname> <given-names>H.</given-names></name></person-group> (<year>1995</year>). <article-title>Nonspiking local interneurons in insect leg motor control. I. Common layout and species-specific response properties of femur-tibia joint control pathways in stick insect and locust</article-title>. <source>J. Neurophysiol</source>. <volume>73</volume>, <fpage>1843</fpage>&#x02013;<lpage>1860</lpage>. <pub-id pub-id-type="doi">10.1152/jn.1995.73.5.1843</pub-id><pub-id pub-id-type="pmid">7623085</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Danner</surname> <given-names>S. M.</given-names></name> <name><surname>Shevtsova</surname> <given-names>N. A.</given-names></name> <name><surname>Frigon</surname> <given-names>A.</given-names></name> <name><surname>Rybak</surname> <given-names>I. A.</given-names></name></person-group> (<year>2017</year>). <article-title>Computational modeling of spinal circuits controlling limb coordination and gaits in quadrupeds</article-title>. <source>eLife</source> <volume>6</volume>:<fpage>e31050</fpage>. <pub-id pub-id-type="doi">10.7554/eLife.31050</pub-id><pub-id pub-id-type="pmid">29165245</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>D&#x000FC;rr</surname> <given-names>V.</given-names></name> <name><surname>Arena</surname> <given-names>P. P.</given-names></name> <name><surname>Cruse</surname> <given-names>H.</given-names></name> <name><surname>Dallmann</surname> <given-names>C. J.</given-names></name> <name><surname>Drimus</surname> <given-names>A.</given-names></name> <name><surname>Hoinville</surname> <given-names>T.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>Integrative biomimetics of autonomous hexapedal locomotion</article-title>. <source>Front. Neurorobot</source>. <volume>13</volume>:<fpage>88</fpage>. <pub-id pub-id-type="doi">10.3389/fnbot.2019.00088</pub-id><pub-id pub-id-type="pmid">31708765</pub-id></citation></ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Graubard</surname> <given-names>K.</given-names></name></person-group> (<year>1978</year>). <article-title>Synaptic transmission without action potentials: input-output properties of a nonspiking presynaptic neuron</article-title>. <source>J. Neurophysiol</source>. <volume>41</volume>, <fpage>1014</fpage>&#x02013;<lpage>1025</lpage>. <pub-id pub-id-type="doi">10.1152/jn.1978.41.4.1014</pub-id><pub-id pub-id-type="pmid">210264</pub-id></citation></ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hooper</surname> <given-names>S. L.</given-names></name> <name><surname>Guschlbauer</surname> <given-names>C.</given-names></name> <name><surname>von Uckermann</surname> <given-names>G.</given-names></name> <name><surname>Buschges</surname> <given-names>A.</given-names></name></person-group> (<year>2007</year>). <article-title>Different motor neuron spike patterns produce contractions with very similar rises in graded slow muscles</article-title>. <source>J. Neurophysiol</source>. <volume>97</volume>, <fpage>1428</fpage>&#x02013;<lpage>1444</lpage>. <pub-id pub-id-type="doi">10.1152/jn.01014.2006</pub-id><pub-id pub-id-type="pmid">17167058</pub-id></citation></ref>
<ref id="B16">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Jordan</surname> <given-names>J.</given-names></name> <name><surname>Mark</surname> <given-names>H.</given-names></name> <name><surname>Vennemo</surname> <given-names>S. B.</given-names></name> <name><surname>Terhorst</surname> <given-names>D.</given-names></name> <name><surname>Peyser</surname> <given-names>A.</given-names></name> <name><surname>Ippen</surname> <given-names>T.</given-names></name> <etal/></person-group>. (<year>2019</year>). Nest 2.18.0. <pub-id pub-id-type="doi">10.5281/zenodo.2605422</pub-id></citation></ref>
<ref id="B17">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Larsen</surname> <given-names>L. B.</given-names></name> <name><surname>Stagsted</surname> <given-names>R. K.</given-names></name> <name><surname>Strohmer</surname> <given-names>B.</given-names></name> <name><surname>Christensen</surname> <given-names>A. L.</given-names></name></person-group> (<year>2021</year>). <article-title>Cloudbrain: real-time neural computation in the cloud</article-title>. <source>bioRxiv</source>. <pub-id pub-id-type="doi">10.1101/2021.01.21.427662</pub-id></citation></ref>
<ref id="B18">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname> <given-names>Q.</given-names></name> <name><surname>Kidd</surname> <given-names>P. B.</given-names></name> <name><surname>Dobosiewicz</surname> <given-names>M.</given-names></name> <name><surname>Bargmann</surname> <given-names>C. I.</given-names></name></person-group> (<year>2018</year>). <article-title><italic>C. elegans</italic> awa olfactory neurons fire calcium-mediated all-or-none action potentials</article-title>. <source>Cell</source> <volume>175</volume>, <fpage>57</fpage>&#x02013;<lpage>70</lpage>. <pub-id pub-id-type="doi">10.1016/j.cell.2018.08.018</pub-id><pub-id pub-id-type="pmid">30220455</pub-id></citation></ref>
<ref id="B19">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Mallot</surname> <given-names>H. A.</given-names></name></person-group> (<year>2013</year>). <article-title>&#x0201C;Coding and representation,&#x0201D;</article-title> in <source>Computational Neuroscience</source> (<publisher-loc>Springer</publisher-loc>), <fpage>113</fpage>&#x02013;<lpage>129</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-00861-5_5</pub-id></citation></ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Markin</surname> <given-names>S. N.</given-names></name> <name><surname>Klishko</surname> <given-names>A. N.</given-names></name> <name><surname>Shevtsova</surname> <given-names>N. A.</given-names></name> <name><surname>Lemay</surname> <given-names>M. A.</given-names></name> <name><surname>Prilutsky</surname> <given-names>B. I.</given-names></name> <name><surname>Rybak</surname> <given-names>I. A.</given-names></name></person-group> (<year>2010</year>). <article-title>Afferent control of locomotor cpg: insights from a simple neuromechanical model</article-title>. <source>Ann. N. Y. Acad. Sci</source>. <volume>1198</volume>:<fpage>21</fpage>. <pub-id pub-id-type="doi">10.1111/j.1749-6632.2010.05435.x</pub-id><pub-id pub-id-type="pmid">20536917</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>McCrea</surname> <given-names>D. A.</given-names></name> <name><surname>Rybak</surname> <given-names>I. A.</given-names></name></person-group> (<year>2008</year>). <article-title>Organization of mammalian locomotor rhythm and pattern generation</article-title>. <source>Brain Res. Rev</source>. <volume>57</volume>, <fpage>134</fpage>&#x02013;<lpage>146</lpage>. <pub-id pub-id-type="doi">10.1016/j.brainresrev.2007.08.006</pub-id><pub-id pub-id-type="pmid">17936363</pub-id></citation></ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>McDonnell</surname> <given-names>M. D.</given-names></name> <name><surname>Graham</surname> <given-names>B. P.</given-names></name></person-group> (<year>2017</year>). <article-title>Phase changes in neuronal postsynaptic spiking due to short term plasticity</article-title>. <source>PLoS Comput. Biol</source>. <volume>13</volume>:<fpage>e1005634</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pcbi.1005634</pub-id><pub-id pub-id-type="pmid">28937977</pub-id></citation></ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mileusnic</surname> <given-names>M. P.</given-names></name> <name><surname>Brown</surname> <given-names>I. E.</given-names></name> <name><surname>Lan</surname> <given-names>N.</given-names></name> <name><surname>Loeb</surname> <given-names>G. E.</given-names></name></person-group> (<year>2006</year>). <article-title>Mathematical models of proprioceptors. I. Control and transduction in the muscle spindle</article-title>. <source>J. Neurophysiol</source>. <volume>96</volume>, <fpage>1772</fpage>&#x02013;<lpage>1788</lpage>. <pub-id pub-id-type="doi">10.1152/jn.00868.2005</pub-id><pub-id pub-id-type="pmid">16672301</pub-id></citation></ref>
<ref id="B24">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Nachstedt</surname> <given-names>T.</given-names></name> <name><surname>W&#x000F6;rg&#x000F6;tter</surname> <given-names>F.</given-names></name> <name><surname>Manoonpong</surname> <given-names>P.</given-names></name> <name><surname>Ariizumi</surname> <given-names>R.</given-names></name> <name><surname>Ambe</surname> <given-names>Y.</given-names></name> <name><surname>Matsuno</surname> <given-names>F.</given-names></name></person-group> (<year>2013</year>). <article-title>&#x0201C;Adaptive neural oscillators with synaptic plasticity for locomotion control of a snake-like robot with screw-drive mechanism,&#x0201D;</article-title> in <source>2013 IEEE International Conference on Robotics and Automation</source> (<publisher-loc>Karlsruhe</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>3389</fpage>&#x02013;<lpage>3395</lpage>. <pub-id pub-id-type="doi">10.1109/ICRA.2013.6631050</pub-id></citation></ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Naud</surname> <given-names>R.</given-names></name> <name><surname>Marcille</surname> <given-names>N.</given-names></name> <name><surname>Clopath</surname> <given-names>C.</given-names></name> <name><surname>Gerstner</surname> <given-names>W.</given-names></name></person-group> (<year>2008</year>). <article-title>Firing patterns in the adaptive exponential integrate-and-fire model</article-title>. <source>Biol. Cybernet</source>. <volume>99</volume>:<fpage>335</fpage>. <pub-id pub-id-type="doi">10.1007/s00422-008-0264-7</pub-id><pub-id pub-id-type="pmid">28365399</pub-id></citation></ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Niu</surname> <given-names>C. M.</given-names></name> <name><surname>Jalaleddini</surname> <given-names>K.</given-names></name> <name><surname>Sohn</surname> <given-names>W. J.</given-names></name> <name><surname>Rocamora</surname> <given-names>J.</given-names></name> <name><surname>Sanger</surname> <given-names>T. D.</given-names></name> <name><surname>Valero-Cuevas</surname> <given-names>F. J.</given-names></name></person-group> (<year>2017</year>). <article-title>Neuromorphic meets neuromechanics, part I: the methodology and implementation</article-title>. <source>J. Neural Eng</source>. <volume>14</volume>:<fpage>025001</fpage>. <pub-id pub-id-type="doi">10.1088/1741-2552/aa593c</pub-id><pub-id pub-id-type="pmid">28084217</pub-id></citation></ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Panzeri</surname> <given-names>S.</given-names></name> <name><surname>Macke</surname> <given-names>J. H.</given-names></name> <name><surname>Gross</surname> <given-names>J.</given-names></name> <name><surname>Kayser</surname> <given-names>C.</given-names></name></person-group> (<year>2015</year>). <article-title>Neural population coding: combining insights from microscopic and mass signals</article-title>. <source>Trends Cogn. Sci</source>. <volume>19</volume>, <fpage>162</fpage>&#x02013;<lpage>172</lpage>. <pub-id pub-id-type="doi">10.1016/j.tics.2015.01.002</pub-id><pub-id pub-id-type="pmid">25670005</pub-id></citation></ref>
<ref id="B28">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Patil</surname> <given-names>S.</given-names></name> <name><surname>Zhou</surname> <given-names>K.</given-names></name> <name><surname>Parker</surname> <given-names>A. C.</given-names></name></person-group> (<year>2015</year>). <article-title>&#x0201C;Neural circuits for touch-induced locomotion in <italic>Caenorhabditis elegans</italic>,&#x0201D;</article-title> in <source>2015 International Joint Conference on Neural Networks (IJCNN)</source> (<publisher-loc>Killarney</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1109/IJCNN.2015.7280408</pub-id></citation></ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Petro</surname> <given-names>B.</given-names></name> <name><surname>Kasabov</surname> <given-names>N.</given-names></name> <name><surname>Kiss</surname> <given-names>R. M.</given-names></name></person-group> (<year>2019</year>). <article-title>Selection and optimization of temporal spike encoding methods for spiking neural networks</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst</source> <volume>31</volume>, <fpage>358</fpage>&#x02013;<lpage>370</lpage>. <pub-id pub-id-type="doi">10.1109/TNNLS.2019.2906158</pub-id><pub-id pub-id-type="pmid">30990446</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Pitchai</surname> <given-names>M.</given-names></name> <name><surname>Xiong</surname> <given-names>X.</given-names></name> <name><surname>Thor</surname> <given-names>M.</given-names></name> <name><surname>Billeschou</surname> <given-names>P.</given-names></name> <name><surname>Mail&#x000E4;nder</surname> <given-names>P. L.</given-names></name> <name><surname>Leung</surname> <given-names>B.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>&#x0201C;CPG driven RBF network control with reinforcement learning for gait optimization of a dung beetle-like robot,&#x0201D;</article-title> in <source>International Conference on Artificial Neural Networks</source> (<publisher-loc>Munich</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>698</fpage>&#x02013;<lpage>710</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-030-30487-4_53</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Raphael</surname> <given-names>G.</given-names></name> <name><surname>Tsianos</surname> <given-names>G. A.</given-names></name> <name><surname>Loeb</surname> <given-names>G. E.</given-names></name></person-group> (<year>2010</year>). <article-title>Spinal-like regulator facilitates control of a two-degree-of-freedom wrist</article-title>. <source>J. Neurosci</source>. <volume>30</volume>, <fpage>9431</fpage>&#x02013;<lpage>9444</lpage>. <pub-id pub-id-type="doi">10.1523/JNEUROSCI.5537-09.2010</pub-id><pub-id pub-id-type="pmid">20631172</pub-id></citation></ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schafer</surname> <given-names>W.</given-names></name></person-group> (<year>2016</year>). <article-title>Nematode nervous systems</article-title>. <source>Curr. Biol</source>. <volume>26</volume>, <fpage>R955</fpage>&#x02013;<lpage>R959</lpage>. <pub-id pub-id-type="doi">10.1016/j.cub.2016.07.044</pub-id></citation></ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schilling</surname> <given-names>M.</given-names></name> <name><surname>Hoinville</surname> <given-names>T.</given-names></name> <name><surname>Schmitz</surname> <given-names>J.</given-names></name> <name><surname>Cruse</surname> <given-names>H.</given-names></name></person-group> (<year>2013</year>). <article-title>Walknet, a bio-inspired controller for hexapod walking</article-title>. <source>Biol. Cybernet</source>. <volume>107</volume>, <fpage>397</fpage>&#x02013;<lpage>419</lpage>. <pub-id pub-id-type="doi">10.1007/s00422-013-0563-5</pub-id><pub-id pub-id-type="pmid">23824506</pub-id></citation></ref>
<ref id="B34">
<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>&#x0201C;BSA, a fast and accurate spike train encoding scheme,&#x0201D;</article-title> in <source>Proceedings of the International Joint Conference on Neural Networks, 2003</source> (<publisher-loc>Portland</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>2825</fpage>&#x02013;<lpage>2830</lpage>. <pub-id pub-id-type="doi">10.1109/IJCNN.2003.1224019</pub-id></citation></ref>
<ref id="B35">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sengupta</surname> <given-names>N.</given-names></name> <name><surname>Kasabov</surname> <given-names>N.</given-names></name></person-group> (<year>2017</year>). <article-title>Spike-time encoding as a data compression technique for pattern recognition of temporal data</article-title>. <source>Inform. Sci</source>. <volume>406</volume>, <fpage>133</fpage>&#x02013;<lpage>145</lpage>. <pub-id pub-id-type="doi">10.1016/j.ins.2017.04.017</pub-id></citation></ref>
<ref id="B36">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Storchi</surname> <given-names>R.</given-names></name> <name><surname>Bale</surname> <given-names>M. R.</given-names></name> <name><surname>Biella</surname> <given-names>G. E.</given-names></name> <name><surname>Petersen</surname> <given-names>R. S.</given-names></name></person-group> (<year>2012</year>). <article-title>Comparison of latency and rate coding for the direction of whisker deflection in the subcortical somatosensory pathway</article-title>. <source>J. Neurophysiol.</source> <volume>108</volume>, <fpage>1810</fpage>&#x02013;<lpage>1821</lpage>. <pub-id pub-id-type="doi">10.1152/jn.00921.2011</pub-id><pub-id pub-id-type="pmid">22815402</pub-id></citation></ref>
<ref id="B37">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Strohmer</surname> <given-names>B.</given-names></name> <name><surname>Manoonpong</surname> <given-names>P.</given-names></name> <name><surname>Larsen</surname> <given-names>L. B.</given-names></name></person-group> (<year>2020</year>). <article-title>Flexible spiking CPGs for online manipulation during hexapod walking</article-title>. <source>Front. Neurorobot</source>. <volume>14</volume>:<fpage>41</fpage>. <pub-id pub-id-type="doi">10.3389/fnbot.2020.00041</pub-id><pub-id pub-id-type="pmid">32676022</pub-id></citation></ref>
<ref id="B38">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Szczecinski</surname> <given-names>N. S.</given-names></name> <name><surname>Chrzanowski</surname> <given-names>D. M.</given-names></name> <name><surname>Cofer</surname> <given-names>D. W.</given-names></name> <name><surname>Terrasi</surname> <given-names>A. S.</given-names></name> <name><surname>Moore</surname> <given-names>D. R.</given-names></name> <name><surname>Martin</surname> <given-names>J. P.</given-names></name> <etal/></person-group>. (<year>2015</year>). <article-title>&#x0201C;Introducing mantisbot: hexapod robot controlled by a high-fidelity, real-time neural simulation,&#x0201D;</article-title> in <source>2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</source> (<publisher-loc>Hamburg</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>3875</fpage>&#x02013;<lpage>3881</lpage>. <pub-id pub-id-type="doi">10.1109/IROS.2015.7353922</pub-id></citation></ref>
<ref id="B39">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Thor</surname> <given-names>M.</given-names></name> <name><surname>Manoonpong</surname> <given-names>P.</given-names></name></person-group> (<year>2019</year>). <article-title>A fast online frequency adaptation mechanism for CPG-based robot motion control</article-title>. <source>IEEE Robot. Automat. Lett</source>. <volume>4</volume>, <fpage>3324</fpage>&#x02013;<lpage>3331</lpage>. <pub-id pub-id-type="doi">10.1109/LRA.2019.2926660</pub-id></citation></ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tuthill</surname> <given-names>J. C.</given-names></name> <name><surname>Wilson</surname> <given-names>R. I.</given-names></name></person-group> (<year>2016</year>). <article-title>Mechanosensation and adaptive motor control in insects</article-title>. <source>Curr. Biol</source>. <volume>26</volume>, <fpage>R1022</fpage>&#x02013;<lpage>R1038</lpage>. <pub-id pub-id-type="doi">10.1016/j.cub.2016.06.070</pub-id><pub-id pub-id-type="pmid">27780045</pub-id></citation></ref>
<ref id="B41">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>von Uckermann</surname> <given-names>G.</given-names></name> <name><surname>B&#x000FC;schges</surname> <given-names>A.</given-names></name></person-group> (<year>2009</year>). <article-title>Premotor interneurons in the local control of stepping motor output for the stick insect single middle leg</article-title>. <source>J. Neurophysiol</source>. <volume>102</volume>, <fpage>1956</fpage>&#x02013;<lpage>1975</lpage>. <pub-id pub-id-type="doi">10.1152/jn.00312.2009</pub-id><pub-id pub-id-type="pmid">19605613</pub-id></citation></ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wo&#x0017A;niak</surname> <given-names>S.</given-names></name> <name><surname>Pantazi</surname> <given-names>A.</given-names></name> <name><surname>Bohnstingl</surname> <given-names>T.</given-names></name> <name><surname>Eleftheriou</surname> <given-names>E.</given-names></name></person-group> (<year>2020</year>). <article-title>Deep learning incorporating biologically inspired neural dynamics and in-memory computing</article-title>. <source>Nat. Mach. Intell</source>. <volume>2</volume>, <fpage>325</fpage>&#x02013;<lpage>336</lpage>. <pub-id pub-id-type="doi">10.1038/s42256-020-0187-0</pub-id></citation></ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yang</surname> <given-names>S. M.</given-names></name> <name><surname>Vilarchao</surname> <given-names>M. E.</given-names></name> <name><surname>Rela</surname> <given-names>L.</given-names></name> <name><surname>Szczupak</surname> <given-names>L.</given-names></name></person-group> (<year>2013</year>). <article-title>Wide propagation of graded signals in nonspiking neurons</article-title>. <source>J. Neurophysiol</source>. <volume>109</volume>, <fpage>711</fpage>&#x02013;<lpage>720</lpage>. <pub-id pub-id-type="doi">10.1152/jn.00934.2012</pub-id><pub-id pub-id-type="pmid">23155168</pub-id></citation></ref>
</ref-list>
<fn-group>
<fn fn-type="financial-disclosure"><p><bold>Funding.</bold> This research was funded by the SDU Biorobotics group at the University of Southern Denmark.</p>
</fn>
</fn-group>
</back>
</article>