Training Spiking Neural Networks with Local Tandem Learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

36th Conference on Neural Information Processing Systems (NeurIPS 2022)
Abstract
脉冲神经网络(SNN)被证明在生物学上比它们的前辈更合理,更节能。然而,对于深度SNN,特别是对于在模拟计算基底上的部署,缺乏有效且通用的训练方法。在本文中,我们提出了一种广义学习规则,称为局部串联学习(Local Tandem Learning,LTL)。LTL规则遵循教师-学生学习方法,通过模拟预先训练的ANN的中间特征表征。通过对网络层的学习进行解耦并利用高度信息的监督信号,我们在CIFAR-10数据集上展示了五个训练阶段内的快速网络收敛,同时具有低计算复杂性。我们的实验结果还表明,这样训练的SNN可以在CIFAR-10、CIFAR-100和Tiny ImageNet数据集上获得与其教师ANN相当的精度。此外,所提出的LTL规则是硬件友好的。它可以很容易地在芯片上实现,以执行快速参数校准,并针对臭名昭著的设备非理想性问题提供鲁棒性。因此,它为在超低功率混合信号神经形态计算芯片上训练和部署SNN提供了无数机会。
1 Introduction
在过去十年中,人工神经网络(ANN)飞跃性地提高了机器的感知和认知能力,并成为许多模式识别任务的事实标准,包括计算机视觉[30、35、52、53、62]、语音处理[39、60]、语言理解[3]和机器人[51]。尽管ANN具有优异的性能,但由于高内存和计算要求,在无处不在的移动和边缘计算设备上部署ANN在计算上非常昂贵。
脉冲神经网络(SNN)是第三代人工神经网络,由于其更大的生物学合理性和实现生物神经网络中观察到的超低功耗计算的潜力,已获得越来越多的研究关注。利用稀疏、脉冲驱动的计算和细粒度并行性,支持SNN高效推理的TrueNorth[2]、Loihi[11]和Tijic[42]等全数字神经形态计算(NC)芯片确实证明了比基于GPU的AI解决方案提高了数量级的功效。此外,新兴的现场混合信号NC芯片[47,54],通过新兴的非易失性技术实现,可以比上述数字芯片进一步提高硬件效率。
尽管神经形态硬件开发取得了显著进展,但如何高效地训练核心计算模型——尖峰神经网络仍然是一个具有挑战性的研究课题。因此,它阻碍了高效神经形态训练芯片的开发以及主流人工智能应用中神经形态解决方案的广泛采用。现有的深度SNN训练算法可分为两类:ANN-SNN转换和基于梯度的直接训练。
对于ANN到SNN的转换方法,他们建议重用来自更容易训练的ANN的网络权重。这可以被视为教师-学生(T-S)学习的具体示例,其以网络权重的形式将知识从教师ANN传递到学生SNN。通过正确确定SNN的神经元放电阈值和初始膜电位,最近的研究表明,ANN的激活值可以与尖峰神经元的放电速率很好地接近,在许多具有挑战性的AI基准上实现了近乎无损的网络转换[4,5,7,12,14,21,22,34,46,49,63]。然而,这些网络转换方法仅基于无泄漏积分和激发(IF)神经元模型开发,并且通常需要大的时间窗以达到可靠的激发率近似值。因此,将这些转换的SNN部署到现有的神经形态芯片上并不简单和有效。
在另一种研究中,基于梯度的直接训练方法将每个尖峰神经元明确建模为自回归神经网络,并利用经典的时间反向传播(BPTT)算法来优化网络参数。在误差反向传播期间,不可微尖峰激活函数通常被连续替代梯度(SG)函数绕过[8,15,38,45,50,58,59,61]。尽管它们与基于事件的输入和不同的尖峰神经元模型兼容,但实际上它们的计算和记忆效率很低。此外,这些SG函数引入的梯度近似误差倾向于在层上累积,在面对深度网络结构和短时间窗口时导致性能显著下降[57]。
通常,SNN学习算法可分为芯片外学习[16,64]和芯片内学习[9,41,43]。上面讨论的几乎所有直接SNN训练方法都属于芯片外学习类别。由于缺乏有效的方法来利用扣球活动中的高度稀疏性,并且需要存储用于信用分配的非本地信息,这些芯片外方法显示出非常低的训练效率。此外,由于众所周知的设备非理想性问题[6],实际的网络动态将偏离芯片外模拟的网络动态,导致芯片外训练的SNN在部署到模拟计算基板上时精度显著下降[1,24,37,44]。为了解决这些问题,最近的工作提出了局部Hebbian学习[11,28,41]和基于梯度的学习近似[10,19,32,40]形式的片上学习算法,而这些算法的有效性仅在简单的基准上得到了证明,例如MNIST和N-MNIST数据集。
为了解决SNN训练和硬件部署中的上述问题,我们在本文中提出了一种广义SNN学习规则,我们称之为本地串联学习(LTL)规则。LTL规则充分利用了ANN-SNN转换和基于梯度的训练方法。一方面,它很好地利用ANN的高效中间特征表示来监督SNN的训练。通过这样做,我们表明它可以在CIFAR-10数据集上的五个训练阶段内以低计算复杂性实现快速网络收敛。另一方面,LTL规则采用基于梯度的方法进行知识转移,可以支持不同的神经元模型并实现快速模式识别。通过在层内局部传播梯度信息,它还可以减轻SG方法的复合梯度近似误差,并在CIFAR-10、CIFAR-100和Tiny ImageNet数据集上实现近乎无损的知识传输。此外,LTL规则被设计为硬件友好的,它可以仅使用本地信息执行高效的片上学习。在这种片上设置下,我们证明了LTL规则能够解决模拟计算衬底的臭名昭著的设备非理想性问题,包括设备失配、量化噪声、热噪声和神经元沉默。
2 Methods
Training Spiking Neural Networks with Local Tandem Learning的更多相关文章
- Training spiking neural networks for reinforcement learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 原文链接:https://arxiv.org/pdf/2005.05941.pdf Contents: Abstract Introduc ...
- A review of learning in biologically plausible spiking neural networks
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Contents: ABSTRACT 1. Introduction 2. Biological background 2.1. Spik ...
- Training (deep) Neural Networks Part: 1
Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely ...
- Training Deep Neural Networks
http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html //转载于 Training Deep Neural ...
- Quantization aware training 量化背后的技术——Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference
1,概述 模型量化属于模型压缩的范畴,模型压缩的目的旨在降低模型的内存大小,加速模型的推断速度(除了压缩之外,一些模型推断框架也可以通过内存,io,计算等优化来加速推断). 常见的模型压缩算法有:量化 ...
- 迁移学习(DANN)《Domain-Adversarial Training of Neural Networks》
论文信息 论文标题:Domain-Adversarial Training of Neural Networks论文作者:Yaroslav Ganin, Evgeniya Ustinova, Hana ...
- Exploring Adversarial Attack in Spiking Neural Networks with Spike-Compatible Gradient
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2001.01587v1 [cs.NE] 1 Jan 2020 Abstract 脉冲神经网络(SNN)被广泛应用于神经形态设 ...
- Inherent Adversarial Robustness of Deep Spiking Neural Networks: Effects of Discrete Input Encoding and Non-Linear Activations
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2003.10399v2 [cs.CV] 23 Jul 2020 ECCV 2020 1 https://github.com ...
- CVPR 2018paper: DeepDefense: Training Deep Neural Networks with Improved Robustness第一讲
前言:好久不见了,最近一直瞎忙活,博客好久都没有更新了,表示道歉.希望大家在新的一年中工作顺利,学业进步,共勉! 今天我们介绍深度神经网络的缺点:无论模型有多深,无论是卷积还是RNN,都有的问题:以图 ...
- Learning in Spiking Neural Networks by Reinforcement of Stochastic Synaptic Transmission
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Summary 众所周知,化学突触传递是不可靠的过程,但是这种不可靠的函数仍然不清楚.在这里,我考虑这样一个假设,即大脑利用突触传递的随机 ...
随机推荐
- 把Mybatis Generator生成的代码加上想要的注释
作者:王建乐 1 前言 在日常开发工作中,我们经常用Mybatis Generator根据表结构生成对应的实体类和Mapper文件.但是Mybatis Generator默认生成的代码中,注释并不是我 ...
- 【SQL进阶】【分步写、联合各自排序、TIMESTAMPDIFF时间比较】Day04:多表查询
〇.内容 时间比较2-2 联合结果各自排序 查询列和GROUP BY 一.嵌套子查询 1.月均完成试卷数不小于3的用户爱作答的类别 自己的答案[错误]: SELECT tag, COUNT(A.sta ...
- 【Java SE】Day07 API、Scanner类、Random类、ArrayList类
一.API 1.概述: API(Application Programming Interface),应用程序编程接口 Java API:程序员的字典,是类的说明文档 2.使用步骤 帮助文档:JDK_ ...
- Kafka Connect学习
一.基础介绍 1.概念 2.Debezium 为捕获数据更改(change data capture,CDC)提供了一个低延迟的流式处理平台.可以消费数据库每一个行级别(row-level)的更改. ...
- Win10下SDK Manager应用程序闪退问题的解决方法
SDK Manager闪退原因:未找到Java的正确路径 解决办法: 1.在压缩包中找到Android.bat文件,右键编辑 2.打开的Android文件内容,找到如图的几行代码 将上面的代码替换成: ...
- 宝塔渗透之msf代理入侵
前言 在渗透中遇到内网主机是一层接一层的拓扑形式,可以采用多层代理加路由转发访问,便于在渗透中出现网段隔绝可以使用此方法跳出局限 实验环境 kali: 192.168.75.131 target-ce ...
- Java关键词synchronized解读
目录 1 引入Synchronized 2 Synchronized的使用 2.1 对象锁 2.1.1 Synchronized修饰实例方法 2.1.2 Synchronized修饰代码块 2.2 类 ...
- python进阶之路9文件的处理方法
内容回顾 字典内置方法 1.类型转换 dict() 2.重要操作 get() d[key] = values 常用 pop() update() 键存在则修改键值对 键不存在则新增键值对 fromke ...
- 数据结构与算法 -> 并查集
一.并查集概念 并查集是一种树形的数据结构,顾名思义,它用于处理一些不交集的合并及查询问题. 它支持两种操作: 查找(Find):确定某个元素处于哪个子集,单次操作时间复杂度 O(α(n)),即查询元 ...
- Java 进阶P-3.5+P-3.6
对象数组的for-each循环 for-each是用于遍历数组的另一种形式的for循环.for-each循环显着减少了代码,并且循环中没有使用索引或计数器. 句法: For(<数组/列表的数据类 ...