类脑运算--脉冲神经网络(Spiking Neural Network)叙述

本文深入探讨了Spiking Neural Network (SNN)与传统Artificial Neural Network (ANN)之间的核心区别,包括信息载体、神经元工作原理及学习方法的不同。SNN作为一种更接近人脑信息处理方式的神经网络模型,其在移动设备应用方面展现出巨大潜力。

Spiking Neural Network简述(一)

传统神经网络包括现存的各种以perceptron为基本单元的拓扑变种, 比如卷积神经网络系列(CNNs), 循环神经网络系列(RNNs), 生成对抗网络(GANs), 自编码器(Autoencoders) 等等。 因为反向传播算法的存在和各类数学优化器的发展, 使得第二代神经网络在各项任务上有着出色的表现。

Spiking Neural Network(SNN) 被公认为继现有的MLP为基础的第二代神经网络(ANN)之后发展的第三代神经网络。虽然传统神经网络已然在各项任务上取得了优异的成绩, 但它们的原理和运算过程仍然和真正的人脑信息处理过程依然相差甚远。主要的差异可以总结为以下几点:

1. 传统神经网络算法仍然依据于使用高精度的浮点数进行运算, 然而人脑并不会使用浮点数进行运算。 在人的传感系统和大脑中, 信息会以动作电压或称之为电脉冲(electric spike)的形式传递,接受,和处理。
2. ANN的训练过程对反向传播算法(梯度下降)的依赖程度非常之高, 然而在真实的人脑学习过程中,科学家们还没有观察到这种学习类型。 更多的, 人脑的记忆和学习依赖于突触后细胞受到刺激后所产生的突触可塑性。 详见: Hebbian learning
3. ANN通常需要大量的标签数据集来驱动网络的拟合。 这与我们平时经理的有所不同。 我们在很多情况下的感知和学习过程都是非监督式的。并且, 人脑通常不需要如此大量反复的数据来学习同一件事情。

综上所述, 为了使神经网络更加接近于人脑, SNN随而诞生了。发现它的灵感,就来自于生物大脑处理信息的方式—spikes。 读到这里,就应该已经明白SNN并不是一个像CNN,RNN这样的网络结构, 而是一个新型的,更加接近人脑的一种神经网络算法的统称

SNN和ANN的区别

那么, SNN和传统方法的区别在哪里呢?

1,信息载体(information carrier)

首先, 最基本的区别是SNN和ANN的信息载体不一样。 ANN 使用的是高精度浮点数而SNN使用的是spikes 或可以理解为1和0,这就大大增加了信息在网络中的稀疏性。这些spike在网络中有相同的幅度和duration.
图1, 脉冲神经网络
图1左:传统神经网络结构。 右:SNN结构

那么,在SNN中, 信息是如何用spike来表达的呢? 这就涉及到脉冲编码的知识了。这里做简单介绍,之后我会再详细解释它。 在SNN中, 很重要的一点是引入了时序(temporal)相关的处理形式。 信息是被编码在脉冲序列的时间序列(spike train)中的。 例如: 高频率的一组脉冲序列可以代表一个较高的值而低频率的脉冲则代表低值。又例如: 在一个固定的时间窗中, 单个脉冲出现的位置也可以代表相应的值/信息。

2,神经元

在这里插入图片描述
图2左:传统神经元。 右:spiking neuron

既然信息的载体不一样, 那么神经网络中的基本单元–神经元肯定也是不一样的。 对ANN有了解的同学们都知道, 基本神经元perceptron 是一个简单的 加乘运算器用来整合输入该神经元的值 而后接着一个非线性的激活方程(Non-linear activat

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值