脉冲神经网络原理及应用,脉冲神经网络编码方式

在科学研究中,我们应该从方法论的角度“只见树木”。当前,人工智能学术研究蓬勃发展,科技飞速发展,万树竞荣,可以说世界每天都在发生变化。对于人工智能从业者来说,只有系统地组织浩瀚的知识森林的脉络,才能更好地理解趋势。为此,我们将开设“评论专栏”,精心挑选来自日本和海外的优秀评论文章,敬请期待。

上一篇:人工智能前沿学生论坛

作者:CSDN—Yannan_Strath 地址:https://blog.csdn.net/Yannan_Strath01

尖峰神经网络简介

传统的神经网络包括各种现有的以感知器为基本单元的拓扑,例如卷积神经网络系列(CNN)、循环神经网络系列(RNN)、生成对抗网络(GAN)和自动编码器(autoencoders)。由于反向传播算法的存在以及各种数学优化器的发展,第二代神经网络在各种任务中都具有良好的性能。

尖峰神经网络(SNN)被认为是继现有的基于MLP 的第二代神经网络(ANN)之后发展起来的第三代神经网络。尽管传统的神经网络在多种任务中取得了优异的效果,但其原理和操作与实际人脑的信息处理过程仍然相距甚远。主要区别可归纳如下:

1.传统的神经网络算法仍然基于使用高精度浮点数的运算,但人脑并不使用浮点数进行运算。在人类传感系统和大脑中,信息以有源电压或电尖峰的形式传输、接收和处理。 2.虽然ANN的训练过程严重依赖反向传播算法(梯度下降),但科学家从未在实际的人脑学习过程中观察到这种类型的学习。此外,人脑的记忆和学习依赖于突触后细胞受到刺激后产生的突触可塑性。有关更多信息,请参阅赫布学习3。人工神经网络通常需要大量标记数据集来执行网络拟合。这与我们正常经理的工作不同。在许多情况下,我们的感知和学习过程不受监控。此外,人脑通常不需要那么多重复的数据来学习同样的东西。

总而言之,SNN 的诞生是为了让神经网络更接近人脑。发现它的灵感来自于生物大脑处理信息的方式:尖峰。读完本文,你应该明白了,SNN并不是像CNN或RNN那样的网络结构,而是一种更类似于人脑的新型神经网络算法的总称。

02

SNN 和ANN 之间的区别

那么SNN和传统方法有什么区别呢?

1.信息媒介首先,最基本的区别是SNN和ANN的信息媒介不同。 ANN使用高精度浮点数,而SNN使用尖峰,或者可以理解为1和0,这大大增加了网络中信息的稀疏性。这些尖峰在网络内具有相同的幅度和持续时间。

图1 左:传统神经网络结构。右:SNN结构

那么,SNN 中如何使用尖峰来表达信息呢?这需要脉冲编码的知识。我将在这里简要介绍它们,但稍后我将更详细地解释它们。 SNN中非常重要的一点是时间处理格式的引入。信息被编码在尖峰序列的时间序列中。例如,具有较高频率的脉冲序列可以表示较高的值,并且具有较低频率的脉冲可以表示较低的值。又如:在固定的时间窗口内,单个脉冲出现的位置也可以代表相应的值/信息。

2. 神经元

图2 左:传统神经元。右:尖峰神经元

由于传递信息的手段不同,神经网络的基本单元神经元也必然不同。熟悉人工神经网络的学生会知道,基本的神经元感知器是一个简单的加法和乘法运算符,用于对输入到神经元的值进行积分,然后是非线性激活函数。然而,这种对精确值的运算并不适合处理二进制脉冲。在SNN中,基本计算单元是尖峰神经元,它建立在生物突触结构上。想象有两个尖峰神经元,其中一个是作为尖峰发送者的突触前神经元,另一个是作为尖峰接收者的突触后神经元。尖峰神经元的处理过程是接收突触传来的脉冲,并通过其尖峰功能,根据突触权重产生突触后膜电位(突触后电位(PSP))。

图2. 尖峰神经元示例。 PSP 代表突触后电位。

那么什么是PSP呢?简单解释一下,就是神经元膜电压的变化。例如,图3 显示了神经元收到尖峰后膜电压u(t) 随时间t 的变化。在生物学中,这种电脉冲的幅度和时间常数都在一定的范围内。例如,在图3 中,在接收脉冲输入之前膜电压保持在-70mV。该值通常称为静息值。价值)。当受到刺激时,会发生电压变化幅度。当变化结束时,膜电压返回到其原始静止值。在现实生活中我们如何产生这个波形呢?科学家们对生物神经元进行了实验分析后,给出了很多神经元的微分方程模型:

示例:IF 神经元(整合和激发)

事实证明,这个方程是电容定律Q=CV 的时间导数。当施加输入电流时,膜电压随时间增加,直到达到某个阈值Vth。此时,Delta 函数中会出现尖峰,电压会重置为静息电位,之后模型会继续运行。

除了Hodgkin-Huxley模型外,还有LIF模型、SRM模型等。不过神经元模型在SNN中的作用主要是作为脉冲序列的处理单元,个人认为实际的SNN应用过程中并不需要对膜要求非常高。实现接近实际生物体的电压波形。

图3 由单个尖峰引起的膜电压变化。

那么,当突触后神经元从多个通道接收脉冲序列输入时,膜电压会发生什么变化,如图4 所示?

图4 单个尖峰神经元接收多个尖峰输入。

图5 膜电压变化的模拟。

如图5所示。突触后神经元首先根据接收到的时间对脉冲进行积分,并将其转换为膜电压变化的叠加。当膜电压超过预设阈值时(

\\vartheta),突触后神经元被认为已收到足够的刺激以发送尖峰。发送脉冲后,膜电压重置,突触后神经元在一段时间内无法处理接收到的脉冲,称为神经元不应期。一旦不应期结束,膜电压就会恢复到其静止值,并为下一个脉冲做好准备。这就是尖峰神经元完整的尖峰生成过程。

3.学习方法和使用方法传统的ANN主要依赖于基于梯度下降的反向传播算法。然而,在SNN中,尖峰神经元的函数通常是不可微的差分方程,因此在SNN中实现反向传播非常困难。那么我们如何训练SNN 呢?在实际应用中,主要有三种实现SNN 的方法。我将简要解释如何执行此操作。

1. 将传统ANN转换为SNN

既然SNN无法使用BP进行训练,那么是否可以将传统的神经网络训练转换为SNN?答案是肯定的。这种方法的优点是不需要考虑SNN性质,但训练好的网络必须完全转变为在输入、操作、输出点处使用二值尖峰作为处理载体的网络。在输入端,输入信号被编码为脉冲序列。我们需要用相应的尖峰神经元替换每个神经元,并且需要量化从训练中获得的权重。

2.反向传播

啊,作者。我们说过SNN 的尖峰函数不能反向传播,对吧?那么为什么我们在这里说“没关系”呢?没错,你不能通过直接微分尖峰神经元的尖峰函数来计算梯度。然而,研究人员提出了许多巧妙的方法来估计网络中变化参数的梯度并执行反向传播。尽管此类算法仍然存在争议,但它们在一定程度上降低了训练SNN 的复杂性。此类算法包括spikeprop、Slayer等。

3. 突触可塑性

与前两种方法相比,这更像是生物学习。研究人员利用生物学原理将尖峰时间依赖性可塑性引入SNN 训练中。不过,这种训练方法虽然新颖,但训练过程却非常繁琐,考验设计者对神经科学和神经网络的理解,因此有必要介绍和使用,这个我会继续写博客。

03

人工神经网络与SNN

综上所述,SNN 仍在快速发展,其优势在于其在移动设备应用方面的潜力比ANN 更大。这主要归功于可以与新的神经形态芯片相结合的处理方法,以实现高速、低功耗、大规模的网络操作。

我所写的一切都是我个人的理解,如有错误,请指出并指正。我们期待与您一起探索和学习新兴领域。

本文的目的是学术交流。本公众号不同意其观点,也不对其内容的可靠性承担责任。如有侵权,请联系我们。擦除。

本文来自网络,不代表服装搭配_服装搭配的技巧_衣服的穿配法_服装搭配网立场,转载请注明出处:https://www.fzdapei.com/304611.html
上一篇
下一篇

为您推荐

返回顶部