郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

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的更多相关文章

  1. Training spiking neural networks for reinforcement learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 原文链接:https://arxiv.org/pdf/2005.05941.pdf Contents: Abstract Introduc ...

  2. A review of learning in biologically plausible spiking neural networks

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Contents: ABSTRACT 1. Introduction 2. Biological background 2.1. Spik ...

  3. Training (deep) Neural Networks Part: 1

    Training (deep) Neural Networks Part: 1 Nowadays training deep learning models have become extremely ...

  4. Training Deep Neural Networks

    http://handong1587.github.io/deep_learning/2015/10/09/training-dnn.html  //转载于 Training Deep Neural ...

  5. Quantization aware training 量化背后的技术——Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

    1,概述 模型量化属于模型压缩的范畴,模型压缩的目的旨在降低模型的内存大小,加速模型的推断速度(除了压缩之外,一些模型推断框架也可以通过内存,io,计算等优化来加速推断). 常见的模型压缩算法有:量化 ...

  6. 迁移学习(DANN)《Domain-Adversarial Training of Neural Networks》

    论文信息 论文标题:Domain-Adversarial Training of Neural Networks论文作者:Yaroslav Ganin, Evgeniya Ustinova, Hana ...

  7. Exploring Adversarial Attack in Spiking Neural Networks with Spike-Compatible Gradient

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2001.01587v1 [cs.NE] 1 Jan 2020 Abstract 脉冲神经网络(SNN)被广泛应用于神经形态设 ...

  8. 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 ...

  9. CVPR 2018paper: DeepDefense: Training Deep Neural Networks with Improved Robustness第一讲

    前言:好久不见了,最近一直瞎忙活,博客好久都没有更新了,表示道歉.希望大家在新的一年中工作顺利,学业进步,共勉! 今天我们介绍深度神经网络的缺点:无论模型有多深,无论是卷积还是RNN,都有的问题:以图 ...

  10. Learning in Spiking Neural Networks by Reinforcement of Stochastic Synaptic Transmission

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Summary 众所周知,化学突触传递是不可靠的过程,但是这种不可靠的函数仍然不清楚.在这里,我考虑这样一个假设,即大脑利用突触传递的随机 ...

随机推荐

  1. 写一个linux平台的桌面宠物

    效果图 前言 我一直在用python 写一下有趣的东西,让编程不那么无聊,之前一直有写一个桌面宠物的想法,无奈这些都是依赖资源文件,没有图片资源没办法写里面的逻辑,直到我看见了 shimiji手机桌面 ...

  2. 第2-4-6章 springboot整合规则引擎Drools-业务规则管理系统-组件化-中台

    目录 7. Spring整合Drools 7.1 Spring简单整合Drools 7.1.1 以上代码均在drools_spring项目中 7.2 Spring整合Drools+web 7.2 以上 ...

  3. 大趋智能打印机java api

    对接飞鹅和易联云后 ,网上几乎没资料对大趋智能打印机java api分享,故此分享一波. 官方文档地址 SnParam.java package com.shanheyongmu.openapi.pa ...

  4. Go 每日一库之 go-carbon,优雅的golang日期时间处理库

    Carbon 是一个轻量级.语义化.对开发者友好的 golang 时间处理库,支持链式调用. Carbon 已被 awesome-go 收录, 如果您觉得不错,请给个 star 吧. github.c ...

  5. node-sass报错(Node Sass could not find a binding for your current environment)

    解决方案:参考 https://stackoverflow.com/questions/37986800/node-sass-couldnt-find-a-binding-for-your-curre ...

  6. 浅谈 Java 和 Python 的反射

    反射这个词我一直没搞懂,也不知道为什么需要反射,也不知道反射到底做了什么.所见所闻逐渐丰富之后,开始有点儿懂了. 先不管反射这个词是什么意思.Java 里面有反射,Python 里面也有反射,但是不太 ...

  7. C#11新特性-Raw string literals原始字符串研究、示例

    这几天看C# 11的新语法,学习到了Raw string literals 今天给大家分享一下: 原始字符串是字符串的一种新格式. 原始字符串可以包含任意文本,包括空格.新行.嵌入引号和其他特殊字符, ...

  8. rate-limit 一款 java 开源渐进式分布式限流框架使用介绍

    项目简介 rate-limit 是一个为 java 设计的渐进式限流工具. 目的是为了深入学习和使用限流,后续将会持续迭代. 特性 渐进式实现 支持独立于 spring 使用 支持整合 spring ...

  9. 粘包、struct模块、进程并行与并发

    目录 粘包现象 struct模块 粘包代码实战 udp协议(了解) 并发编程理论 多道技术 进程理论 进程并行与并发 进程的三状态 粘包现象 1.服务端连续执行三次recv 2.客户端连续执行三次se ...

  10. 百度智能云 API调用PythonSDK

    百度智能云 API调用PythonSDK 这是一个用于百度云部分开放AI功能的Python库.主要为ORC功能,可以对各种图像文件进行文字识别,包括车牌.手写文字.通用文字.人脸发现.人脸比对和人流量 ...