Rethinking the performance comparison between SNNS and ANNS
Posted lucifer1997
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rethinking the performance comparison between SNNS and ANNS相关的知识,希望对你有一定的参考价值。
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
Abstract
人工神经网络(ANN)是通向人工智能的一种流行途径,它已经通过成熟的模型,各种基准,开源数据集和强大的计算平台获得了非凡的成功。脉冲神经网络(SNN)是一类有前途的模型,可以模拟大脑的神经元动态,已受到脑启发式计算的广泛关注,并已广泛部署在神经形态设备上。但是,很长一段时间以来,关于SNN在实际应用中的价值的争论和怀疑不断。除了从脉冲驱动处理中获得的低功率属性外,SNN的性能通常比ANN差,特别是在应用准确性方面。最近,研究人员试图通过借鉴ANN的学习方法(例如反向传播)来解决此问题,以训练高精度SNN模型。随着该领域的快速发展,随着网络规模的不断扩大,其结果不断取得惊人的发展,其增长路径似乎与深度学习的发展相似。尽管这些方法赋予SNN逼近ANN精度的能力,但由于使用面向ANN的工作量和简化的评估指标,SNN的天然优势和优于ANN的方式可能会丢失。
在本文中,我们将视觉识别任务作为案例研究,以回答“什么样的工作量最适合SNN,如何评估SNN才有意义”的问题。我们使用不同类型的数据集(面向ANN和面向SNN),不同的处理模型,信号转换方法和学习算法,设计了一系列对比测试。我们提出了有关应用程序精度以及内存和计算成本的综合指标,以评估这些模型,并进行广泛的实验。我们证明了这样一个事实,即在面向ANN的工作量上,SNN无法击败其ANN对应体。而在面向SNN的工作量上,SNN可以充分发挥更好的性能。我们进一步证明,SNN在应用程序精度和执行成本之间存在折衷,这将受到仿真时间窗口和发放阈值的影响。基于这些丰富的分析,我们为每种情况推荐最合适的模型。据我们所知,这是第一项使用系统比较来明确揭示从ANN迁移到SNN的直接工作量是不明智的工作,尽管许多工作都在这样做,并且进行全面评估确实很重要。最后,我们强调迫切需要为SNN建立具有更多任务,数据集和指标的基准框架。
1. Introduction
人工神经网络(ANN)(LeCun, Bengio, &Hinton, 2015)能够通过深度层次结构从大量输入数据中学习高级功能。这种强大的表征在无数的人工智能(AI)应用程序中带来了惊人的成功。例如,研究人员报告了基于多层感知器(MLP)或基于卷积神经网络(CNN)的图像识别(He, Zhang, Ren, &Sun, 2016),语音识别(Abdel-Hamid et al., 2014),语言处理(Hu, Lu, Li, &Chen, 2014;Young, Hazarika, Poria, &Cambria, 2018),物体检测(Redmon&Farhadi, 2017),太阳辐射估计(Jahani&Mohammadi, 2018),医疗诊断(Esteva et al., 2017),游戏(Silver et al., 2016)等,基于递归神经网络(RNN)的语音识别(Lam et al., 2019),语言处理(Ghaeini et al., 2018),状态控制(Graves et al., 2016)等,有时还包括CNN和RNN的组合(Caglayan & Burak Can, 2018;Zhang, Bai, &Zhu, 2019;Zoph, Vasudevan, Shlens, &Le, 2018)。除了各种模型和学习算法之外,大数据资源(例如用于图像识别的ImageNet数据集(Deng et al., 2009))和高性能计算平台(例如GPU)进一步促进了人工神经网络的发展。上述成功激发了对ANN特定加速器的众多研究(Chen et al., 2014;Chen, Krishna, Emer, &Sze, 2017;Jouppi et al., 2017;Yin et al., 2017)。
2. Preliminaries
2.1. Artificial neural networks
2.2. Spiking neural networks
2.3. Typical network topologies
2.4. Benchmark datasets
3. Benchmarking methodology
3.1. Data signal conversion
3.2. ANN-oriented workloads
3.3. SNN-oriented workloads
3.4. Training algorithms
3.5. Evaluation metrics
4. Experimental results
4.1. Experimental setup
在我们的实验中,我们全面评估了几种ANN和SNN模型在不同类型的基准工作负载(面向ANN和面向SNN)上的视觉识别性能。首先,为了简单起见,我们将讨论更多关于MLP和(纯)CNN的结果,并仅在最后提供面向SNN的工作负载的其他模型(例如RNN和时间CNN)的结果。 在面向ANN的工作负载上,我们评估MNIST和CIFAR10数据集上Model-1 / 2/3的性能。 由于MLP无法处理较大规模的CIFAR10,我们仅在此数据集上显示CNN结果。 在面向SNN的工作负载上,我们在上述数据集的神经形态版本(即N-MNIST和DVS-CIFAR10)上评估了Model-4 / 5/6的性能。 请注意,为什么我们主要比较自己实现的模型1-6的结果,是因为我们可以轻松地控制许多因素(例如,网络结构和大小,培训技术,学习超参数等)以保证公平性。 否则,由于该领域的建模多样性,很难与其他人进行公平的比较。
图7给出了整个实验流程图,表1给出了主要的网络结构。此外,表2和3分别提供了面向ANN和SNN的工作负载的参数配置。 由于这些工作负载通常具有用于输入转换的不同编码格式,因此为了清楚起见,我们仅显示隐藏层的参数配置。 在所有Conv图层中,我们将填充值设置为1。由于Model-4的输入量较大,因此我们在此处将跨步值设置为2,在其他模型中将跨步值设置为1。 在所有SNN模型(Model-2 / 3/6)中,池化层中的每个单元都是一个独立的神经元,这保证了池化层的输出仍为尖峰格式。 此池配置与以前的工作不同(Wu等人,2018,2019)。 在模型3/6中,我们使用等式中描述的完整LIF神经元模型。 (4),而在Model-2中,我们使用的是IF神经元模型(LIF中没有泄漏项),这是先前转换的SNN的一种流行选择(Diehl等,2015; Sengupta等,2019)。
我们在Pytorch框架中实现所有模型。 在MNIST和N-MNIST数据集上,我们采用具有默认参数设置(α= 0.0001,β1= 0.9,β2= 0.999,? = 10-8)的Adam(自适应矩估计(Kingma&Ba,2014))优化器; 而在CIFAR10和DVS-CIFAR10数据集上,我们使用SGD(随机梯度下降)优化器,其初始学习率r = 0.1,动量为0.9,其中r每35个训练周期衰减10倍。
4.2. Accuracy analysis
4.3. Cost analysis
4.4. Additional comparison
5. Conclusion and discussion
5.1. Brief summary
5.2. Future opportunities
以上是关于Rethinking the performance comparison between SNNS and ANNS的主要内容,如果未能解决你的问题,请参考以下文章
Rethinking the performance comparison between SNNS and ANNS
Rethinking the inception architecture for computer vision的 paper 相关知识
问题解决:信息提示SpringBoot启动时提示The APR based Apache Tomcat Native library which allows optimal performanc(代