SNN论文总结

Is SNN a great work ? Is SNN a convolutional work ?

ANN的量化在SNN中是怎么体现的,和threshold有关系吗,threshold可训练和这个有关吗(应该无关)
解决过发放不发放的问题。

Intuation

SNN编码方式 Image to spike pattern
https://zhuanlan.zhihu.com/p/416187474
一种方法是:如 (a) 所示。在每一个时间步骤,采样的原始像素强度 (pixel intensity) 到一个二进制值 (通常归一化为[0,1]),其中的这个强度值就等于发射一个脉冲的概率。这个采样样遵循一个特定的概率分布,例如伯努利分布或泊松分布。
另一种方法是 (b) 所示。使用一个编码器来产生全局的脉冲信号。这个编码器的每个神经元接受图片多个像素的强度值intensity 信号作为输入, 而产生脉冲作为输出。 虽然编码层是 ANN-SNN 混合层,而不是像网络中的其他层那样的完整 SNN 层,但它的权重是可训练的,因为我们的训练方法也是 BP 兼容的。由于神经元的数量可以灵活定制,参数也可以调整,因此它可以适应整体最佳化问题,从而获得更高的精确度。

在这里插入图片描述
发放率与ANN的match
发放率在 [ 0 , 1 ] [0,1] [0,1]之间,与在 [ 0 , θ ] [0, \theta] [0,θ]没区别,就是乘了一个 θ \theta θ的区别
有一个需要讨论的点,就是 T T T(time duration),而resolution = 1 / T 1/T 1/T,当 T T T越大的时候,分的越精细,可以分的份数越多
对于 A N N ANN ANN,最intuitive的想法就是找到 A N N m a x ANN_{max} ANNmax然后以最大值这个区间平均分成 T T T份,每一份对应一个离散的 S N N SNN SNN
BTW,其实可以看出这个思想和 A N N t o Q A N N ANNtoQANN ANNtoQANN完全一致,所以这个思路是很direct的
对于intuitive的想法有几个地方是可以改进的,第一是最大值的选择,第二是T的选择。

Spiking deep convolutional neural networks for energy-efficient object recognition

2015.开山之作
将脉冲和非脉冲网络之间的特征差异考虑了。主要挑战就是对于脉冲神经元中的负值和偏置的表示,这个通过使用修正的线性单元(ReLUs)和将偏置设为零解决了。同时,卷积网络的最大池化操作被空间线性子采样替代,同样地转换结果也有很小的损失。
本文的核心是通过三步tailor a regular CNN into an architecture that is suitable for spiking architecture:

  1. abs() + ReLU to solve negative output values
  2. No biases from all conv and FCL
  3. linear subsampling instead of maxpooling

spike generation:
归一化 I ,rand() < I, generate spikes
spike counter:
记录 output neurons in 100ms / 200ms

Fast-classifying, high-accuracy spiking deep networks through weight and threshold balancing

IJCNN.2015 ETH Zurich
写的很好的参考资料

  1. 这篇文章首次提出了造成误差的不发放(did not receive sufficient input)过发放问题(too many input spikes in one timestep / some of the input weights are higher than the threshold)。
  2. two weight normalizations to prevent the ReLU from overestimating output activations 在保证相对大小不变的情况下,使用缩放因子来防止出现过发放的问题。
    对每一层:
    • worst-case scenario:rescale all the weights by that maximum possible positive input(理论上) (确实要用positive input,即一个neuron的sum input weight)

Q:
第二种方法为什么要这么做?没太看懂原理。

继承上篇论文并extension

the ReLU can be considered a firing rate approximation of an IF neuron with no refractory period [22], whereby the output of the ReLU is proportional to the number of spikes produced by an IF neuron within a given time window.
ReLU可以被看作没有绝对不应期的IF神经元的发射率近似,因此ReLU的输出应该和给定时间窗口内IF神经元发射的脉冲数量成比例
Secondly, for classification tasks, only the maximum activation of all units in the output layer is of importance, allowing the overall rate to be scaled by a constant factor.
对于分类任务,只有输出层中所有单元的最大激活是重要的,允许总体速率按一个常数因子进行缩放。
the relative scale of the neuron weights to each other and to the threshold of the neuron are the only parameters that matter
待训练的参数:在不偏向提供外部参考值的情况下,神经元权重之间的相对尺度和神经元阈值的相对尺度是唯一重要的参数

会造成误差的几种:

  1. For a fixed simulation duration,under-activation。
    比如你的w很小,threshold很高,在短暂的t时间内没有一个neuron能积累到超过阈值
  2. For a fixed simulation duration,over-activation。
    w太大,或者你threshold设置的太小,每次都发放。没有区分度。如果所有的都每次都发放,时间窗内有同样的两个类别产生的spike数量相同
    该文章通过weight normalization来避免过发放
  3. 由于脉冲输入的概率属性,由于脉冲序列的不均匀性,一系列脉冲会过激活或者欠激活;

Theory and Tools for the Conversion of Analog to Spiking Convolutional Neural Networks

2016.11 ETH Zurich
“analog-to-digital conversion” 是指将模拟信号(如神经元的电压变化)转换为数字表示,以便计算机能够处理和分析

  1. 第一次理论证明conversion等效
  2. 分析误差,采取一定措施
  3. 修改CNN operations including max-pooling, softmax, and batch-normalization

Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classification

2017.11 ETH Zurich

  1. a theoretical groundwork for ANN-SNN conversion

OPTIMAL CONVERSION OF CONVENTIONAL ARTIFICIAL NEURAL NETWORKS TO SPIKING NEURAL NETWORKS

Shikuang Deng1 & Shi Gu1 UESTC 2020
shift

QFFS

frontier 2022

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/62179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++项目:网络版本在线五子棋对战

目录 1.项目介绍 2.开发环境 3.核心技术 4. 环境搭建 5.websocketpp 5.1原理解析 5.2报文格式 5.3websocketpp常用接口介绍 5.4websocket服务器 6.JsonCpp使用 6.1Json数据格式 6.2JsonCpp介绍 7.MySQL API 7.1MySQL API介绍 7.2MySQL API使用 7.3实现增删改查…

大数据精准营销获客能为企业带来哪些东西?

广告圈里一句名言:我知道我的广告浪费了一半&#xff0c;但我不知道浪费了哪一半。当前&#xff0c;越来越多的企业在大数据思维指导下进行广告投放&#xff0c;广告能通过对人群的定向&#xff0c;投放给准确的目标顾客&#xff0c;特别是互联网广告现在能够做到根据不同的人向…

XSSchallenge1-20

test1 第一题直接在test插入XSS代码即可 test2 第二关对内容进行”“包裹 这里可以采用”>来绕过 test3 代码审计发现这里用了htmlspecialchars函数&#xff0c;这个函数对<>和’ “等进行了转义&#xff0c;这里可以用事件来绕过 test4 这里用了str_replace&a…

14家展商集中亮相!8月30-31日,智能汽车软件与座舱车联大会

过去几年&#xff0c;在特斯拉及新势力的带动下&#xff0c;车企的盈利模式正在寻求从“一次售卖”转变为“硬件预埋&#xff0b;软件付费解锁”&#xff0c;背后是驱动汽车软件架构的迭代&#xff0c;即从面向信号的软件架构&#xff0c;过渡至面向服务的SOA架构。 同时&#…

Flutter小功能实现-咖啡店

1 导航栏实现 效果图&#xff1a; 1.Package google_nav_bar: ^5.0.6 使用文档&#xff1a; google_nav_bar | Flutter Package 2.Code //MyBottomNavBar class MyBottomNavBar extends StatelessWidget {void Function(int)? onTabChange;MyBottomNavBar({super.key, …

JVM下篇知识

第01章&#xff1a;概述篇 第02章&#xff1a;JVM监控及诊断工具-命令行篇 第03章&#xff1a;JVM监控及诊断工具-GUI篇 第04章&#xff1a;JVM运行时参数 第05章&#xff1a;分析GC日志

Apple Configurator iphone ipad 设备管控 描述文件使用方法

一、准备 App Store 下载安装 Apple Configurator 二、Apple Configurator 注册组织&#xff0c; -----------这个组织可以是个人&#xff0c;或者其它组织导出-------再导入进来&#xff1a; 三、描述文件配置&#xff1a;“” 根据管控需求进行配置 “” 四、使用 Ap…

Docker consul容器服务自动发现和更新

目录 一、什么是服务注册与发现 二、Docker-consul集群 1.Docker-consul 2.registrator 3.Consul-template 三、Docker-consul实现过程 四、Docker-consul集群配置 1.下载consul服务 2.web服务器启动多例nginx容器&#xff0c;使用registrator自动发现 3.使用…

vant2 van-calendar组件增加清除按钮和确定按钮

利用自定义插槽增加一个清除按钮 <van-calendar ref"fTime1" select"selectTimePicker" confirm"changeTimePicker" :default-date"null" :show-confirm"false" v-model"timePickerShow" type"range&quo…

Docker之私有仓库 RegistryHarbor

目录 一、Docker私有仓库&#xff08;Registry&#xff09; 1.1 Registry的介绍 二、搭建本地私有仓库 2.1首先下载 registry 镜像 2.2在 daemon.json 文件中添加私有镜像仓库地址 2.3运行 registry 容器 2.4Docker容器的重启策略 2.5为镜像打标签 2.6上传到私有仓库 2…

Qt+C++桌面计算器源码

程序示例精选 QtC桌面计算器源码 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<QtC桌面计算器源码>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学习与…

微签京瓷合作,亮相2023办公行业博览会

武汉&#xff0c;2023年8月8日至8月10日&#xff0c;2023中国现代办公行业年会暨中国智能办公行业博览会在武汉光谷科技会展中心盛大开幕。在这场行业盛会上&#xff0c;微签与京瓷合作打造的OA数字化管理系统重磅亮相&#xff0c;向广大消费者展示了微签在办公设备领域的转型升…

最简单 实现 Element-ui el-table的懒加载表格数据 el-table懒加载请求数据 element-ui 懒加载

最简单 实现 Element-ui el-table的懒加载表格数据 el-table懒加载请求数据 element-ui 懒加载 1、效果图2、代码 1、效果图 2、代码 <template> <el-table :data"tableData" style"width: 100%" expand-change"expandChange"><…

TS 入门

TS 入门 interface 约束作用数组的声明方式函数的定义联合类型、交叉类型、断言类型类的方面 interface 约束作用 数组的声明方式 函数的定义 联合类型、交叉类型、断言类型 类的方面 这是代码的地址&#xff1a; 代码的地址

云上办公系统项目

云上办公系统项目 1、云上办公系统1.1、介绍1.2、核心技术1.3、开发环境说明1.4、产品展示后台前台 1.5、 个人总结 2、后端环境搭建2.1、建库建表2.2、创建Maven项目pom文件guigu-oa-parentcommoncommon-utilservice-utilmodelservice-oa 配置数据源、服务器端口号application…

【实验六】组合逻辑电路的设计

【实验内容】 【实验报告】

C++ 文件和流

iostream 标准库提供了 cin 和 cout 方法&#xff0c;用于从标准输入读取流和向标准输出写入流。而从文件中读取流或向文件写入流&#xff0c;需要用到fstream标准库。在 C 中进行文件处理时&#xff0c;须在源代码文件中包含头文件 <iostream> 和 <fstream>。fstr…

讲讲几道关于 TCP/UDP 通信的面试题

TCP &#xff08;1&#xff09;TCP 的 accept 发生在三次握手的哪个阶段&#xff1f; 如下图connect和accept的关系&#xff1a; accept过程发生在三次握手之后&#xff0c;三次握手完成后&#xff0c;客户端和服务器就建立了tcp连接并可以进行数据交互了。这时可以调用accep…

400电话号码怎么开通

开通400电话是企业提供客户服务的重要步骤。下面是一些步骤和注意事项&#xff0c;帮助您顺利开通400电话。 第一步&#xff1a;选择400电话服务提供商 选择一家可靠的400电话服务提供商非常重要。您可以通过搜索引擎、咨询行业内人士或者参考其他企业的经验来选择合适的服务提…

【LeetCode75】第四十题 最大层内元素和

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 这道题和LeetCode75的上一题大同小异&#xff0c;都是要我们对二叉树进行层序遍历。 那具体如何层序遍历我再上一题也详细介绍过了&#…