<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Neurosci.</journal-id>
<journal-title>Frontiers in Neuroscience</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Neurosci.</abbrev-journal-title>
<issn pub-type="epub">1662-453X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fnins.2023.1091097</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>VTSNN: a virtual temporal spiking neural network</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" equal-contrib="yes">
<name><surname>Qiu</surname> <given-names>Xue-Rui</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="author-notes" rid="fn002"><sup>&#x02020;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2034535/overview"/>
</contrib>
<contrib contrib-type="author" equal-contrib="yes">
<name><surname>Wang</surname> <given-names>Zhao-Rui</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="author-notes" rid="fn002"><sup>&#x02020;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2078231/overview"/>
</contrib>
<contrib contrib-type="author" equal-contrib="yes">
<name><surname>Luan</surname> <given-names>Zheng</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="author-notes" rid="fn002"><sup>&#x02020;</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Zhu</surname> <given-names>Rui-Jie</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2081545/overview"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Wu</surname> <given-names>Xiao</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Zhang</surname> <given-names>Ma-Lu</given-names></name>
<xref ref-type="aff" rid="aff4"><sup>4</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/764648/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Deng</surname> <given-names>Liang-Jian</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2048017/overview"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>School of Optoelectronic Science and Engineering, University of Electronic Science and Technology of China</institution>, <addr-line>Chengdu</addr-line>, <country>China</country></aff>
<aff id="aff2"><sup>2</sup><institution>School of Public Affairs and Administration, University of Electronic Science and Technology of China</institution>, <addr-line>Chengdu</addr-line>, <country>China</country></aff>
<aff id="aff3"><sup>3</sup><institution>School of Mathematical Sciences, University of Electronic Science and Technology of China</institution>, <addr-line>Chengdu</addr-line>, <country>China</country></aff>
<aff id="aff4"><sup>4</sup><institution>School of Computer Science and Engineering, University of Electronic Science and Technology of China</institution>, <addr-line>Chengdu</addr-line>, <country>China</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Anup Das, Drexel University, United States</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Qi Xu, Dalian University of Technology, China; Oliver Rhodes, The University of Manchester, United Kingdom; Peng Li, Tianjin University, China; Tielin Zhang, Chinese Academy of Sciences (CAS), China</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Liang-Jian Deng <email>liangjian.deng&#x00040;uestc.edu.cn</email></corresp>
<fn fn-type="equal" id="fn002"><p>&#x02020;These authors have contributed equally to this work and share first authorship</p></fn></author-notes>
<pub-date pub-type="epub">
<day>23</day>
<month>05</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>17</volume>
<elocation-id>1091097</elocation-id>
<history>
<date date-type="received">
<day>06</day>
<month>11</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>28</day>
<month>04</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2023 Qiu, Wang, Luan, Zhu, Wu, Zhang and Deng.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Qiu, Wang, Luan, Zhu, Wu, Zhang and Deng</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>Spiking neural networks (SNNs) have recently demonstrated outstanding performance in a variety of high-level tasks, such as image classification. However, advancements in the field of low-level assignments, such as image reconstruction, are rare. This may be due to the lack of promising image encoding techniques and corresponding neuromorphic devices designed specifically for SNN-based low-level vision problems. This paper begins by proposing a simple yet effective undistorted weighted-encoding-decoding technique, which primarily consists of an Undistorted Weighted-Encoding (UWE) and an Undistorted Weighted-Decoding (UWD). The former aims to convert a gray image into spike sequences for effective SNN learning, while the latter converts spike sequences back into images. Then, we design a new SNN training strategy, known as Independent-Temporal Backpropagation (ITBP) to avoid complex loss propagation in spatial and temporal dimensions, and experiments show that ITBP is superior to Spatio-Temporal Backpropagation (STBP). Finally, a so-called Virtual Temporal SNN (VTSNN) is formulated by incorporating the above-mentioned approaches into U-net network architecture, fully utilizing the potent multiscale representation capability. Experimental results on several commonly used datasets such as MNIST, F-MNIST, and CIFAR10 demonstrate that the proposed method produces competitive noise-removal performance extremely which is superior to the existing work. Compared to ANN with the same architecture, VTSNN has a greater chance of achieving superiority while consuming &#x0007E;1/274 of the energy. Specifically, using the given encoding-decoding strategy, a simple neuromorphic circuit could be easily constructed to maximize this low-carbon strategy.</p></abstract>
<kwd-group>
<kwd>spiking neural networks</kwd>
<kwd>undistorted weighted-encoding/decoding</kwd>
<kwd>neuromorphic circuits</kwd>
<kwd>Independent-Temporal Backpropagation</kwd>
<kwd>biologically-inspired artificial intelligence</kwd>
</kwd-group>
<counts>
<fig-count count="9"/>
<table-count count="3"/>
<equation-count count="19"/>
<ref-count count="49"/>
<page-count count="14"/>
<word-count count="7995"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Neuromorphic Engineering</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1. Introduction</title>
<p>Spiking Neural Networks (SNNs) are artificial neural networks of the &#x0201C;third generation&#x0201D; that closely resemble natural neural networks (Maass, <xref ref-type="bibr" rid="B24">1997</xref>). Since biological motion processing depends on temporal information and gains superb performances (Saygin, <xref ref-type="bibr" rid="B34">2007</xref>). Researchers attempt to use SNN to convert spatial complication to temporal complication. Since the information is transmitted in the form of spikes. It also has a lower carbon footprint (Roy et al., <xref ref-type="bibr" rid="B33">2019</xref>) and superior robustness (Sironi et al., <xref ref-type="bibr" rid="B35">2018</xref>). SpikeProp (Bohte et al., <xref ref-type="bibr" rid="B1">2002</xref>) initially updated weights using SNN with backpropagation and supervised learning. Few studies are devoted to low-level image tasks with supporting neuromorphic chips, and the majority of SNNs are currently focused on classification (Xing et al., <xref ref-type="bibr" rid="B42">2020</xref>; Fang et al., <xref ref-type="bibr" rid="B9">2021</xref>; Zheng et al., <xref ref-type="bibr" rid="B48">2021</xref>).</p>
<p>In addition, the vast majority of SNNs designed for low-level tasks require specialized hardware such as event-based cameras (Zhang et al., <xref ref-type="bibr" rid="B47">2021</xref>; Zhu et al., <xref ref-type="bibr" rid="B49">2022</xref>). This requirement substantially raises the bar for usage. Pioneers in this area introduced a novel SNN, requiring no specialized hardware (Com&#x0015F;a et al., <xref ref-type="bibr" rid="B4">2021</xref>). Their performance, however, is not ideal, and our work will improve it. Since 2002 (Bohte et al., <xref ref-type="bibr" rid="B1">2002</xref>), the surrogate gradient has been commonly employed for backpropagation in SNN, then Neftci et al. (<xref ref-type="bibr" rid="B27">2019</xref>) introduced Backpropagation Through Time (BPTT) to this area. Besides, Deng et al. (<xref ref-type="bibr" rid="B6">2022</xref>) assert standard direct training by utilizing a formula to distinguish it from ANN-SNN conversion. Also, hybrid ANN-SNN conversion requires additional time steps and must be shadow trained exclusively (Eshraghian et al., <xref ref-type="bibr" rid="B8">2021</xref>). Inspired by related studies (Werbos, <xref ref-type="bibr" rid="B39">1990</xref>), Spatio-Temporal Backpropagation (STBP) is introduced.</p>
<p>Since 2002 (Bohte et al., <xref ref-type="bibr" rid="B1">2002</xref>), the surrogate gradient has been commonly employed for backpropagation in SNN, then Neftci et al. (<xref ref-type="bibr" rid="B27">2019</xref>) introduced Backpropagation Through Time (BPTT) to this area. Besides, Deng et al. (<xref ref-type="bibr" rid="B6">2022</xref>) assert standard direct training by utilizing a formula to distinguish it from ANN-SNN conversion. Also, hybrid ANN-SNN conversion requires additional time steps and must be shadow trained exclusively (Eshraghian et al., <xref ref-type="bibr" rid="B8">2021</xref>). Inspired by related studies (Werbos, <xref ref-type="bibr" rid="B39">1990</xref>), Spatio-Temporal Backpropagation (STBP) is introduced.</p>
<p>Other related approaches include Temporal Spike Sequence Learning via Backpropagation (TSSL-BP) (Zhang and Li, <xref ref-type="bibr" rid="B46">2020</xref>) but only appropriate for the classification task. For the low-level denoising assignment in this work, STBP performs worse (Com&#x0015F;a et al., <xref ref-type="bibr" rid="B4">2021</xref>) than our Independent-Temporal Backpropagation (ITBP).</p>
<p>Rate coding, temporal coding, delta modulation, and direct coding are four common encodingmethods. Among them, delta modulation and rate coding lose pixel location information (Kim et al., <xref ref-type="bibr" rid="B18">2022</xref>). Direct coding can maintain location information, but it cannot be analyzed quantitatively (Jin et al., <xref ref-type="bibr" rid="B15">2022</xref>). Weighted phase spiking coding (a type of temporal coding) employs the binary encoding concept (Kim et al., <xref ref-type="bibr" rid="B17">2018</xref>). But it is also distorted and requires a normalization trick. Com&#x0015F;a et al. (<xref ref-type="bibr" rid="B4">2021</xref>) employed a latency coding method called time-to-first-spike (TTFS), inspired by biological vision (Hubel and Wiesel, <xref ref-type="bibr" rid="B14">1962</xref>), to represent pixel brightness. TTFS cannot guarantee undistorted results, needs more time steps, and performs worse than ours. The classification task does not generate images; consequently, there are few decoding methods for low-level tasks such as reconstruction. Membrane Potential Decoding (MPD) (Kamata et al., <xref ref-type="bibr" rid="B16">2022</xref>) is, to the best of our knowledge, the only appropriate decoding method. However, MPD generates floating results, necessitating the inclusion of a surrogate function. Prior to our work, there was no symmetric and undistorted SNN encoding-decoding method. Rate coding, temporal coding, delta modulation, and direct coding are four common methods of encoding. Among them, delta modulation and rate coding lose pixel location information (Kim et al., <xref ref-type="bibr" rid="B18">2022</xref>). Direct coding can maintain location information, but it cannot be analyzed quantitatively (Jin et al., <xref ref-type="bibr" rid="B15">2022</xref>). Weighted phase spiking coding (a type of temporal coding) employs the binary encoding concept (Kim et al., <xref ref-type="bibr" rid="B17">2018</xref>). But it is also distorted and requires a normalization trick. Com&#x0015F;a et al. (<xref ref-type="bibr" rid="B4">2021</xref>) employed a latency coding method called time-to-first-spike (TTFS), inspired by biological vision (Hubel and Wiesel, <xref ref-type="bibr" rid="B14">1962</xref>), to represent pixel brightness. TTFS cannot guarantee undistorted results, needs more time steps, and performs worse than ours. The classification task does not generate images; consequently, there are few decoding methods for low-level tasks such as reconstruction. Membrane Potential Decoding (MPD) (Kamata et al., <xref ref-type="bibr" rid="B16">2022</xref>) is, to the best of our knowledge, the only appropriate decoding method. However, MPD generates floating results, necessitating the inclusion of a surrogate function. Prior to our work, there was no symmetric and undistorted SNN encoding-decoding method.</p>
<p>This paper here presents a Virtual Temporal Spiking Neural Network (VTSNN) for image reconstruction. VTSNN is based on a modified U-net (Ronneberger et al., <xref ref-type="bibr" rid="B32">2015</xref>) which is a classical architecture. There are many works that apply U-shape architecture to do image reconstruction tasks such as image denoising and achieving promising results (Yue et al., <xref ref-type="bibr" rid="B44">2020</xref>; Cheng et al., <xref ref-type="bibr" rid="B3">2021</xref>; Zamir et al., <xref ref-type="bibr" rid="B45">2021</xref>; Wang et al., <xref ref-type="bibr" rid="B38">2022</xref>). Alternatively, we propose an Undistorted Weighted-Encoding-Decoding method for converting an arbitrary image into binary data (0/1) in order to efficiently encode image data. We also demonstrate that this encoding-decoding procedure can be performed by simple neuromorphic circuits, thereby increasing its effectiveness. The schematic diagram of the circuits consists of ADC and DAC. Additionally, we propose a novel backpropagation technique called Independent-Temporal Backpropagation (ITBP) to avoid the inefficiency of Spatio-Temporal Backpropagation (STBP) (Wu et al., <xref ref-type="bibr" rid="B40">2018</xref>). The main contributions of this paper can be summarized as follows:</p>
<list list-type="bullet">
<list-item><p>We propose, to the best of our knowledge, the first symmetric and undistorted encoding-decoding approach with high efficiency for fully spiking SNN-based image reconstruction tasks that can be implemented using simple neuromorphic circuits. This raises the prospect of low-level tasks being applied to neuromorphic devices.</p></list-item>
<list-item><p>First, we introduce a virtual temporal SNN. This suggests that even without temporal information, SNN can be used to achieve competitive performance. A novel backpropagation for direct training, called ITBP, is also proposed for the designed encoding-decoding technique to improve effectiveness.</p></list-item>
<list-item><p>Experimental results on a variety of datasets are often superior to the current SNN-based approach (Com&#x0015F;a et al., <xref ref-type="bibr" rid="B4">2021</xref>) while superior to same-architecture ANN in some cases. In addition, VTSNN uses roughly 1/274 of the energy of ANN-based methods.</p></list-item>
</list></sec>
<sec id="s2">
<title>2. Method</title>
<p>Based on our analysis, the application of SNN and its neuromorphic devices is almost limited to the classification task. Consequently, we intend to investigate SNN&#x00027;s capabilities for low-level image tasks, such as reconstruction. In the meantime, popular input encoding methods have numerous shortcomings, including redundant time steps and information distortion. Moreover, studies on output decoding are quite rare. Therefore, we propose a novel symmetric and undistorted encoding-decoding method to fill the above gaps. Currently, researchers generally use STBP for the low-level SNN task (Com&#x0015F;a et al., <xref ref-type="bibr" rid="B4">2021</xref>), which allows information to propagate in both temporal and spatial domains. Therefore, we present a new backpropagation that only permits information to propagate via the spatial domain. This backpropagation can improve the effectiveness and gain better performance. In addition, we want to use simple neuromorphic circuits to demonstrate the feasibility of our encoding-decoding method. With undistorted and symmetric encoding/decoding, simpler and more effective backpropagation, and fewer time steps, we aim to achieve competitive performance in low-level image reconstructing.</p>
<sec>
<title>2.1. Preliminary</title>
<sec>
<title>2.1.1. Spiking neurons</title>
<p>Since 1907 (Lapique, <xref ref-type="bibr" rid="B22">1907</xref>), qualitative scientific study has been conducted on the membrane voltage of neurons. Compared to the many-variable and intricate H-H model (Hodgkin and Huxley, <xref ref-type="bibr" rid="B12">1952</xref>), the integrate-and-fire (IF) neuron model and leaky-integrate-and-fire (LIF) neuron model have a significantly reduced computational demand and are commonly recognized as the simplest models among all popular neuron models while retaining biological interpretability (Burkitt, <xref ref-type="bibr" rid="B2">2006</xref>). The spiking neuron model is characterized by the following differential equation (Gerstner et al., <xref ref-type="bibr" rid="B10">2014</xref>):</p>
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mi>&#x003C4;</mml:mi><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi>u</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where <italic>u</italic>(<italic>t</italic>) represents the membrane potential of the neuron at time step <italic>t</italic>, <italic>x</italic>(<italic>t</italic>) represents the input from the presynaptic neurons, and &#x003C4; is a time constant. What&#x00027;s more, spikes will fire if <italic>u</italic>(<italic>t</italic>) exceeds the threshold <italic>V</italic><sub><italic>th</italic></sub>. The spiking neuron models can be described explicitly iteratively to improve computational traceability.</p>
<disp-formula id="E2"><label>(2)</label><mml:math id="M2"><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x003A3;</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:msubsup><mml:mi>w</mml:mi><mml:mi>n</mml:mi><mml:mi>j</mml:mi></mml:msubsup><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:math></disp-formula>
<disp-formula id="E3"><label>(3)</label><mml:math id="M3"><mml:mrow><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>&#x000A0;</mml:mo><mml:mi>g</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo stretchy='false'>)</mml:mo><mml:mo>+</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:math></disp-formula>
<disp-formula id="E4"><label>(4)</label><mml:math id="M4"><mml:mrow><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Here, <italic>t</italic> and <italic>n</italic>, respectively, represent the indices of the time step and <italic>n</italic>-th layer, and <italic>o</italic><sup><italic>j</italic></sup> is its binary output of <italic>j</italic>-th neuron. Furthermore, <italic>w</italic><sup><italic>j</italic></sup> is the synaptic weight from <italic>j</italic>-th neuron to <italic>i</italic>-th neuron, and by altering the way that <italic>w</italic><sup><italic>j</italic></sup> is linked, we can implement convolutional layers, fully connected layers, etc. To be more precise, the spiking neurons become the IF neuron if <italic>g</italic>(<italic>x</italic>) &#x0003D; &#x003C4; and the LIF neuron if <inline-formula><mml:math id="M5"><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>&#x003C4;</mml:mi><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003C4;</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:msup></mml:math></inline-formula>. Since <italic>h</italic>(&#x000B7;) represents the Heaviside function and Equation (<bold>4</bold>) is non-differentiable. The following derivatives of the surrogate function can be used for approximation.</p>
<disp-formula id="E5"><label>(5)</label><mml:math id="M6"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mi>&#x003C0;</mml:mi><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>The working schematic of spiking neurons is shown in <xref ref-type="fig" rid="F1">Figure 1</xref> (Eshraghian et al., <xref ref-type="bibr" rid="B8">2021</xref>).</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Spiking neuron model (Eshraghian et al., <xref ref-type="bibr" rid="B8">2021</xref>). <bold>(A)</bold> Intracellular and extracellular mediums are divided by an isolating bilipid membrane. Gated ion channels allow ions such as <italic>Na</italic><sup>&#x0002B;</sup> to diffuse through the membrane. <bold>(B)</bold> Capacitive membrane and resistive ion channels constitute a resistor-capacitance circuit. A spike is generated when the membrane potential exceeds a threshold <italic>V</italic><sub><italic>th</italic></sub>. <bold>(C)</bold> Via the dendritic tree, input spikes generated by <italic>I</italic> are transmitted to the neuron body. Sufficient excitation will cause output spike emission. <bold>(D)</bold> Simulation depicting the membrane potential <italic>V</italic>(<italic>t</italic>) reaching <italic>V</italic><sub><italic>th</italic></sub>, resulting in output spikes.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-g0001.tif"/>
</fig></sec>
<sec>
<title>2.1.2. Tensor multiplication</title>
<p>In Section 2.4, a transform pair for tensors are used to describe the decoding process. To better understand that process, here we first give some preliminary tensor definitions. A tensor with <italic>N</italic> dimensions is defined as <inline-formula><mml:math id="M7"><mml:mrow><mml:mi mathvariant="script">P</mml:mi></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mo>&#x022EF;</mml:mo><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula>. Elements of <inline-formula><mml:math id="M8"><mml:mrow><mml:mi mathvariant="script">P</mml:mi></mml:mrow></mml:math></inline-formula> are denoted as <italic>p</italic><sub><italic>i</italic><sub>1</sub>, <italic>i</italic><sub>2</sub>, &#x022EF;&#x000A0;, <italic>i</italic><sub><italic>N</italic></sub></sub>, where 1 &#x02264; <italic>i</italic><sub><italic>n</italic></sub> &#x02264; <italic>I</italic><sub><italic>N</italic></sub>. The <italic>n</italic>-mode unfolding vectors of tensor <inline-formula><mml:math id="M9"><mml:mrow><mml:mi mathvariant="script">P</mml:mi></mml:mrow></mml:math></inline-formula> are the <italic>I</italic><sub><italic>n</italic></sub>-dimensional vectors obtained from <inline-formula><mml:math id="M10"><mml:mrow><mml:mi mathvariant="script">P</mml:mi></mml:mrow></mml:math></inline-formula> by changing index <italic>i</italic><sub><italic>n</italic></sub> while keeping the other indices fixed. The <italic>n</italic>-mode unfolding matrix <inline-formula><mml:math id="M11"><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x022EF;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x022EF;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula> is defined by arranging all the <italic>n</italic>-mode vectors as the columns of the matrix (Kolda, <xref ref-type="bibr" rid="B19">2006</xref>). The <italic>n</italic>-mode product of the tensor <inline-formula><mml:math id="M12"><mml:mrow><mml:mi mathvariant="script">P</mml:mi></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mo>&#x022EF;</mml:mo><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula> with the matrix <inline-formula><mml:math id="M13"><mml:mi>B</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula>, denoted by <inline-formula><mml:math id="M14"><mml:mrow><mml:mi mathvariant="script">P</mml:mi></mml:mrow><mml:msub><mml:mrow><mml:mo>&#x000D7;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mi>B</mml:mi></mml:math></inline-formula>, is an <italic>N</italic>-dimensional tensor <inline-formula><mml:math id="M15"><mml:mrow><mml:mi mathvariant="script">Q</mml:mi></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x000D7;</mml:mo><mml:mo>&#x022EF;</mml:mo><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>&#x022EF;</mml:mo><mml:mo>&#x000D7;</mml:mo><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup></mml:math></inline-formula>. Hence, we have the following transform pair that will be used later in the image decoding process.</p>
<disp-formula id="E6"><label>(6)</label><mml:math id="M16"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="script">Q</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="script">P</mml:mi></mml:mrow><mml:msub><mml:mrow><mml:mo>&#x000D7;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mi>B</mml:mi><mml:mo>&#x021D4;</mml:mo><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>B</mml:mi><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
</sec></sec>
<sec>
<title>2.2. Virtual temporal SNN</title>
<p>In this section, we propose and describe the concept of Virtual Temporal SNN (VTSNN):</p>
<disp-quote><p><italic>VTSNN is an abstract SNN definition that uses raw static data to generate spiking sequences (0/1) as network input, and the sequences are virtually ordered in the temporal domain</italic>.</p></disp-quote>
<p>Specifically, VTSNN holds the following fundamental:</p>
<disp-quote><p><italic>The raw static data consists of non-temporal information and will be transformed into ordered sequences (a static encoding process), such as the operation of event-based hardware, rate coding, direct coding, etc</italic>.</p></disp-quote>
<p>To realize the VTSNN, the crucial factors are to carefully design the corresponding encoding and decoding strategies which will be illustrated in detail.</p></sec>
<sec>
<title>2.3. Encoding</title>
<sec>
<title>2.3.1. Rethinking time-to-first-spike encoding (TTFS)</title>
<p>Previous study (Com&#x0015F;a et al., <xref ref-type="bibr" rid="B4">2021</xref>) has applied a TTFS encoder to encode more salient information as earlier spikes and gained good results in reconstruction tasks. This encoding method is inspired by the idea of a rapid information process with spiking data (Thorpe et al., <xref ref-type="bibr" rid="B37">2001</xref>). Here <inline-formula><mml:math id="M17"><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the response of a pixel of an image at time step <italic>t</italic>. Equation (7) shows the calculation of <inline-formula><mml:math id="M18"><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> for TTFS.</p>
<disp-formula id="E7"><label>(7)</label><mml:math id="M19"><mml:mrow><mml:msubsup><mml:mi>r</mml:mi><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mn>1</mml:mn></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mfrac><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mfrac><mml:mo stretchy='false'>)</mml:mo><mml:mi>T</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mn>0</mml:mn></mml:mtd><mml:mtd columnalign='left'><mml:mrow><mml:mtext>otherwise</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>In terms of <inline-formula><mml:math id="M20"><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, after obtaining it, spike sequences are generated using the same methods as <xref ref-type="table" rid="T4">Algorithm 1</xref> in this paper. There are two obvious disadvantages of TTFS.</p>
<list list-type="bullet">
<list-item><p>TTFS is distorted, which means not being capable of restoring information after coding, if solely uses a function to approach it.</p></list-item>
</list>
<table-wrap position="float" id="T4">
<label>Algorithm 1</label>
<caption><p>UWE algorithm for <italic>n</italic>-bit image.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-i0001.tif"/>
</table-wrap>
</sec>
<sec>
<title>2.3.2. Undistorted weighted-encoding (UWE)</title>
<p>In this section, we propose the so-called Undistorted Weighted-Encoding (UWE) to encode the input images into spike sequences, as opposed to distorted encoders such as the time-to-first-spike (TTFS) encoder. Specifically, UWE can encode <italic>n</italic>-bit image [0, 2<sup><italic>n</italic></sup>&#x02212;1] theoretically and a toy example of our coding is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. In what follows, <xref ref-type="table" rid="T4">Algorithm 1</xref> illustrates the process of encoding an image.</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>A toy example of our encoding. Here we demo the UWE with nine pixels as examples. For each pixel, the grayscale image was transferred into the eight-bit spike sequences and each bit was represented by a time step.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-g0002.tif"/>
</fig>
<p>For simplicity, we set <italic>n</italic> &#x0003D; 8<xref ref-type="fn" rid="fn0001"><sup>1</sup></xref> in our work, since the inputs are 8-bit image [0, 255]. Thus, we use 8-bit UWE in this work. Especially, in <xref ref-type="table" rid="T4">Algorithm 1</xref>, <italic>x</italic><sup><italic>i, j</italic></sup> is a pixel in the image <italic>x</italic>. After input encoding process, <italic>x</italic> is transferred into the spiking sequences <inline-formula><mml:math id="M29"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo>&#x02192;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>H</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>W</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>and <inline-formula><mml:math id="M30"><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>H</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>W</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> accumulates information for each time step. Additionally, UWE is capable to be easily integrated with a neuromorphic chip which is introduced in the discussion part. This means <italic>n</italic>-bit image can be transferred into spiking sequences by the neuromorphic SAR ADC circuits (discussed in Section 4.4) without any floating arithmetic.</p></sec></sec>
<sec>
<title>2.4. Decoding</title>
<sec>
<title>2.4.1. Rethinking membrane potential decoding (MPD)</title>
<p>The decoding method that (Kamata et al., <xref ref-type="bibr" rid="B16">2022</xref>) uses for reconstruction tasks is categorized as MPD. Actually, MPD is similar to our Undistorted Weighted-Decoding (UWD) to some extent. This method, like UWD, applies a weight series to encode. However, the weight values of MPD are from 2 to 0.8 and it calls a float artificial neuron (<italic>tanh</italic> function) before returning outputs. This means the <italic>n</italic>-bit decoding matrix <italic>A</italic> in UWD is adjusted to &#x00398; = {&#x003B8;<sup><italic>T</italic>&#x02212;1</sup>, &#x003B8;<sup><italic>T</italic>&#x02212;2</sup>, &#x022EF;&#x000A0;, &#x003B8;<sup>0</sup>} and &#x003B8; &#x0003D; 0.8, then a <italic>tanh</italic> function is used to get the real-valued reconstructed image <inline-formula><mml:math id="M31"><mml:mover accent="false"><mml:mrow><mml:mrow><mml:mi mathvariant="script">Y</mml:mi></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:math></inline-formula>. The mechanism of UWD will be introduced in the next section. Furthermore, there is a noticeable disadvantage: MPD will induct floating arithmetic, which is unfriendly to neuromorphic chips.</p></sec>
<sec>
<title>2.4.2. Undistorted weighted-decoding</title>
<p>To overcome the disadvantages of existing decoders, we also present an Undistorted Weighted-Decoding (UWD) to decode the output spiking sequences &#x000F4;<sub><italic>t</italic></sub> &#x02208; &#x0211D;<sup><italic>H</italic>&#x000D7;<italic>W</italic></sup> (<italic>t</italic> &#x0003D; <italic>T</italic>&#x02212;1, <italic>T</italic>&#x02212;2, &#x022EF;&#x000A0;, 0) into the final image <inline-formula><mml:math id="M32"><mml:mover accent="false"><mml:mrow><mml:mrow><mml:mi mathvariant="script">Y</mml:mi></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:math></inline-formula>. This decoding process is actually a symmetric process of UWE, which means UWD will transform the spiking sequences into a <italic>n</italic>-bit image. According to the preliminary, we use the output spiking sequences &#x000F4;<sub><italic>t</italic></sub> (<italic>t</italic> &#x0003D; <italic>T</italic>&#x02212;1, <italic>T</italic>&#x02212;2, &#x022EF;&#x000A0;, 0) to build a tensor <inline-formula><mml:math id="M33"><mml:mover accent="false"><mml:mrow><mml:mrow><mml:mi mathvariant="script">O</mml:mi></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>H</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>W</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>. Then, we define a <italic>n</italic>-bit decoding matrix <italic>A</italic>&#x02208;&#x0211D;<sup>1 &#x000D7; <italic>T</italic></sup> &#x0003D; {2<sup><italic>T</italic>&#x02212;1</sup>, 2<sup><italic>T</italic>&#x02212;2</sup>, &#x022EF;&#x000A0;, 2<sup>0</sup>}. Similar to UWE, we also set <italic>T</italic> &#x0003D; 8 in the decoding process. In Section 2.1.2, we have already introduced tensor multiplication. The final decoding process can be described by the following formula:</p>
<disp-formula id="E8"><label>(8)</label><mml:math id="M34"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mover accent="false"><mml:mrow><mml:mrow><mml:mi mathvariant="script">Y</mml:mi></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mover accent="false"><mml:mrow><mml:mrow><mml:mi mathvariant="script">O</mml:mi></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:msub><mml:mrow><mml:mo>&#x000D7;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mi>A</mml:mi><mml:mo>&#x021D4;</mml:mo><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where <inline-formula><mml:math id="M35"><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>O</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>H</mml:mi><mml:mi>W</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> is the 3-mode unfolding matrix of <inline-formula><mml:math id="M36"><mml:mover accent="false"><mml:mrow><mml:mrow><mml:mi mathvariant="script">O</mml:mi></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:math></inline-formula> while <inline-formula><mml:math id="M37"><mml:msub><mml:mrow><mml:mover accent="false"><mml:mrow><mml:mi>Y</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>3</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x000D7;</mml:mo><mml:mi>H</mml:mi><mml:mi>W</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> is the 3-mode unfolding matrix of <inline-formula><mml:math id="M38"><mml:mover accent="false"><mml:mrow><mml:mrow><mml:mi mathvariant="script">Y</mml:mi></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:mo>&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x0211D;</mml:mi></mml:mrow><mml:mrow><mml:mi>H</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>W</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. Hence, from the knowledge of tensor and transform pair effectively introduced in the preliminary part (Equation 6), we can get the final output image <inline-formula><mml:math id="M39"><mml:mover accent="false"><mml:mrow><mml:mrow><mml:mi mathvariant="script">Y</mml:mi></mml:mrow></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:math></inline-formula>. As the parallel inverse process of UWE, the decoding method can be realized by the neuromorphic chip we discussed later as well. The neuromorphic DAC circuits (discussed in Section 4.4) can convert spiking sequences to a real-valued reconstructed image without the use of floating-point arithmetic.</p></sec></sec>
<sec>
<title>2.5. Spiking neural network architecture</title>
<p>As an abstract and flexible concept, VTSNN can be applied to various types of network architectures. In this work, our VTSNN is embedded in a shallow U-net architecture, named U-VTSNN. Because light U-net can extract features from images relatively efficiently. Additionally, unlike current SNNs for low-level image tasks whose data flow may contain floating numbers (Zhu et al., <xref ref-type="bibr" rid="B49">2022</xref>), the U-VTSNN is a fully spiking neural network where all modules are built with SNN and all synapse operations are completed by spiking neurons (Kamata et al., <xref ref-type="bibr" rid="B16">2022</xref>). In addition, U-VTSNN is a fully convolutional network while the biases of all convolutional layers are set to 0.</p>
<p>At the beginning of our image noise removal task, the image is transformed into spike sequences, which means a 1 &#x000D7; <italic>H</italic>&#x000D7;<italic>W</italic> tensor is fed into VTSNN and transformed as the size of <italic>T</italic>&#x000D7;<italic>H</italic>&#x000D7;<italic>W</italic> via UWE, followed by U-VTSNN. The details of the internal blocks are clearly shown in <xref ref-type="fig" rid="F3">Figure 3</xref>. After all intermediate operations, the last block of U-VTSNN will output spiking sequences. Thus, for decoding, UWD will use the output spike sequences to generate the noise-removed image. Based on our experiments, U-VTSNN is suitable for diverse popular datasets, and its computational efficiency is vastly superior to that of the same ANN architecture (over 274 times).</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Architecture of the proposed fully spiking neural network with eight-bit as an example. UWE generates sequences from an input image. The sequences are fed into U-VTSNN. UWD generates images from operated sequences and finishes a complete noise-removal process. Additionally, the type and size of different layers are clearly shown above.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-g0003.tif"/>
</fig></sec>
<sec>
<title>2.6. Loss function and backpropagation</title>
<sec>
<title>2.6.1. Rethinking spatio-temporal backpropagation (STBP)</title>
<p>A previous study has applied for training high-performance SNN (Wu et al., <xref ref-type="bibr" rid="B40">2018</xref>; Jin et al., <xref ref-type="bibr" rid="B15">2022</xref>). Noticeably, while examining the stability of a classification task, some researchers applied STBP for image generation (Com&#x0015F;a et al., <xref ref-type="bibr" rid="B4">2021</xref>). The standard backpropagation only considers the spatial information, which can easily be underfitted and STBP overcomes that shortage. In order to compare STBP with our Independent-Temporal Backpropagation (ITBP) in the noise-removal task, the loss function corresponding to STBP is shown below.</p>
<disp-formula id="E9"><label>(9)</label><mml:math id="M83"><mml:mrow><mml:msub><mml:mi>&#x02112;</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>N</mml:mi></mml:mfrac><mml:mo>&#x02016;</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mover accent='true'><mml:mi>y</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi>F</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:math></disp-formula>
<p>According to this loss function expression, the process of updating parameters is presented. To fairly compare, we show how <inline-formula><mml:math id="M44"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> updates <inline-formula><mml:math id="M45"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> in spatio-temporal domain. Other cases of updating parameters of STBP can be seen in Wu et al. (<xref ref-type="bibr" rid="B40">2018</xref>)&#x00027;s work.</p>
<disp-formula id="E10"><label>(10)</label><mml:math id="M46"><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msub><mml:mi>&#x02112;</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mi>n</mml:mi><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>T</mml:mi></mml:munderover><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msub><mml:mi>&#x02112;</mml:mi><mml:mrow><mml:mi mathvariant='script'>S</mml:mi><mml:mi mathvariant='script'>T</mml:mi><mml:mi>&#x0212C;</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mstyle><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:math></disp-formula>
<p>As Equation (12) shown, while STBP updates <inline-formula><mml:math id="M47"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula><mml:math id="M48"><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula><mml:math id="M49"><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, and <inline-formula><mml:math id="M50"><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> are all connected with <inline-formula><mml:math id="M51"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. In <xref ref-type="fig" rid="F4">Figure 4</xref>, unlike STBP, error backpropagation of ITBP will not go through the decoder. Hence, ITBP is more efficient than STBP. Because error backpropagation of ITBP is in latent space but representational space for STBP. In other words, there is a risk of overfitting. Since there is a clear difference between ITBP and standard backpropagation: during the training process, ITBP only encodes the labels and does not decode network outputs; while ITBP does not encode the labels and does decode network outputs during the testing process. STBP has overcome standard backpropagation in noise removal task (Com&#x0015F;a et al., <xref ref-type="bibr" rid="B4">2021</xref>). Later in the experiment, ITBP performed even better than STBP in a similar task.</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>The procedure of STBP and ITBP. For STBP, the operated sequence {&#x000F4;<sub>7</sub>, &#x000F4;<sub>6</sub>, &#x022EF;&#x000A0;, &#x000F4;<sub>0</sub>} (we denote the sequence as <inline-formula><mml:math id="M40"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>o</mml:mtext></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>) is transformed into &#x00177; via UWD. Then MSE between <italic>y</italic> and &#x00177; is calculated. For ITBP, <italic>y</italic> is transformed into input sequence {<italic>o</italic><sub>7</sub>, <italic>o</italic><sub>6</sub>, &#x022EF;&#x000A0;, <italic>o</italic><sub>0</sub>} (we denote the sequence as <bold>o</bold><sub><italic>Seq</italic></sub>) by UWE. Then, calculate weighted MSE between <inline-formula><mml:math id="M41"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>o</mml:mtext></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <bold>o</bold><sub><italic>Seq</italic></sub> by Equation (11), where <inline-formula><mml:math id="M42"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>o</mml:mtext></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>e</mml:mi><mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is the operated sequence ready to be decoded.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-g0004.tif"/>
</fig></sec>
<sec>
<title>2.6.2. Independent-Temporal Backpropagation (ITBP)</title>
<p>To show the Independent-Temporal Backpropagation (ITBP) training framework, we create the loss function <inline-formula><mml:math id="M52"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> where the weighted mean square error is used as the error index. The expression of it is described below:</p>
<disp-formula id="E11"><label>(11)</label><mml:math id="M53"><mml:mrow><mml:msub><mml:mi>&#x02112;</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>N</mml:mi></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:mrow><mml:msup><mml:mn>2</mml:mn><mml:mi>t</mml:mi></mml:msup></mml:mrow></mml:mstyle><mml:mo>&#x02016;</mml:mo><mml:msub><mml:mi>o</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x02212;</mml:mo><mml:msub><mml:mover accent='true'><mml:mi>o</mml:mi><mml:mo>&#x0005E;</mml:mo></mml:mover><mml:mi>t</mml:mi></mml:msub><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi>F</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:math></disp-formula>
<p>Where <italic>N</italic> is the number of training examples and ||&#x000B7;||<sub><italic>F</italic></sub> represents the Frobenius norm, <italic>T</italic> is the total time step and we set <italic>T</italic> &#x0003D; 8 for our UWE and UWD. From the equation above, we regard <inline-formula><mml:math id="M54"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> as a function of <italic>w</italic> (weight). To obtain the derivative of <inline-formula><mml:math id="M55"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> to <italic>w</italic> is necessary for the gradient descent. To obtain the final <inline-formula><mml:math id="M56"><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:math></inline-formula>, the critical step is to obtain the <inline-formula><mml:math id="M57"><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:math></inline-formula> and <inline-formula><mml:math id="M58"><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:math></inline-formula> at time <italic>t</italic>. Now, we show the insight of getting the complete gradient descent. First, from Equations (2) to (<bold>4</bold>), the output of spiking neurons <inline-formula><mml:math id="M59"><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> can be represented below:</p>
<disp-formula id="E12"><label>(12)</label><mml:math id="M60"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup><mml:mi>g</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003A3;</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Where <inline-formula><mml:math id="M61"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the synaptic weight which links the output of <italic>n</italic>&#x0002B;1 layer spiking neuron <inline-formula><mml:math id="M62"><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> with the one of <italic>n</italic> layer <inline-formula><mml:math id="M63"><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. According to Equations (2) to (<bold>4</bold>), we can calculate <inline-formula><mml:math id="M64"><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:math></inline-formula> and <inline-formula><mml:math id="M65"><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:math></inline-formula> as follows.</p>
<disp-formula id="E13"><label>(13)</label><mml:math id="M66"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E14"><label>(14)</label><mml:math id="M67"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="E15"><label>(15)</label><mml:math id="M68"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:mfrac><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mi>j</mml:mi></mml:munder><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mstyle><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>By Equation (5), the following derivatives of surrogate function Equation (16) can be used for approximation.</p>
<disp-formula id="E16"><label>(16)</label><mml:math id="M69"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mi>&#x003C0;</mml:mi><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Here, <inline-formula><mml:math id="M70"><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:math></inline-formula> is the intermediate variable on the step of updating parameters <inline-formula><mml:math id="M71"><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, from Equations (14) to (16), we can solve Equation (13) as follows.</p>
<disp-formula id="E17"><label>(17)</label><mml:math id="M72"><mml:mtable class="eqnarray" columnalign="left"><mml:mtr><mml:mtd><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">[</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mi>&#x003C0;</mml:mi><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow><mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mfrac><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:msubsup><mml:mrow><mml:mi>o</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msubsup><mml:mrow><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Hence, the way we update parameters will be shown below.</p>
<disp-formula id="E18"><label>(18)</label><mml:math id="M82"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msub><mml:mi>&#x02112;</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msub><mml:mi>&#x02112;</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:mfrac><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:mfrac><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>w</mml:mi><mml:mi>n</mml:mi><mml:mi>j</mml:mi></mml:msubsup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;</mml:mtext><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msub><mml:mi>&#x02112;</mml:mi><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x02202;</mml:mo><mml:msubsup><mml:mi>u</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:mfrac><mml:msubsup><mml:mi>o</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>j</mml:mi></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>To state how we update weights within one epoch clearly, <xref ref-type="table" rid="T5">Algorithm 2</xref> is shown. For Independent-Temporal Backpropagation (ITBP) in this paper, it is a non-cross-path backpropagation. That means it only propagates spatially not temporally. In other words, it is a single-modal spatial representation which means single-modality simplifies and enhances ITBP&#x00027;s efficiency. Last but not least, ITBP only propagates spike sequences of coded labels.</p>
<table-wrap position="float" id="T5">
<label>Algorithm 2</label>
<caption><p>ITBP for one epoch.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-i0002.tif"/>
</table-wrap></sec></sec></sec>
<sec sec-type="results" id="s3">
<title>3. Results</title>
<p>To demonstrate the superiority of our work and compare it to existing studies fairly, we choose widely used standard datasets for our experiments. Hence, we implemented VTSNN in PyTorch (Paszke et al., <xref ref-type="bibr" rid="B29">2019</xref>), and evaluated it using MNIST (LeCun et al., <xref ref-type="bibr" rid="B23">1998</xref>), F-MNIST (Xiao et al., <xref ref-type="bibr" rid="B41">2017</xref>), and CIFAR10 (Krizhevsky et al., <xref ref-type="bibr" rid="B21">2009</xref>). For MNIST and F-MNIST, we used 60,000 images for training and 10,000 images for evaluation which is the same as Com&#x0015F;a et al. (<xref ref-type="bibr" rid="B4">2021</xref>) in the noise-removal task. The input images were resized to 28 &#x000D7; 28. To expand the applicability of VTSNN, we also conducted experiments on CIFAR10. For CIFAR10, we used 50,000 images for training and 10,000 images for evaluation. The input images were resized to 32 &#x000D7; 32. Moreover, all noisy images used for training and testing contain Gaussian noise at each pixel, with &#x003B7; representing the noise variation in the image scale from 0 to 1. Moreover, our training details are as follows. On NVIDIA GeForce GTX 2080, the models are implemented using PyTorch. In addition, each layer&#x00027;s bias is set to False. The optimizer is Adam Optimizer, which updates the weight parameters of the network with the loss value for better gradient descent, and its initial learning rate is set to 0.001. Moreover, our batch size is 50 for both training and testing.</p>
<sec>
<title>3.1. Comparison with existing works</title>
<p>The performance of two VTSNN variants is compared with some models in <xref ref-type="table" rid="T1">Table 1</xref>. And a digit from MNIST dataset is reconstructed by our model is show in <xref ref-type="fig" rid="F5">Figure 5</xref>. We train and test two variants based on the PyTorch framework, resulting in enhanced performance across all tasks. And, we compare the performance between ours and the methods proposed by Com&#x0015F;a et al. (<xref ref-type="bibr" rid="B4">2021</xref>) which is the only SNN-based image reconstruction attempt yet. On neuromorphically-encoded MNIST, the boost values of PSNR on four various noise levels are {4.26, 5.75, 7.03, 7.06} with only eight time steps. On neuromorphically-encoded F-MNIST, the boost value of PSNR on four various noise levels are {3.66, 4.09, 3.692, 3.93} with also eight time steps. Moreover, the value of PSNR on four various noise levels are {18.27, 14.08, 14.76, 13.16} on neuromorphically-encoded CIFAR10 with also eight time steps, which is quite competitive. Furthermore, our method can achieve higher performance in image reconstruction tasks by neuromorphic encoding/decoding circuits. Even compared with ANN-based work, on MNIST, at &#x003B7;=0.2, our VTSNN-IF performs superior to it. And the results are shown in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>Comparison of PSNR on existing works for various noise levels and different datasets (Bold: the best).</p></caption> 
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919497">
<th valign="top" align="left"><bold>Method</bold></th>
<th valign="top" align="left" colspan="4"><bold>MNIST</bold></th>
<th valign="top" align="left" colspan="4"><bold>F-MNIST</bold></th>
<th valign="top" align="left" colspan="4"><bold>CIFAR10</bold></th>
</tr>
</thead>
<tbody>
<tr style="background-color:#919497">
<td valign="top" align="left"></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.2</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.4</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.6</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.8</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.2</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.4</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.6</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.8</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.2</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.4</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.6</bold></td>
<td valign="top" align="left">&#x003B7;<bold>= 0.8</bold></td>
</tr> <tr>
<td valign="top" align="left">SATC-16</td>
<td valign="top" align="left">17.06</td>
<td valign="top" align="left">16.60</td>
<td valign="top" align="left">15.24</td>
<td valign="top" align="left">14.49</td>
<td valign="top" align="left">17.54</td>
<td valign="top" align="left">16.76</td>
<td valign="top" align="left">16.04</td>
<td valign="top" align="left">15.61</td>
<td valign="top" align="left">&#x02013;</td>
<td valign="top" align="left">&#x02013;</td>
<td valign="top" align="left">&#x02013;</td>
<td valign="top" align="left">&#x02013;</td>
</tr> <tr>
<td valign="top" align="left">SATC-32</td>
<td valign="top" align="left">19.11</td>
<td valign="top" align="left">17.40</td>
<td valign="top" align="left">16.06</td>
<td valign="top" align="left">15.10</td>
<td valign="top" align="left">18.01</td>
<td valign="top" align="left">17.17</td>
<td valign="top" align="left">16.72</td>
<td valign="top" align="left">15.90</td>
<td valign="top" align="left">&#x02013;</td>
<td valign="top" align="left">&#x02013;</td>
<td valign="top" align="left">&#x02013;</td>
<td valign="top" align="left">&#x02013;</td>
</tr>
<tr>
<td valign="top" align="left"><bold>VTSNN-LIF</bold></td>
<td valign="top" align="left">22.99</td>
<td valign="top" align="left">21.74</td>
<td valign="top" align="left">19.04</td>
<td valign="top" align="left">19.05</td>
<td valign="top" align="left">20.85</td>
<td valign="top" align="left">20.82</td>
<td valign="top" align="left">19.86</td>
<td valign="top" align="left">18.71</td>
<td valign="top" align="left">15.85</td>
<td valign="top" align="left">10.53</td>
<td valign="top" align="left">10.96</td>
<td valign="top" align="left">9.47</td>
</tr> <tr>
<td valign="top" align="left"><bold>VTSNN-IF</bold></td>
<td valign="top" align="left"><bold>23.57</bold></td>
<td valign="top" align="left"><bold>23.15</bold></td>
<td valign="top" align="left"><bold>23.09</bold></td>
<td valign="top" align="left"><bold>22.56</bold></td>
<td valign="top" align="left"><bold>21.67</bold></td>
<td valign="top" align="left"><bold>21.26</bold></td>
<td valign="top" align="left"><bold>20.64</bold></td>
<td valign="top" align="left"><bold>19.83</bold></td>
<td valign="top" align="left"><bold>18.27</bold></td>
<td valign="top" align="left"><bold>14.08</bold></td>
<td valign="top" align="left"><bold>14.76</bold></td>
<td valign="top" align="left"><bold>13.16</bold></td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>A digit from MNIST set is reconstructed by the proposed VTSNN incorporated into the commonly used U-net architecture and IF neuron, at different noise levels.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-g0005.tif"/>
</fig>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>Comparison of PSNR on MNIST at various noise level &#x003B7; = 0.2 for different encoding and decoding (Bold: the best) (Wu et al., <xref ref-type="bibr" rid="B40">2018</xref>; Com&#x0015F;a et al., <xref ref-type="bibr" rid="B4">2021</xref>; Kamata et al., <xref ref-type="bibr" rid="B16">2022</xref>).</p></caption> 
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919497">
<th valign="top" align="left" colspan="2"><bold>Encoding</bold></th>
<th valign="top" align="left" colspan="2"><bold>Decoding</bold></th>
<th valign="top" align="left" colspan="2"><bold>Backpropagation</bold></th>
<th valign="top" align="left"><bold>PSNR</bold></th>
</tr>
</thead>
<tbody>
<tr style="background-color:#919497">
<td valign="top" align="left"><bold>UWE</bold></td>
<td valign="top" align="left"><bold>TTFS</bold></td>
<td valign="top" align="left"><bold>UWD</bold></td>
<td valign="top" align="left"><bold>MPD</bold></td>
<td valign="top" align="left"><bold>STBP</bold></td>
<td valign="top" align="left"><bold>ITBP</bold></td>
<td valign="top" align="left"></td>
</tr> <tr>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">9.60</td>
</tr> <tr>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">8.00</td>
</tr> <tr>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">8.54</td>
</tr> <tr>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">9.76</td>
</tr> <tr>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left"><bold>23.57</bold></td>
</tr> <tr>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">11.91</td>
</tr> <tr>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">11.81</td>
</tr> <tr>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">&#x02713;</td>
<td valign="top" align="left">20.70</td>
</tr> <tr>
<td valign="top" align="left" colspan="6">Same architecture ANN</td>
<td valign="top" align="left">23.05</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec>
<title>3.2. Ablation study</title>
<sec>
<title>3.2.1. Comparison between LIF neuron and IF neuron</title>
<p>Currently, research uses leaky-integrate-and-fire (LIF) neurons for SNN, believing its more complex differential equation (Gerstner et al., <xref ref-type="bibr" rid="B10">2014</xref>) can boost performance. Our experiment disproves this bias. To conduct our experiment, we use commonly used datasets (MNIST, FMNIST, and CIFAR10). In our method, the parameters of the IF model are set as <italic>V</italic><sub><italic>reset</italic></sub> = None, <italic>V</italic><sub><italic>th</italic></sub> = 0.077 in 1 &#x000D7; 1 convolution layer (an experience parameter corresponds to best performance), and <italic>V</italic><sub><italic>th</italic></sub> = 1.0 in all the other convolution layers. In terms of LIF neurons, &#x003C4; = 1.1, and all the other parameters are set identically to IF neurons. In the majority of instances, as shown in <xref ref-type="table" rid="T1">Table 1</xref>, IF neurons usually do better than LIF neurons at this task, regardless of the noise level or dataset.</p></sec>
<sec>
<title>3.2.2. Comparison among different coding methods</title>
<p>TTFS and MPD are discussed relatively in depth in the rethinking part (Sections 2.3.1 and 2.4.1) and introduction. Since they have been used to generate images (Kamata et al., <xref ref-type="bibr" rid="B16">2022</xref>). They are the two most comparable methods for our UWE and UWD. <xref ref-type="table" rid="T2">Table 2</xref> displays all results. UWE is always superior to TTFS when conducting a univariate experiment, and UWD is always superior to MPD too. In addition, the UWE-UWD combination performs exceptionally well for STBP.</p></sec>
<sec>
<title>3.2.3. Comparison between STBP and ITBP</title>
<p>Experiments demonstrate that ITBP is superior to STBP in terms of the PSNR evaluation metrics. <inline-formula><mml:math id="M78"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>S</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula><mml:math id="M79"><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">L</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mi>T</mml:mi><mml:mi>B</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> are applied respectively with the same U-VTSNN architecture. <xref ref-type="table" rid="T2">Table 2</xref> displays the outcomes of these two backpropagation techniques on the MNIST dataset with &#x003B7; &#x0003D; 0.2. All these results well proved the superiority of our ITBP.</p></sec></sec></sec>
<sec sec-type="discussion" id="s4">
<title>4. Discussion</title>
<sec>
<title>4.1. Classification for UWE</title>
<p>In addition to image reconstruction, VTSNN is capable of performing various tasks (Xu et al., <xref ref-type="bibr" rid="B43">2021</xref>; Ran et al., <xref ref-type="bibr" rid="B30">2022</xref>), such as medical detection (Ghosh-Dastidar and Adeli, <xref ref-type="bibr" rid="B11">2009</xref>) and speech recognition (Mansouri-Benssassi and Ye, <xref ref-type="bibr" rid="B25">2019</xref>). As mentioned in the Introduction, classification is a common assignment for SNN. To demonstrate the classification, we employ a VTSNN-based LeNet (VTLeNet) (LeCun et al., <xref ref-type="bibr" rid="B23">1998</xref>) in which all activation functions are replaced by spiking neurons and UWE is used for encoding. Then, we employ VTLeNet to classify the MNIST dataset. Furthermore, varying levels of noise (&#x003B7; &#x0003D; 0.2, 0.4, 0.6, 0.8) are applied to the images in MNIST. Here, we are not attempting to attain optimal outcomes, but rather to test the stability of our UWE classification work. The results are presented as a line chart in <xref ref-type="fig" rid="F6">Figure 6</xref>.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Results of classification task in MNIST dataset at different noise factors. For any <italic>T</italic>, while the noise level goes up the accuracy will decrease. However, even the worst case (<italic>T</italic> = 2, &#x003B7; &#x0003D; 0.8) will achieve a quite good result (85.2%). And the best case (<italic>T</italic> &#x0003D; 8, &#x003B7; &#x0003D; 0.0) can perform quite competitively (99.2%).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-g0006.tif"/>
</fig></sec>
<sec>
<title>4.2. Energy consumption</title>
<p>In this section, we use the same network structure (Rathi and Roy, <xref ref-type="bibr" rid="B31">2021</xref>; Zhu et al., <xref ref-type="bibr" rid="B49">2022</xref>). Ideally, in the absence of spikes, no computations and active energy are used (Davies et al., <xref ref-type="bibr" rid="B5">2018</xref>; Zhu et al., <xref ref-type="bibr" rid="B49">2022</xref>). For the sake of fairness, we exclude convolutional computations for both and hold the above ideal conjecture. We traverse MNIST and count ANN activation function operations and SNN spikes. In these experiments, all spiking neurons are replaced with an ANN activation function (e.g., ReLU), and its total operations are counted.<xref ref-type="fn" rid="fn0002"><sup>2</sup></xref> ANN then needs 18.39 M Flops<xref ref-type="fn" rid="fn0003"><sup>3</sup></xref>, while VTSNN needs 2.51 M FLOPS. In other words, &#x00023;<italic>OP</italic><sub><italic>ANN</italic></sub>=18.39 M, &#x00023;<italic>OP</italic><sub><italic>SNN</italic></sub>=2.51 M.</p>
<p>Following the practice (Zhu et al., <xref ref-type="bibr" rid="B49">2022</xref>), in 45 nm CMOS, each ANN operation consumes 4.6 and 0.9 pJ for each spike (Horowitz, <xref ref-type="bibr" rid="B13">2014</xref>). Thus, 32-bit ANN costs 18.39 M &#x000D7; 4.6 pJ = 8.46 &#x000D7; 10<sup>&#x02212;5</sup> J, or 273.77 times as much as 32-bit VTSNN. Moreover, details of how energy consumption is calculated can be found in <xref ref-type="table" rid="T3">Table 3</xref>. This method of calculation is generally accepted in the SNN field and we learned from Zhu et al. (<xref ref-type="bibr" rid="B49">2022</xref>). The ideal results are extremely encouraging and demonstrate SNN&#x00027;s immense potential. To realize these awe-inspiring effects, however, future research into hardware is required. The neuromorphic circuits in this paper may be a good harbinger.</p>
<table-wrap position="float" id="T3">
<label>Table 3</label>
<caption><p>Comparison of energy based on the counting of operations between ANN and SNN.</p></caption> 
<table frame="box" rules="all">
<thead>
<tr style="background-color:#919497">
<th valign="top" align="left"><bold>ANN</bold></th>
<th valign="top" align="left"><bold>SNN</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">Total params</td>
<td valign="top" align="left">0.12 M</td>
<td valign="top" align="left">0.12 M</td>
</tr> <tr>
<td valign="top" align="left">(a) Spike rate</td>
<td valign="top" align="left">0</td>
<td valign="top" align="left">0.1366</td>
</tr> <tr>
<td valign="top" align="left"><sup><italic>a</italic></sup>(b) &#x00023;<italic><italic>OP</italic><sub><italic>ANN</italic></sub></italic></td>
<td valign="top" align="left">18.39 M</td>
<td valign="top" align="left">0</td>
</tr> <tr>
<td valign="top" align="left"><sup><italic>b</italic></sup>(c) &#x00023;<italic><italic>OP</italic><sub><italic>SNN</italic></sub></italic></td>
<td valign="top" align="left">0</td>
<td valign="top" align="left">2.51 M</td>
</tr> <tr>
<td valign="top" align="left"><sup><italic>c</italic></sup>Energy(10<sup>&#x02212;7</sup>J)</td>
<td valign="top" align="left">845.94</td>
<td valign="top" align="left">3.09</td>
</tr> <tr>
<td valign="top" align="left"><sup><italic>d</italic></sup>ANN/SNN Energy</td>
<td valign="top" align="left" colspan="2">273.77</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<p><sup>a</sup>&#x00023;<italic>OP</italic><sub><italic>ANN</italic></sub> is the total number of ANN operations if all spiking neurons are replaced with an ANN activation function (e.g., ReLU).</p>
<p><sup>b</sup>&#x00023;<italic>OP</italic><sub><italic>SNN</italic></sub> = <italic>SpikeRate</italic>&#x000D7; &#x00023;<italic>OP</italic><sub><italic>ANN</italic></sub>.</p>
<p><sup>c</sup>Energy = &#x00023;<italic>OP</italic><sub><italic>ANN</italic></sub>&#x000D7; 4.6<italic>pJ</italic> &#x0002B; &#x00023;<italic>OP</italic><sub><italic>SNN</italic></sub>&#x000D7; 0.9<italic>pJ</italic>&#x000D7; <italic>SpikeRate</italic>.</p>
<p><sup>d</sup>Each operation in ANN (SNN) consumes 4.6 pJ (0.9 pJ). ANN/SNN Energy can be calculated by <inline-formula><mml:math id="M81"><mml:mfrac><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x000D7;</mml:mo><mml:mn>4</mml:mn><mml:mo>.</mml:mo><mml:mn>6</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x000D7;</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x000D7;</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>9</mml:mn></mml:mrow></mml:mfrac></mml:math></inline-formula>.</p>
</table-wrap-foot>
</table-wrap></sec>
<sec>
<title>4.3. Regularity of threshold voltage</title>
<p>Experiments show <italic>V</italic><sub><italic>th</italic></sub> impacts outputs. To determine the regularity of that relation, we find the optimal <italic>V</italic><sub><italic>th</italic></sub> by attempts. Studies show a doubtful conjecture that increasing <italic>V</italic><sub><italic>th</italic></sub> increases spiking rate frequency, which improves performance (Niu et al., <xref ref-type="bibr" rid="B28">2022</xref>). At each epoch, we count output spiking rate frequencies corresponding to different <italic>V</italic><sub><italic>th</italic></sub>. Thus, we contradict that simple correlation. <xref ref-type="fig" rid="F7">Figure 7</xref> depicts the ebb and flow of performance regarding various <italic>V</italic><sub><italic>th</italic></sub>. Recent studies about astrocytes harbor find during daytime and nighttime the threshold for the cell is different (Koronowski and Sassone-Corsi, <xref ref-type="bibr" rid="B20">2021</xref>). This biological property inspired us. Other scholars in the SNN field also state that the dynamic membrane potential threshold, as one of the essential properties of a biological neuron is a spontaneous regulation mechanism that maintains neuronal homeostasis, i.e., the constant overall spiking firing rate of a neuron (Ding et al., <xref ref-type="bibr" rid="B7">2022</xref>). Our discussion is motivated by the above biological research, and we hope to pique the interest of more academics to investigate the regularity of threshold voltage&#x00027;s insight.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Performance of neurons in the final layer under various <italic>V</italic><sub><italic>th</italic></sub> conditions, with MSE as the evaluation metric. The circled and enlarged region illustrates the complexity of performance surrounding a specific <italic>V</italic><sub><italic>th</italic></sub> value (<italic>V</italic><sub><italic>th</italic></sub> &#x0003D; 0.1 here).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-g0007.tif"/>
</fig></sec>
<sec>
<title>4.4. Neuromorphic circuits</title>
<p>To enhance the efficacy of UWE and UWD, a simple neuromorphic circuit can be introduced. The UWE and UWD systems rely fundamentally on a binary encoding-decoding strategy. In particular, binary data is hardware-friendly, inspiring us to investigate ADC and DAC. The non-floating nature of the circuits embodies the spirit of neuromorphic chips and the successful avoidance of calculation through direct electronic responses.</p>
<p>As shown in <xref ref-type="fig" rid="F8">Figure 8</xref>, UWD can be enabled by a simple DAC. Here, {<italic>B</italic><sub>0</sub>, <italic>B</italic><sub>1</sub>, &#x022EF;&#x000A0;, <italic>B</italic><sub><italic>n</italic>&#x02212;1</sub>} refers to spiking sequences of a pixel from networks. Whether a spike occurs depends on whether switches are on or off. The output of this neuromorphic chip is the real value of that pixel. Furthermore, the resistance network corresponds to <italic>n</italic>-bit decoding matrix <italic>A</italic> in Section 2.4.</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Neuromorphic decoding circuits. We use this simple neuromorphic DAC to realize our UWD. If a switch is on, the corresponding branch outputs 1. Otherwise, the branch outputs 0. This mechanism is designed to activate spikes. And with the resistors in series, the real pixel value is transferred.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-g0008.tif"/>
</fig>
<p>Similarly, <xref ref-type="fig" rid="F9">Figure 9</xref> shows how to realize UWE without sample-hold circuits. A comparator is linked to SAR logic and the DAC model here is the circuits in <xref ref-type="fig" rid="F8">Figure 8</xref>. Finally, MSB is the abbreviation of Most Significant Bit (<italic>n</italic>-bit) while LSB refers to Least Significant Bit (1-bit). This means MSB to LSB constitutes a binary sequence.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Neuromorphic encoding circuits. we use this simple neuromorphic SAR ADC to realize our UWE. Each real pixel value will be transferred into pixel spiking sequences.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fnins-17-1091097-g0009.tif"/>
</fig></sec>
<sec>
<title>4.5. Limitation</title>
<p>The majority of direct training SNNs are currently trained with rather basic data. In addition, all of the current SNN-based image reconstruction research use very simple images (Com&#x0015F;a et al., <xref ref-type="bibr" rid="B4">2021</xref>; Kamata et al., <xref ref-type="bibr" rid="B16">2022</xref>). Similarly, our work here is unable to circumvent this difficulty. The reconstructed high-revolution images created by VTSNN are not optimal and seem blurry to the human eyes. In conclusion, SNN is still far behind ANN in image reconstruction tasks involving high-resolution images. However, SNN&#x00027;s potential cannot be ignored.</p></sec></sec>
<sec sec-type="conclusions" id="s5">
<title>5. Conclusions</title>
<p>We have developed a novel spiking neuron network called VTSNN, where we adopt SNN with a virtual temporal dimension and a new backpropagation method. Besides, we raise Undistorted Weighted-Encoding to transfer the image into spiking information, which can be easily realized by a neuromorphic circuit to improve efficiency, as well as the symmetric process of Undistorted Weighted-Decoding. The experiments proved that VTSNN sometimes performs similarly to or better than ANN, for the same architecture and VTSNN is superior to all other comparable SNN models. Future research should focus on the development of hardware and the applicability of high-resolution images. There remain some constraints. The relationship between image low-level task performance and <italic>V</italic><sub><italic>th</italic></sub> is unclear. The proposed encoding-decoding circuits are not yet constructed physically.</p></sec>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The study&#x00027;s original contributions are given in the publication. And our code is available at this <ext-link ext-link-type="uri" xlink:href="https://github.com/bollossom/VTSNN%20">https://github.com/bollossom/VTSNN%20</ext-link>. For more information, please contact the relevant authors.</p></sec>
<sec sec-type="author-contributions" id="s7">
<title>Author contributions</title>
<p>X-RQ, Z-RW, and ZL designed and did the experiments, wrote the code, wrote the first draft of the manuscript, and contributed equally. R-JZ provided consultation on SNN knowledge, optimized the code, and helped with literature research. XW polished the draft manuscript and reviewed the code. M-LZ contributed to the concept and design. L-JD directed the projects and provided overall guidance. All authors contributed to the article and approved the submitted version.</p></sec>
</body>
<back>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>This research was supported by NSFC (12271083 and 12171072), Natural Science Foundation of Sichuan Province (2022NSFSC0501).</p>
</sec>
<ack><p>Prof. Hong-Zhi Zhao, National Key Laboratory of Science and Technology on Communications, UESTC, provided valuable feedback about binary encoding, for which we are grateful. Mr. Jia-Le Y&#x000FC;, College of Architecture and Urban Planning, Tongji University, assisted with the creation of figures. Mr. Bin Kang from the National Exemplary School of Microelectronics, UESTC, gave feedback about circuits.</p>
</ack>
<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>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x00027;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<fn-group>
<fn id="fn0001"><p><sup>1</sup>In our work, SNN simulation length <italic>T</italic> &#x0003D; <italic>n</italic>, which means each bit is represented by a time step.</p></fn>
<fn id="fn0002"><p><sup>2</sup>The total number of ANN operations are counted by the torchstat package (Swall0w, <xref ref-type="bibr" rid="B36">2018</xref>).</p></fn>
<fn id="fn0003"><p><sup>3</sup>In torchstat, the count operations are calculated by the formula (Molchanov et al., <xref ref-type="bibr" rid="B26">2016</xref>) &#x00023;<italic>OP</italic><sub><italic>ANN</italic></sub>= <inline-formula><mml:math id="M80"><mml:mn>2</mml:mn><mml:mi>H</mml:mi><mml:mi>W</mml:mi><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mi>K</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> where <italic>H</italic> and <italic>W</italic> is the output feature map size; <italic>C</italic><sub><italic>in</italic></sub> is input channel; <italic>K</italic> is kernel size; <italic>C</italic><sub><italic>out</italic></sub> is the output channel.</p></fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bohte</surname> <given-names>S. M.</given-names></name> <name><surname>Kok</surname> <given-names>J. N.</given-names></name> <name><surname>La Poutre</surname> <given-names>H.</given-names></name></person-group> (<year>2002</year>). <article-title>Error-backpropagation in temporally encoded networks of spiking neurons</article-title>. <source>Neurocomputing</source>. <volume>48</volume>, <fpage>17</fpage>&#x02013;<lpage>37</lpage>. <pub-id pub-id-type="doi">10.1016/S0925-2312(01)00658-0</pub-id></citation>
</ref>
<ref id="B2">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Burkitt</surname> <given-names>A. N.</given-names></name></person-group> (<year>2006</year>). <article-title>A review of the integrate-and-fire neuron model: I. homogeneous synaptic input</article-title>. <source>Biol. Cybern</source>. <volume>95</volume>, <fpage>1</fpage>&#x02013;<lpage>19</lpage>. <pub-id pub-id-type="doi">10.1007/s00422-006-0068-6</pub-id><pub-id pub-id-type="pmid">16622699</pub-id></citation></ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cheng</surname> <given-names>S.</given-names></name> <name><surname>Wang</surname> <given-names>Y.</given-names></name> <name><surname>Huang</surname> <given-names>H.</given-names></name> <name><surname>Liu</surname> <given-names>D.</given-names></name> <name><surname>Fan</surname> <given-names>H.</given-names></name> <name><surname>Liu</surname> <given-names>S.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Nbnet: noise basis learning for image denoising with subspace projection,&#x0201D;</article-title> in <source>Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition</source>, 4896&#x02013;4906. <pub-id pub-id-type="doi">10.1109/CVPR46437.2021.00486</pub-id></citation>
</ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Com&#x0015F;a</surname> <given-names>I. M.</given-names></name> <name><surname>Versari</surname> <given-names>L.</given-names></name> <name><surname>Fischbacher</surname> <given-names>T.</given-names></name> <name><surname>Alakuijala</surname> <given-names>J.</given-names></name></person-group> (<year>2021</year>). <article-title>Spiking autoencoders with temporal coding</article-title>. <source>Front. Neurosci</source>. <volume>15</volume>, <fpage>936</fpage>. <pub-id pub-id-type="doi">10.3389/fnins.2021.712667</pub-id><pub-id pub-id-type="pmid">34483829</pub-id></citation></ref>
<ref id="B5">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Davies</surname> <given-names>M.</given-names></name> <name><surname>Srinivasa</surname> <given-names>N.</given-names></name> <name><surname>Lin</surname> <given-names>T.-H.</given-names></name> <name><surname>Chinya</surname> <given-names>G.</given-names></name> <name><surname>Cao</surname> <given-names>Y.</given-names></name> <name><surname>Choday</surname> <given-names>S. H.</given-names></name> <etal/></person-group>. (<year>2018</year>). <article-title>Loihi: a neuromorphic manycore processor with on-chip learning</article-title>. <source>IEEE Micro</source> <volume>38</volume>, <fpage>82</fpage>&#x02013;<lpage>99</lpage>. <pub-id pub-id-type="doi">10.1109/MM.2018.112130359</pub-id></citation>
</ref>
<ref id="B6">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Deng</surname> <given-names>S.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Zhang</surname> <given-names>S.</given-names></name> <name><surname>Gu</surname> <given-names>S.</given-names></name></person-group> (<year>2022</year>). <article-title>Temporal efficient training of spiking neural network via gradient re-weighting</article-title>. <source>arXiv, 2202.11946</source>.</citation>
</ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ding</surname> <given-names>J.</given-names></name> <name><surname>Dong</surname> <given-names>B.</given-names></name> <name><surname>Heide</surname> <given-names>F.</given-names></name> <name><surname>Ding</surname> <given-names>Y.</given-names></name> <name><surname>Zhou</surname> <given-names>Y.</given-names></name> <name><surname>Yin</surname> <given-names>B.</given-names></name> <etal/></person-group>. (<year>2022</year>). <article-title>Biologically inspired dynamic thresholds for spiking neural networks</article-title>. <source>arXiv preprint arXiv, 2206.04426</source>.</citation>
</ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Eshraghian</surname> <given-names>J. K.</given-names></name> <name><surname>Ward</surname> <given-names>M.</given-names></name> <name><surname>Neftci</surname> <given-names>E.</given-names></name> <name><surname>Wang</surname> <given-names>X.</given-names></name> <name><surname>Lenz</surname> <given-names>G.</given-names></name> <name><surname>Dwivedi</surname> <given-names>G.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>Training spiking neural networks using lessons from deep learning</article-title>. <source>arXiv, 2109.12894</source>.</citation>
</ref>
<ref id="B9">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Fang</surname> <given-names>W.</given-names></name> <name><surname>Yu</surname> <given-names>Z.</given-names></name> <name><surname>Chen</surname> <given-names>Y.</given-names></name> <name><surname>Masquelier</surname> <given-names>T.</given-names></name> <name><surname>Huang</surname> <given-names>T.</given-names></name> <name><surname>Tian</surname> <given-names>Y.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Incorporating learnable membrane time constant to enhance learning of spiking neural networks,&#x0201D;</article-title> in <source>Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)</source> (<publisher-loc>Montreal, QC</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>2661</fpage>&#x02013;<lpage>2671</lpage>. <pub-id pub-id-type="doi">10.1109/ICCV48922.2021.00266</pub-id></citation>
</ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gerstner</surname> <given-names>W.</given-names></name> <name><surname>Kistler</surname> <given-names>W. M.</given-names></name> <name><surname>Naud</surname> <given-names>R.</given-names></name> <name><surname>Paninski</surname> <given-names>L.</given-names></name></person-group> (<year>2014</year>). <source>Neuronal Dynamics: From Single Neurons to Networks and Models of Cognition</source>. Cambridge University Press.</citation>
</ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><collab>Ghosh-Dastidar S. and Adeli, H..</collab></person-group> (<year>2009</year>). <article-title>A new supervised learning algorithm for multiple spiking neural networks with application in epilepsy and seizure detection</article-title>. <source>Neural Netw</source>. <volume>22</volume>, <fpage>1419</fpage>&#x02013;<lpage>1431</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2009.04.003</pub-id><pub-id pub-id-type="pmid">19447005</pub-id></citation></ref>
<ref id="B12">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hodgkin</surname> <given-names>A. L.</given-names></name> <name><surname>Huxley</surname> <given-names>A. F.</given-names></name></person-group> (<year>1952</year>). <article-title>A quantitative description of membrane current and its application to conduction and excitation in nerve</article-title>. <source>J. Physiol</source>. <volume>117</volume>, <fpage>500</fpage>. <pub-id pub-id-type="doi">10.1113/jphysiol.1952.sp004764</pub-id><pub-id pub-id-type="pmid">2185861</pub-id></citation></ref>
<ref id="B13">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Horowitz</surname> <given-names>M.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;1.1 Computing&#x00027;s energy problem (and what we can do about it),&#x0201D;</article-title> in <source>2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC)</source> (<publisher-loc>San Francisco, CA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>10</fpage>&#x02013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.1109/ISSCC.2014.6757323</pub-id></citation>
</ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hubel</surname> <given-names>D. H.</given-names></name> <name><surname>Wiesel</surname> <given-names>T. N.</given-names></name></person-group> (<year>1962</year>). <article-title>Receptive fields, binocular interaction and functional architecture in the cat&#x00027;s visual cortex</article-title>. <source>J. Physiol</source>. <volume>160</volume>, <fpage>106</fpage>. <pub-id pub-id-type="doi">10.1113/jphysiol.1962.sp006837</pub-id><pub-id pub-id-type="pmid">14449617</pub-id></citation></ref>
<ref id="B15">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>C.</given-names></name> <name><surname>Zhu</surname> <given-names>R. J.</given-names></name> <name><surname>Wu</surname> <given-names>X.</given-names></name> <name><surname>Deng</surname> <given-names>L. J.</given-names></name></person-group> (<year>2022</year>). <article-title>Sit: a bionic and non-linear neuron for spiking neural network</article-title>. <source>arXiv, 2203.16117</source>.</citation>
</ref>
<ref id="B16">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Kamata</surname> <given-names>H.</given-names></name> <name><surname>Mukuta</surname> <given-names>Y.</given-names></name> <name><surname>Harada</surname> <given-names>T.</given-names></name></person-group> (<year>2022</year>). <article-title>&#x0201C;Fully spiking variational autoencoder,&#x0201D;</article-title> in <source>Proceedings of the AAAI Conference on Artificial Intelligence</source> (<publisher-loc>Vancouver, BC</publisher-loc>: <publisher-name>AAAI Press</publisher-name>), <fpage>7059</fpage>&#x02013;<lpage>7067</lpage>. <pub-id pub-id-type="doi">10.1609/aaai.v36i6.20665</pub-id></citation>
</ref>
<ref id="B17">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>J.</given-names></name> <name><surname>Kim</surname> <given-names>H.</given-names></name> <name><surname>Huh</surname> <given-names>S.</given-names></name> <name><surname>Lee</surname> <given-names>J.</given-names></name> <name><surname>Choi</surname> <given-names>K.</given-names></name></person-group> (<year>2018</year>). <article-title>Deep neural networks with weighted spikes</article-title>. <source>Neurocomputing</source> <volume>311</volume>, <fpage>373</fpage>&#x02013;<lpage>386</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2018.05.087</pub-id></citation>
</ref>
<ref id="B18">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Kim</surname> <given-names>Y.</given-names></name> <name><surname>Park</surname> <given-names>H.</given-names></name> <name><surname>Moitra</surname> <given-names>A.</given-names></name> <name><surname>Bhattacharjee</surname> <given-names>A.</given-names></name> <name><surname>Venkatesha</surname> <given-names>Y.</given-names></name> <name><surname>Panda</surname> <given-names>P.</given-names></name></person-group> (<year>2022</year>). <article-title>&#x0201C;Rate coding or direct coding: Which one is better for accurate, robust, and energy-efficient spiking neural networks?,&#x0201D;</article-title> in <source>2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)</source> (<publisher-loc>Toronto, ON</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>71</fpage>&#x02013;<lpage>75</lpage>. <pub-id pub-id-type="doi">10.1109/ICASSP43922.2022.9747906</pub-id></citation>
</ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kolda</surname> <given-names>T. G.</given-names></name></person-group> (<year>2006</year>). <source>Multilinear Operators for Higher-Order Decompositions</source>. Technical report, Sandia National Laboratories (SNL), Albuquerque, NM; Livermore, CA. <pub-id pub-id-type="doi">10.2172/923081</pub-id></citation>
</ref>
<ref id="B20">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Koronowski</surname> <given-names>K. B.</given-names></name> <name><surname>Sassone-Corsi</surname> <given-names>P.</given-names></name></person-group> (<year>2021</year>). <article-title>Communicating clocks shape circadian homeostasis</article-title>. <source>Science</source> 371, eabd0951. <pub-id pub-id-type="doi">10.1126/science.abd0951</pub-id><pub-id pub-id-type="pmid">33574181</pub-id></citation></ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Krizhevsky</surname> <given-names>A.</given-names></name></person-group> (<year>2009</year>). <source>Learning multiple layers of features from tiny images</source>. Master&#x00027;s thesis, University of Toronto, Toronto, ON, Canada.</citation>
</ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lapique</surname> <given-names>L.</given-names></name></person-group> (<year>1907</year>). <article-title>Recherches quantitatives sur l&#x00027;excitation electrique des nerfs traitee comme une polarization</article-title>. <source>J. Physiol. Pathol</source>. <volume>9</volume>, <fpage>620</fpage>&#x02013;<lpage>635</lpage>.</citation>
</ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>LeCun</surname> <given-names>Y.</given-names></name> <name><surname>Bottou</surname> <given-names>L.</given-names></name> <name><surname>Bengio</surname> <given-names>Y.</given-names></name> <name><surname>Haffner</surname> <given-names>P.</given-names></name></person-group> (<year>1998</year>). <article-title>Gradient-based learning applied to document recognition</article-title>. <source>Proc. IEEE</source> <volume>86</volume>, <fpage>2278</fpage>&#x02013;<lpage>2324</lpage>. <pub-id pub-id-type="doi">10.1109/5.726791</pub-id></citation>
</ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Maass</surname> <given-names>W.</given-names></name></person-group> (<year>1997</year>). <article-title>Networks of spiking neurons: the third generation of neural network models</article-title>. <source>Neural Netw</source>. <volume>10</volume>, <fpage>1659</fpage>&#x02013;<lpage>1671</lpage>. <pub-id pub-id-type="doi">10.1016/S0893-6080(97)00011-7</pub-id></citation>
</ref>
<ref id="B25">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Mansouri-Benssassi</surname> <given-names>E.</given-names></name> <name><surname>Ye</surname> <given-names>J.</given-names></name></person-group> (<year>2019</year>). <article-title>&#x0201C;Speech emotion recognition with early visual cross-modal enhancement using spiking neural networks,&#x0201D;</article-title> in <source>2019 International Joint Conference on Neural Networks (IJCNN)</source> (<publisher-loc>Budapest</publisher-loc>), <fpage>1</fpage>&#x02013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1109/IJCNN.2019.8852473</pub-id></citation>
</ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Molchanov</surname> <given-names>P.</given-names></name> <name><surname>Tyree</surname> <given-names>S.</given-names></name> <name><surname>Karras</surname> <given-names>T.</given-names></name> <name><surname>Aila</surname> <given-names>T.</given-names></name> <name><surname>Kautz</surname> <given-names>J.</given-names></name></person-group> (<year>2016</year>). <article-title>Pruning convolutional neural networks for resource efficient inference</article-title>. <source>arXiv: 1611.06440</source>.</citation>
</ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Neftci</surname> <given-names>E. O.</given-names></name> <name><surname>Mostafa</surname> <given-names>H.</given-names></name> <name><surname>Zenke</surname> <given-names>F.</given-names></name></person-group> (<year>2019</year>). <article-title>Surrogate gradient learning in spiking neural networks: bringing the power of gradient-based optimization to spiking neural networks</article-title>. <source>IEEE Signal Process. Mag</source>. <volume>36</volume>, <fpage>51</fpage>&#x02013;<lpage>63</lpage>. <pub-id pub-id-type="doi">10.1109/MSP.2019.2931595</pub-id></citation>
</ref>
<ref id="B28">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Niu</surname> <given-names>L.-Y.</given-names></name> <name><surname>Wei</surname> <given-names>Y.</given-names></name> <name><surname>Long</surname> <given-names>J.-Y.</given-names></name> <name><surname>Liu</surname> <given-names>W.-B.</given-names></name></person-group> (<year>2022</year>). <article-title>High-accuracy spiking neural network for objective recognition based on proportional attenuating neuron</article-title>. <source>Neural Process. Lett</source>. <volume>54</volume>, <fpage>1055</fpage>&#x02013;<lpage>1073</lpage>. <pub-id pub-id-type="doi">10.1007/s11063-021-10669-6</pub-id></citation>
</ref>
<ref id="B29">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Paszke</surname> <given-names>A.</given-names></name> <name><surname>Gross</surname> <given-names>S.</given-names></name> <name><surname>Massa</surname> <given-names>F.</given-names></name> <name><surname>Lerer</surname> <given-names>A.</given-names></name> <name><surname>Bradbury</surname> <given-names>J.</given-names></name> <name><surname>Chanan</surname> <given-names>G.</given-names></name> <etal/></person-group>. (<year>2019</year>). <article-title>&#x0201C;Pytorch: an imperative style, high-performance deep learning library,&#x0201D;</article-title> in <source>Advances in Neural Information Processing Systems (NeurlPS)</source> (<publisher-loc>Vancouver, BC</publisher-loc>), <fpage>32</fpage>.</citation>
</ref>
<ref id="B30">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ran</surname> <given-names>X.</given-names></name> <name><surname>Xu</surname> <given-names>M.</given-names></name> <name><surname>Mei</surname> <given-names>L.</given-names></name> <name><surname>Xu</surname> <given-names>Q.</given-names></name> <name><surname>Liu</surname> <given-names>Q.</given-names></name></person-group> (<year>2022</year>). <article-title>Detecting out-of-distribution samples via variational auto-encoder with reliable uncertainty estimation</article-title>. <source>Neural Netw</source>. <volume>145</volume>, <fpage>199</fpage>&#x02013;<lpage>208</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2021.10.020</pub-id><pub-id pub-id-type="pmid">34768090</pub-id></citation></ref>
<ref id="B31">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Rathi</surname> <given-names>N.</given-names></name> <name><surname>Roy</surname> <given-names>K.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Diet-SNN: a low-latency spiking neural network with direct input encoding and leakage and threshold optimization,&#x0201D;</article-title> in <source>IEEE Transactions on Neural Networks and Learning Systems</source> (<publisher-loc>Glasgow</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x02013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1109/TNNLS.2021.3111897</pub-id><pub-id pub-id-type="pmid">34596559</pub-id></citation></ref>
<ref id="B32">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ronneberger</surname> <given-names>O.</given-names></name> <name><surname>Fischer</surname> <given-names>P.</given-names></name> <name><surname>Brox</surname> <given-names>T.</given-names></name></person-group> (<year>2015</year>). <article-title>&#x0201C;U-net: convolutional networks for biomedical image segmentation,&#x0201D;</article-title> in <source>International Conference on Medical Image Computing and Computer-assisted Intervention (MICCAI)</source> (<publisher-loc>Munich</publisher-loc>), <fpage>234</fpage>&#x02013;<lpage>241</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-24574-4_28</pub-id></citation>
</ref>
<ref id="B33">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Roy</surname> <given-names>K.</given-names></name> <name><surname>Jaiswal</surname> <given-names>A.</given-names></name> <name><surname>Panda</surname> <given-names>P.</given-names></name></person-group> (<year>2019</year>). <article-title>Towards spike-based machine intelligence with neuromorphic computing</article-title>. <source>Nature</source> <volume>575</volume>, <fpage>607</fpage>&#x02013;<lpage>617</lpage>. <pub-id pub-id-type="doi">10.1038/s41586-019-1677-2</pub-id><pub-id pub-id-type="pmid">31776490</pub-id></citation></ref>
<ref id="B34">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Saygin</surname> <given-names>A. P.</given-names></name></person-group> (<year>2007</year>). <article-title>Superior temporal and premotor brain areas necessary for biological motion perception</article-title>. <source>Brain</source> <volume>130</volume>, <fpage>2452</fpage>&#x02013;<lpage>2461</lpage>. <pub-id pub-id-type="doi">10.1093/brain/awm162</pub-id><pub-id pub-id-type="pmid">17660183</pub-id></citation></ref>
<ref id="B35">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Sironi</surname> <given-names>A.</given-names></name> <name><surname>Brambilla</surname> <given-names>M.</given-names></name> <name><surname>Bourdis</surname> <given-names>N.</given-names></name> <name><surname>Lagorce</surname> <given-names>X.</given-names></name> <name><surname>Benosman</surname> <given-names>R.</given-names></name></person-group> (<year>2018</year>). <article-title>&#x0201C;Hats: histograms of averaged time surfaces for robust event-based object classification,&#x0201D;</article-title> in <source>Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)</source> (<publisher-loc>Salt Lake City, UT</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1731</fpage>&#x02013;<lpage>1740</lpage>. <pub-id pub-id-type="doi">10.1109/CVPR.2018.00186</pub-id></citation>
</ref>
<ref id="B36">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Swall0w</surname> <given-names>A.</given-names></name></person-group> (<year>2018</year>). <source>torchstat. GitHub</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://github.com/Swall0w/torchstat.git">https://github.com/Swall0w/torchstat.git</ext-link> (accessed July 7, 2022).</citation>
</ref>
<ref id="B37">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Thorpe</surname> <given-names>S.</given-names></name> <name><surname>Delorme</surname> <given-names>A.</given-names></name> <name><surname>Van Rullen</surname> <given-names>R.</given-names></name></person-group> (<year>2001</year>). <article-title>Spike-based strategies for rapid processing</article-title>. <source>Neural Netw</source>. <volume>14</volume>, <fpage>715</fpage>&#x02013;<lpage>725</lpage>. <pub-id pub-id-type="doi">10.1016/S0893-6080(01)00083-1</pub-id><pub-id pub-id-type="pmid">11665765</pub-id></citation></ref>
<ref id="B38">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Wang</surname> <given-names>Z.</given-names></name> <name><surname>Cun</surname> <given-names>X.</given-names></name> <name><surname>Bao</surname> <given-names>J.</given-names></name> <name><surname>Zhou</surname> <given-names>W.</given-names></name> <name><surname>Liu</surname> <given-names>J.</given-names></name> <name><surname>Li</surname> <given-names>H.</given-names></name></person-group> (<year>2022</year>). <article-title>&#x0201C;Uformer: a general u-shaped transformer for image restoration,&#x0201D;</article-title> in <source>Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition</source> (<publisher-loc>Orlando, FL</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>17683</fpage>&#x02013;<lpage>17693</lpage>. <pub-id pub-id-type="doi">10.1109/CVPR52688.2022.01716</pub-id></citation>
</ref>
<ref id="B39">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Werbos</surname> <given-names>P. J.</given-names></name></person-group> (<year>1990</year>). <article-title>Backpropagation through time: what it does and how to do it</article-title>. <source>Proc. IEEE</source> <volume>78</volume>, <fpage>1550</fpage>&#x02013;<lpage>1560</lpage>. <pub-id pub-id-type="doi">10.1109/5.58337</pub-id></citation>
</ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wu</surname> <given-names>Y.</given-names></name> <name><surname>Lei</surname> <given-names>D.</given-names></name> <name><surname>Li</surname> <given-names>G.</given-names></name> <name><surname>Zhu</surname> <given-names>J.</given-names></name> <name><surname>Shi</surname> <given-names>L.</given-names></name></person-group> (<year>2018</year>). <article-title>Spatio-temporal backpropagation for training high-performance spiking neural networks</article-title>. <source>Front. Neurosci</source>. <volume>12</volume>, <fpage>331</fpage>. <pub-id pub-id-type="doi">10.3389/fnins.2018.00331</pub-id><pub-id pub-id-type="pmid">29875621</pub-id></citation></ref>
<ref id="B41">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>H.</given-names></name> <name><surname>Rasul</surname> <given-names>K.</given-names></name> <name><surname>Vollgraf</surname> <given-names>R.</given-names></name></person-group> (<year>2017</year>). <article-title>Fashion-mnist: a novel image dataset for benchmarking machine learning algorithms</article-title>. <source>arXiv: 1708.07747</source>.</citation>
</ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xing</surname> <given-names>Y.</given-names></name> <name><surname>Di Caterina</surname> <given-names>G.</given-names></name> <name><surname>Soraghan</surname> <given-names>J.</given-names></name></person-group> (<year>2020</year>). <article-title>A new spiking convolutional recurrent neural network (SCRNN) with applications to event-based hand gesture recognition</article-title>. <source>Front. Neurosci</source>. <volume>14</volume>, <fpage>1143</fpage>. <pub-id pub-id-type="doi">10.3389/fnins.2020.590164</pub-id><pub-id pub-id-type="pmid">33324153</pub-id></citation></ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xu</surname> <given-names>Q.</given-names></name> <name><surname>Shen</surname> <given-names>J.</given-names></name> <name><surname>Ran</surname> <given-names>X.</given-names></name> <name><surname>Tang</surname> <given-names>H.</given-names></name> <name><surname>Pan</surname> <given-names>G.</given-names></name> <name><surname>Liu</surname> <given-names>J. K.</given-names></name></person-group> (<year>2021</year>). <article-title>Robust transcoding sensory information with neural spikes</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst</source>. <volume>33</volume>, <fpage>1935</fpage>&#x02013;<lpage>1946</lpage>. <pub-id pub-id-type="doi">10.1109/TNNLS.2021.3107449</pub-id><pub-id pub-id-type="pmid">34665741</pub-id></citation></ref>
<ref id="B44">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Yue</surname> <given-names>Z.</given-names></name> <name><surname>Zhao</surname> <given-names>Q.</given-names></name> <name><surname>Zhang</surname> <given-names>L.</given-names></name> <name><surname>Meng</surname> <given-names>D.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;Dual adversarial network: toward real-world noise removal and noise generation,&#x0201D;</article-title> in <source>European Conference on Computer Vision</source> (<publisher-loc>Springer</publisher-loc>), <fpage>41</fpage>&#x02013;<lpage>58</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-030-58607-2_3</pub-id></citation>
</ref>
<ref id="B45">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zamir</surname> <given-names>S. W.</given-names></name> <name><surname>Arora</surname> <given-names>A.</given-names></name> <name><surname>Khan</surname> <given-names>S.</given-names></name> <name><surname>Hayat</surname> <given-names>M.</given-names></name> <name><surname>Khan</surname> <given-names>F. S.</given-names></name> <name><surname>Yang</surname> <given-names>M.-H.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>&#x0201C;Multi-stage progressive image restoration,&#x0201D;</article-title> in <source>Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition</source> (<publisher-loc>Montreal, QC</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>14821</fpage>&#x02013;<lpage>14831</lpage>. <pub-id pub-id-type="doi">10.1109/CVPR46437.2021.01458</pub-id></citation>
</ref>
<ref id="B46">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>W.</given-names></name> <name><surname>Li</surname> <given-names>P.</given-names></name></person-group> (<year>2020</year>). <article-title>Temporal spike sequence learning via backpropagation for deep spiking neural networks</article-title>. <source>Adv. Neural Inform. Process. Syst</source>. <volume>33</volume>, <fpage>12022</fpage>&#x02013;<lpage>12033</lpage>.</citation>
</ref>
<ref id="B47">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>X.</given-names></name> <name><surname>Liao</surname> <given-names>W.</given-names></name> <name><surname>Yu</surname> <given-names>L.</given-names></name> <name><surname>Yang</surname> <given-names>W.</given-names></name> <name><surname>Xia</surname> <given-names>G.-S.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Event-based synthetic aperture imaging with a hybrid network,&#x0201D;</article-title> in <source>Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)</source> (<publisher-loc>Montreal, QC</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>14235</fpage>&#x02013;<lpage>14244</lpage>. <pub-id pub-id-type="doi">10.1109/CVPR46437.2021.01401</pub-id><pub-id pub-id-type="pmid">37015491</pub-id></citation></ref>
<ref id="B48">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zheng</surname> <given-names>H.</given-names></name> <name><surname>Wu</surname> <given-names>Y.</given-names></name> <name><surname>Deng</surname> <given-names>L.</given-names></name> <name><surname>Hu</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>G.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Going deeper with directly-trained larger spiking neural networks,&#x0201D;</article-title> in <source>Proceedings of the AAAI Conference on Artificial Intelligence</source> (<publisher-loc>Vancouver, BC</publisher-loc>: <publisher-name>AAAI Press</publisher-name>), <fpage>11062</fpage>&#x02013;<lpage>11070</lpage>. <pub-id pub-id-type="doi">10.1609/aaai.v35i12.17320</pub-id></citation>
</ref>
<ref id="B49">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Zhu</surname> <given-names>L.</given-names></name> <name><surname>Wang</surname> <given-names>X.</given-names></name> <name><surname>Chang</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>J.</given-names></name> <name><surname>Huang</surname> <given-names>T.</given-names></name> <name><surname>Tian</surname> <given-names>Y.</given-names></name></person-group> (<year>2022</year>). <article-title>&#x0201C;Event-based video reconstruction via potential-assisted spiking neural network,&#x0201D;</article-title> in <source>Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)</source> (<publisher-loc>Orlando, FL</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>3594</fpage>&#x02013;<lpage>3604</lpage>. <pub-id pub-id-type="doi">10.1109/CVPR52688.2022.00358</pub-id></citation>
</ref>
</ref-list>
</back>
</article>