Advertisement

【论文阅读笔记】(1)Spiking PointNet: Spiking Neural Networks for Point Clouds

阅读量:

Dayong Ren and Zhe Ma, et al. "Spiking PointNet: SNNs for point cloud representations." Conference on Neural Information Processing Systems (NeurIPS), 2023.

本文是我用来梳理论文脉络以及便于日后回顾的一份总结性资料。其中基于个人的理解可能存在不足之处。

目录

  • 主要成就:

  • 挑战及应对策略:

    • 相关研究:
      • PointNet
      • Leaky Integrate-and-Fire (LIF)神经元
      • 长时距脉冲神经网络的优化挑战
      • 基于少量样本的学习方法
      • 电位干扰技术
    • 与其他模型的实验
      • 1.消融实验
      • 2.能源效率

主要贡献:

  1. 显示长时间步长型SNN面临诸多挑战,并开发了一种"少训练多学习"架构作为点云处理领域的首个简洁有效方案
  2. 引入膜电位扰动技术以显著提升模型泛化能力
  3. 通过实验验证了该方法的有效性。值得注意的是,所提出的Spiking PointNet展现出超越传统PointNet的优势,在神经网络领域尤其突出

困难与对策

困难1

  1. 长的时间步脉冲模型的训练障碍:时间步长的提升确实有助于提高精度,然而这也会导致梯度误差积累,在时间步数增长的过程中模型的精度可能会出现反向下降的现象
  2. PointNet与SNN结合会导致内存和计算成本显著上升:PointNet本身具有较高的内存和计算消耗,在引入时序依赖性和状态更新机制后会进一步加剧这些消耗
    对策1
    提出了"少量训练大量推理"的创新范式,在训练阶段采用较小的时间步规模,在推理预测阶段则采用较大的时间步规模

困难2
脉冲信号不可微: 这是SNN固有的本质性挑战。由于其不具备可微特性,在模仿人工神经网络(ANN)的过程中便无法直接实现类似的技术路径。这种限制也影响了反向传播的有效性。
对策2
针对因脉冲信号不具备可微性而导致的网络训练难题,在本研究中我们采用了一种替代性的梯度计算方法

相关工作

1.PointNet

PointNet是用深度学习来处理点云数据,有效的处理了两个关键的挑战:

置换不变性 也被称作置换鲁棒性特性,在神经网络架构设计中这一性质表明无论输入序列如何排列(即重新排序),其最终输出结果应保持一致;该性质表明即使在同一组输入点经过不同排列后的输出结果应一致

旋转不变性 也被称作旋转鲁棒性特性,在三维空间中任意旋转操作都不会影响该点云所代表的目标形状特征

该方法基于置换不变性采用对称函数实现目标特性提取。具体而言,在处理三维点云数据时,首先通过共享参数的全连接层将各点坐标经深度神经网络映射至高维特征空间,并生成每个样本体内的独立特征表示。接着通过最大池化操作(一种典型的对称操作)将所有点的特征进行全局聚合以获取表征信息

PointNet

给定点云数据{X₁,…,Xₙ}经过共享MLP(记为h)进行处理后,在随后的最大池化操作(记为g)下用于加强点云数据的对称性,则PointNet(记为f)可表示为上述公式形式

针对旋转不变性 ,该研究采用了空间转换网络(STN),该网络是一个特殊的神经网络结构。其能够识别所需的空间变换矩阵以提升PointNet模型处理旋转点云的能力。

2.LIF神经元

LIF属于SNN中被广泛应用的一种神经元模型,在这里我们简要介绍它的数学公式如下所示:

在这里插入图片描述

其中具体而言I代表输入电流量Vth则为达到触发动作的临界电压R与τm分别指的是细胞膜的电阻特性以及时间常数当细胞内的膜电位u达到了这一临界电压水平时神经元将触发动作电位这一过程不仅会使得细胞内的膜电位迅速上升到峰值并随后下降至静息状态还会导致细胞外液中的K+通道开放从而使细胞内的钾离子外流从而将膜电位重置至静息状态urest水平

为了可以使用现有的机器学习框架,将LIF写为以下式子:

在这里插入图片描述

其中

在这里插入图片描述

下标i代表层级结构中的第i层神经元,在这一层中与当前层神经元i相连的是上一层的第j个神经元,并赋予其相应的权重值wij,在此过程中引入一个偏置项bi作为调节因子。其中,H(x)被定义为一个阶跃函数,在时间t步时记录了神经元i所处的状态si[t]

通过替换成PointNet的LIF神经元来代替其ReLU神经元,则可以使PointNet转换成Spiking PointNet

论文中所述的LIF方程与我的认知存在差异, 我此前掌握的LIF形式如上所述

在这里插入图片描述

基于我之前的认识,在LIF神经元模型中,在每个时间步t-1时程段末期形成的膜电位会被接收并将其作为输入传递到后续一层神经元。与本论文中所描述的LIF神经元模型不同,在t-1时程段末期形成的膜电位不仅会被接收并作为输入信号传递到后续一层神经元,并且该输入信号也会被直接传递到下一个计算单元层中的相应位置以完成信息处理功能。通过下图可直观理解其区别

在这里插入图片描述

其中的差异由膜电位重置的时间点决定,在时间步开始时还是脉冲结束后完成这一过程。
两者的LIF实现形式基本一致,请参考附图对比分析。
蓝线显示本文LIF模型在时间步内的操作流程,请注意对比分析。
红线代表传统神经元模型的时间步操作流程,请重点观察两者的异同。
尽管在形式上有细微差别但我认为两者的功能表现完全相同。

3.长时间步脉冲神经网络的优化困难

脉冲神经网络反向传播中的梯度表达式如下

在这里插入图片描述

其中W_l代表从第l层到第l+1层的权重参数,L代表损失函数,因为脉冲信号的行为类似于阶梯函数的特点,在此情况下它无法实现可微性,即可表示为以下数学表达式中的内容

在这里插入图片描述

因为目标函数在该点不可微,在此情况下我们采用了替代梯度策略,并以类似于双曲正切函数的形式构建了替代梯度函数以应对这一挑战

在这里插入图片描述

其中,k是常数,这个函数以及它的梯度图像如下

在这里插入图片描述

选择合适的k值可能会影响系统的性能。具体而言,在计算反向传播过程中会产生一定的梯度偏差。当k的取值过大时,这种偏差相对较小但也可能导致反向传播过程中出现梯度消失或爆炸现象;而当k的取值过小时,则能够有效降低上述现象的发生。不过需要注意的是,在这种情况下系统仍可能会引入由与其真实差值得出的相关性所带来的新的偏差。尽管通过替代策略能够实现神经网络的训练过程,在SNN的实际应用中仍然面临缺乏理想替代函数的问题。

4.少训练多学习的网络

如前所述,除了文中提到的优化难点之外,因为在对点云进行SNN训练时会消耗巨大的能源与内存资源,导致现有技术难以有效训练适用于长时步处理的点云专用SNN.本文提出了一种少训练多学习型网络架构,并以此为基础在ModelNet40数据集上进行了实验以验证该方法的有效性

在这里插入图片描述

第一行对应的时间步长为1;第二行对应的时间步长为4;从左至右排列;每一列对应的梯度替代函数参数k分别为0.5、5和20

  1. 对于k值,可以看出,如a、d所示,k值小,图像相对平滑,表示梯度误差很大,而当k很大,如c、f,梯度消失和爆炸问题很严重,所以k值的选取不能和太大或太小,本文k=5
  2. 对于时间步长,如a、d所示,时间步长增大,梯度会更平滑,表面误差会更大。对于b、e可以看出,时间步长增加,梯度消失和爆炸问题更严重

因此提出了一种少训练多学习的范式,并通过一系列精心设计的实验对这种范式的有效性进行了验证。

在这里插入图片描述

实验结果表明:

  1. 当训练步骤数较小时,在测试集上的表现会更优异。
  2. 当测试集的时间步长增大时,在最终指标上的表现会更优异。

证明了少训练多学习这个范式是正确且有用的

对于少训练多学习这一概念的理解是这样的:长时间窗能够让模型更加关注全局特征(相较于短时间窗侧重于局部特征)。理论上应有助于提升模型精度;然而由于时间窗长度增加这一变化反而会导致反向传播路径变得更为冗长;因此可能会引起在训练过程中积累的梯度误差显著增大;最终反而会导致整体模型性能出现下降;基于此建议在实际应用中将较短的时间窗应用于训练阶段;而在预测或测试阶段则采用较长的时间窗以获取更多的信息而不引入额外的误差。

5.膜电位扰动法

在预测环节中进行调整时会带来更优的表现;然而,在捕捉序列数据时空特征方面具有显著优势的是基于长时记忆机制的设计;然而由于点云作为静态数据不具备时间信息这一特点,在捕捉这类信息方面存在局限性;因此推测Spiking PointNet性能提升的原因在于其构建了一种集成式的计算架构。

具体而言,在每一个时间步结束时

为了验证猜想,用时间步长为4的网络进行实验,结果如下

在这里插入图片描述

通过实验数据可以看出,在整体性能上, 集体策略明显优于单独采用较小区间时间步长的方法. 这表明, 在提高性能方面, 集成学习的效果更为显著, 而这些改进并非单纯由增加时间步长带来的.

在一种称为长时间步长脉冲神经网络的体系结构中,每一个单独的时间段都被视为一个独立的学习器,在最终预测结果形成的过程中发挥着投票的作用。通过这种集成策略,整体系统的鲁棒性和泛化性能得到了显著增强。

经过上述说明,在静止的点云数据中,并未传递时间信息而是作为能够增强泛化能力的一种扰动因素存在。进而提出了 膜电位扰动法

Membrane potential perturbation technique: At the beginning of each training epoch, random membrane potential perturbations are added to initialize the Spiking PointNet, akin to models trained with multi-time-step approaches. As demonstrated by models trained with multi-time-step approaches, single-time-step models exhibit enhanced generalization capabilities.

在这里插入图片描述

实验结果表明:

  1. 在预测过程中,随着时间步长逐步增大而导致的准确性提高。
  2. 有膜电位干扰的情况下,在准确性方面表现明显优于未受干扰情况下的结果,并由此可证明该方法的有效性。

与其他模型的实验

1.消融实验

在这里插入图片描述

从实验结果可知:

  1. 在训练阶段中使用单一的时间步长比使用多个时间步长的效果更佳。
  2. 在预测阶段增加时间步长会导致准确率提高。
  3. 采用膜电位扰动(MMP)的方法相比无膜电位扰动(无MMP)的表现更为优异。
  4. 在某些情况下Spiking PointNet的性能相仿甚至超越了传统PointNet。

2.能源效率

在这里插入图片描述

SNN中的加法数量超过了ANN中的相关部分;同时,在乘法运算方面SNN的表现相对 weaker于ANN。从能耗数据可以看出,Spiking Point的能量消耗低于PointNet,在预测时间步为1时仅消耗约15倍的能量(相较于PointNet)。即使时间步扩展至4并增加计算负担,Spiking Point仍能实现耗能减少约4倍的效果。

全部评论 (0)

还没有任何评论哟~