
SNN(Spiking Neural Network,脉冲神经网络)
第三代神经网络,着重于将DNN转换为SNN
月臻
stay foolish,stay hungry!
展开
-
Spiking Deep Convolutional Neural Networks for Energy-Efficient Object Recognition
论文名:Spiking Deep Convolutional Neural Networks for Energy-EfficientObject Recognition中文名:脉冲卷积神经网络做高效的目标识别摘要深度神经网络(如CNN)已经在处理复杂的视觉问题(如目标识别)上展示了巨大的潜力。基于SNN的结构展示了使用基于脉冲的神经形态硬件实现低功耗的巨大潜力,这项工作描述了一种将CN...原创 2019-06-09 15:09:40 · 6252 阅读 · 10 评论 -
Fast-Classifying, High-Accuracy Spiking Deep Networks Through Weight and Threshold Balancing
论文名:Fast-Classifying, High-Accuracy Spiking Deep Networks Through Weight and Threshold Balancing 中文名:权重、阈值权衡实现快速分类且高精度的脉冲神经网络摘要例如ConvNets(卷积神经网络)和 DBNs(深度信念网络)代表了最先进的机器学习和计算机视觉问题。为了克服深度网络的大计算量成本,...原创 2019-06-08 16:01:01 · 3264 阅读 · 2 评论 -
ANN to SNN
论文名:Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classification 中文名:将连续值深度网络转换为高效的事件驱动SNN做图像分类摘要脉冲神经网络(SNN)可能提供了一种高效的推理方法,因为网络中的神经元是稀疏激活的,并且计算是事件驱动型。...原创 2019-05-30 21:28:47 · 11541 阅读 · 2 评论 -
脉冲神经网络的模拟策略
一. 时钟驱动模拟策略1. 神经元模型的数值计算方法一般来说,大多数生物系统建立的模型是微分方程形式,并且这些方程不能简单地通过微积分的方法得到它们的解析表达式,即使有时候可以得到,其表达式也十分复杂,很难讨论其具有的性质。因此,需要采用一定的数值方法进行求解,求出方程在某些离散点处的近似解,进而分析方程所具有的性质和规律。对于脉冲神经元模型的数值计算,一般采用欧拉或龙格-库塔等数值方法进行近...原创 2019-05-27 10:30:28 · 2393 阅读 · 0 评论 -
脉冲神经元的建模与分析
一. 生物神经元结构及脉冲发放生物神经系统中的信号是以细胞膜的电位变化来传导的。神经元细胞膜内外的电位有差别,外正内负,70-80mv。周围环境和内部变化可以引起膜电位的高低变化。但是这类变化当幅度不大时只是局部的,随着变化幅度的增加,达到一定阈值时,膜电位才会发生突然的变化,产生沿轴突传导的动作电位,也称为脉冲。这种神经元传递的脉冲持续时间为1-2ms,它可以跨越较远的距离进行传递而不致衰减。...原创 2019-05-25 13:45:48 · 8888 阅读 · 4 评论 -
脉冲神经网络(Spiking Neural Network,SNN)概述
主要讨论脉冲神经网络的拓扑结构、信息的脉冲序列编码方法、脉冲神经网络的学习算法和进化方法等。一. 脉冲神经网络的拓扑结构同传统的人工神经网络一样,脉冲神经网络同样分为三种拓扑结构。它们分别是前馈型脉冲神经网络(feed-forward spiking neural network)、递归型脉冲神经网络(recurrent spiking neural network)和混合型脉冲神经网络(hy...原创 2019-05-24 16:15:48 · 37374 阅读 · 2 评论 -
人工神经网络概述
一. 生物神经系统及构成近几十年来,神经科学和脑功能的研究快速发展,并取得了很大进展。神经科学主要研究生物神经系统的结构、功能和发育等,对生物行为及学习的研究都属于神经科学的分支。人脑是人类智能与高级精神活动的生理基础,其研究涉及分子层面、细胞层面、神经元群体和神经系统等多个领域,人的思想、信仰、记忆、行为和情感等都与脑密不可分。通过对脑的结构与功能的研究,提示脑进行思维活动的本质,建立脑模型,...原创 2019-05-24 10:34:09 · 5440 阅读 · 0 评论 -
Vivado HLS(High-level Synthesis)笔记八:优化方法综述
一. Optimizing for Throughout改变吞吐率是通过提高并行度实现的;Pipeline可以作用于函数,也可以作用于循环,当其作用于函数时是连续的,作用于循环时中间有停顿;二. Optimizing for Latency三. Optimizing for Area...原创 2019-05-12 17:56:34 · 2655 阅读 · 0 评论 -
Vivado HLS(High-level Synthesis)笔记七:函数层面的优化
一. 代码风格从函数这个角度来说代码风格,主要是看参数的数据类型,C++中的数据类型是以8为边界的,而实际硬件中我们可能会遇到任意精度的数据类型,因此我们一定在C++中定义为任意精度的数据类型;二. lnline对函数的Inline实际是去除函数的层次化,带来的好处是可以改善资源,不再需要调用函数的相关逻辑,对于小函数HLS会自动Inline,如果我们不希望,可以通过directi...原创 2019-05-12 16:34:28 · 2545 阅读 · 1 评论 -
Vivado HLS(High-level Synthesis)笔记六:数组优化
一. 数组分割对于数组可以resource directive来明确告知HLS当前数组采用什么样的Memory(RAM、FIFO等)来实现,如果没有使用resource,Vivado HLS会自行决定采用单端口还是双端口(取决于哪种更好);数组最终会以Memory形式出现(RAM、ROM或者FIFO),如果是顶层函数中的形参就会以 相应Memory的接口呈现,包括读写地址、使能以及数据;如...原创 2019-05-12 15:32:21 · 6305 阅读 · 1 评论 -
Vivado HLS(High-level Synthesis)笔记五:for循环优化
一. 基本性能指标for循环优化的基本概念、对for循环施行流水的优化、for循环的展开以及for循环的循环变量的数据类型是否对结果资源有影响1. 流水线优化2. for循环的展开默认情况下for循环是被折叠的,所谓折叠可以理解为所有每次循环都是采用同一套电路,只是这个电路被分时复用,而展开就意味着这个for循环被复制了n或者n/2份,这个是可以设置的;for循环可以部分展开,比...原创 2019-05-12 11:24:18 · 7157 阅读 · 1 评论 -
Vivado HLS(High-level Synthesis)笔记四:接口综合
一. 基本介绍原创 2019-05-11 13:10:18 · 5144 阅读 · 1 评论 -
Vivado HLS(High-level Synthesis)笔记三:Test bench
一. C/C++ Test bench的基本架构Test bench是一个用来验证逻辑功能是否正确的虚拟坏境,由Driver/Stimulus(输入激励)、Reference Model(参考模型,其输出结果是正确结果)、DUT(待测模型,Design Under Test,我们需要综合的C函数)、Monitor(检测DUT的输出)、Scoreboard(将DUT的输出和参考模型的结果做对比...原创 2019-05-10 21:42:05 · 5968 阅读 · 1 评论 -
Vivado HLS(High-level Synthesis)笔记二:数据类型及其初始化、复合数据类型、HLS中的C++基本运算
一. 如何处理任意精度的数据类型C语言支持的数据类型有字符型、整型(有符号和无符号)、浮点型、boolean类型等的,需要注意的是char 16_t和char 30_t这两个数据类型在Vivado HLS中是不支持的;Vivado HLS继承了传统的C/C++包含的数据类型,包括char、short、int、float和double,又由于这些数据类型都是以8为边界的(8、16、32、64...原创 2019-05-10 19:53:52 · 7353 阅读 · 1 评论 -
Vivado HLS(High-level Synthesis)笔记一:HLS基本流程
前言实验室项目需要,需要将在服务器段跑出的网络参数配置到FPGA上,一种方法是直接利用verilog或者vhdl直接去写一个网络的前向传播模型,另一种就是用 C/C++ 来描述网络的前向传播模型,然后利用Vivado的HLS将其转化为硬件描述语言——verilog或者vhdl。第一种方法资源利用率高,但需要考虑时序和并行性(硬件语言设计的两个重要因素),这一点比较困难;第二种方法相对高效且容易一...原创 2019-05-10 15:43:00 · 20193 阅读 · 2 评论