Page 361 - 《软件学报》2025年第4期
P. 361

俞诗航 等: 神经形态计算: 从脉冲神经网络到边缘部署                                                     1767


                 减少了   180  倍 (250  倍). 可以预见的是, 生物合理性与性能的有机结合将是未来              SNN  训练算法的长久目标, 此外,
                 也可以进一步探索与权重量化、结构剪枝等压缩算法的结合, 进一步发挥                        SNN  的能效优势   [96] .

                 1.4   脉冲神经网络的拓扑
                    SNN  的拓扑结构直接反映了神经元和突触之间的连接方式. 根据训练时网络拓扑是否发生变化, 可以将                               SNN
                 的拓扑分为静态拓扑和动态拓扑. 静态拓扑中脉冲神经元数量和突触连接方式在训练时一直保持不变, 改变的只有
                 突触之间的连接权重. 常见的静态结构包括前馈网络结构和循环网络结构                       [97] . 动态拓扑中脉冲神经元数量和突触连
                 接方式在训练时会动态变化, 典型代表为进化脉冲神经网络                   (evolutionary spiking neural network, ESNN). ESNN  的
                 设计思想来源于生物学的互联进化系统, 它能够以自适应、自组织、在线连续的方式动态改变系统的结构和功能.

                 1.4.1    静态拓扑  SNN
                    在  SNN  中, 最常见的静态拓扑是前馈结构和循环结构. 前馈结构一般由卷积层和全连接层的组合构成, 没有
                 任何自连接或循环. 循环结构中, 神经元不但可以接受其他神经元的信息, 也可以接受自身的信息, 形成具有环路
                 的拓扑结构. 采用这两种静态拓扑的            SNN  分别被称作卷积脉冲神经网络           (convolutional spiking neural network,
                 CSNN) 和循环脉冲神经网络       (recurrent spiking neural network, RSNN).
                    CSNN 将卷积神经网络       (convolutional neural network, CNN) 的概念与  SNN  结合起来, 在  CSNN  中, 卷积层和
                 池化层等经典的      CNN  层次结构被重新设计为适用于脉冲信号的形式. 脉冲信号在神经元之间通过突触连接进行
                 传递, 并在神经元接收到足够数量的脉冲时触发激活. CSNN                 的结构如图    9  所示, 输入为脉冲序列, 经过多次卷积-
                 池化采样后, 最终将处理的信息交给分类器进行预测. 与                 CNN  相比, CSNN  可以更好地模拟生物神经系统的工作
                 方式, 在处理时间相关信息和事件驱动任务方面更具潜力, 同时能够提高边缘部署的能效.

                                                   卷积      池化
                                                   单元      单元

                                                                      …       …

                                          脉冲     第1层    第1层   第2层   第2层池化   分类器
                                                         池化
                                         输入层      卷积   o(t)
                                                               卷积
                                                                    (全局池化)
                                                图 9 卷积脉冲神经网络的结构

                    在循环网络中, 拓扑结构具有反馈连接, 神经元的输出以时间延迟作为输入路由返回. 因此, 输出是当前输入
                 和神经元过去状态的函数. SNN         中隐含着这种关系, 因为膜电位取决于输入和前一个时间步的电位, 如图                      10  所示,
                 等效膜电位    V (t) 充当了过去输入的记忆, 最终的神经元输出           o(t) 由输入   x(t) 与上一个膜电位  V(t −1) 共同决定.
                    RSNN  的拓扑如图    11  所示. 脉冲神经元之间的连接具有循环结构, 结合了脉冲神经元的时间编码特性和循环
                 神经网络   (recurrent neural network, RNN) 的时间依赖处理能力.

                                                                                  循环层

                           V(t−1)  时延                                              W rec
                                                                  输入层                            输出层
                                                                          W in              W out
                   x(t)   V(t)=f(V(t−1), x(t))  V(t)  o(t)=g(V(t))
                   输入         当前状态与过去状态相关             输出         N 个神经元          M 个神经元       L 个神经元
                         图 10    脉冲神经网络的隐式循环                          图 11    循环脉冲神经网络的结构
                    与  RNN  相比, RSNN  吸收了  SNN  高能效的优势, 更容易满足边缘设备的功耗要求. 然而, 传统的                RNN  存在梯
                 度消失和梯度爆炸等问题, 从而恶化整体学习              [98] , RSNN  也不例外. 尽管在过去的几年中, 已经有一些工作尝试以
                 生物似然的方式训练       RSNN  模型  [99−102] , 然而这一领域的研究非常有限, 目前, 对     RSNN  的训练仍存在不小的挑战.
                    总的来说, 静态拓扑      SNN  可以看作是传统      ANN (CNN  和  RNN) 与  SNN  的结合. 这类  SNN  既继承了传统结
   356   357   358   359   360   361   362   363   364   365   366