跳到主要内容
起居室老虎
返回

Sparse Spiking Neural Network: Exploiting Heterogeneity in Timescales for Pruning Recurrent SNN

2,440 字约 9 分钟

原文:arXiv:2403.03409 · Chakraborty et al., ICLR 2024

摘要: 递归脉冲神经网络(RSNN)是一种计算高效、受大脑启发的学习模型。打造拥有更少神经元与突触的稀疏 RSNN,可显著降低其计算复杂度。传统做法通常先为某项任务训练一个稠密且复杂的 SNN,然后在保持任务性能的前提下,按 “神经元活动度” 剪枝(基于活动度的剪枝)以获得稀疏模型。与此不同,本文提出一种与任务无关的方法:直接从随机初始化的大模型中剪枝来设计稀疏 RSNN。我们提出新颖的 Lyapunov Noise Pruning(LNP) 算法,它结合图稀疏化技术与李雅普诺夫指数,从随机初始化的 RSNN 中构建稳定的稀疏 RSNN。我们证明 LNP 可以利用神经元时间尺度多样性,设计出稀疏的异质 RSNN(HRSNN);同一个稀疏 HRSNN 还能被训练用于图像分类、时间序列预测等多种任务。实验结果表明,即便不依赖任务信息,LNP 仍能比传统 “训练 - 剪枝” 流程取得更高的计算效率(更少神经元与突触)与预测性能。

1. Intro

image.png

2. Preliminaries and Definitions

Lyapunov Noise Pruning Method:

image.png

3. Methods

3.1. Lyapunov Noise Pruning Method

本研究提出了一种在无监督 模型中结合谱图剪枝与 Lyapunov 指数的剪枝算法。我们先计算 Lyapunov 矩阵,并通过优化其比值和速率以处理极端数据并覆盖全部观测值。剪枝后,删除 介数中心性 (betweenness centrality)最低的节点以提升网络效率;随后在去局域化阶段 (delocalization phase)添加若干新边,以保持网络稳定性与完整性。该方法在结构完整性与计算效率之间实现了平衡,为网络优化提供了新途径。

Step I: Noise-Pruning of Synapses:

将原 RSNN 记作一个图G(V,E)G(V,E),对于连接节点zz的每条边eije_{ij},记N(z)N(z)为节点z={i.j}z=\{i. j\}的邻居合集,Lyapunov 指数记作Λ(N(z))\Lambda(N(z))。Lyapunov 矩阵LL中LijL_{ij}定义为z={i,j}z=\{i, j\}的邻居的 Lyapunov 指数的调和平均数:

Lij=n⋅|Λ(N(i))∪Λ(N(j))|∑λ∈Λ(N(i))∪Λ(N(j))1λL_{ij}=\frac{n\cdot|\Lambda(N(i))\cup\Lambda(N(j))|}{\sum_{\lambda\in\Lambda(N(i))\cup\Lambda(N(j))}\frac{1}{\lambda}}

该矩阵综合了邻居节点对每条边的影响,用以评估网络的稳定性和动力学行为。

网络的行为可以线性化为:

x˙=−Dx+Lx+b(t)=Ax+b(t)\dot{x}=-Dx+Lx+b(t)=Ax+b(t)

目标是得到稀疏网络AsparseA_\text{sparse},在保留与原网络相似动力学的同时显著减少连接:

x˙=Asparsex+b(t)s.t.|x⊤(Asparse−A)x|≤ϵ|x⊤Ax|,∀x∈RN\dot{x}=A_\text{sparse}x+b(t)\quad s.t. |x^\top(A_\text{sparse}-A)x|\le \epsilon|x^\top Ax|, \forall x\in R^N

上式中,所有的节点受独立噪声驱动,可以:b(t)=b+σξ(t)b(t)=b+\sigma\xi(t),ξ(t)\xi(t)是独立同分布的高斯噪声,σ\sigma是标准差,设Σ\Sigma是 Spiking Rate 的协方差矩阵,根据权重定义神经元i,ji, j之间权重的保留概率为:

pij={ρlij(Σii+Σjj−2Σij)wij>0ρlij(Σii+Σjj+2Σij)wij<0p_{ij}=\begin{cases} \rho l_{ij}(\Sigma_{ii}+\Sigma_{jj}-2\Sigma{ij})\quad w_{ij}>0\\ \rho l_{ij}(\Sigma_{ii}+\Sigma_{jj}+2\Sigma{ij})\quad w_{ij}<0 \end{cases}

其中lijl_{ij}为对应的 Lyapnov 指数,ρ\rho控制稀疏度。以pijp_{ij}独立保留每条边,得到:

Asparseij={Aijpij0A_{\text{sparse}_{ij}}=\begin{cases} \frac{A_{ij}}{p_{ij}}\\ 0 \end{cases}

AsparseiiA_{\text{sparse}_{ii}}表示了漏电权重或者兴奋性,可以:

  1. 保留原值,或者
  2. 引入一个微扰Δi\Delta_i,即:
Δi=∑j≠i|Asparseij−∑j≠i|Aij|,Asparseii=Aii−Δi\Delta_i=\sum_{j\ne i}|A_{\text{sparse}_{ij}}-\sum_{j\ne i}|A_{ij}|,\quad A_{\text{sparse}_ii}=A_{ii}-\Delta_i

Step II: Node Pruning based on Betweenness Centrality

使用CbC_b” betweenness centrality“衡量一个 node 对网络信息流的控制能力。计算每个 node 的CbC_b然后根据 threshold 剪枝。

Step III: Delocalizing Eigenvoctors

剪枝可能导致特征向量局域化并损害长时预测。在做完上面的 pruning 得到G′=(V,E′)G'=(V, E')之后,添加额外的边集E′′E'',从而最大化整个图的度分布方差(异质性),并保证|E′∪E′′|≤L|E'\cup E''|\le L:

H=1|V|∑v∈V(d(v)−d‾)2,maxE′′⁡H,s.t.|E′′|=m,E′′∩E′=∅,E′′⊆⋃vi∈VN(vi)×viH=\frac{1}{|V|}\sum_{v\in V}(d(v)-\bar{d})^2,\quad \max_{E''} H,\quad s.t. |E''|=m, E''\cap E'=\empty, E''\sube \bigcup_{v_i\in V}N(v_i)\times{v_i}

此优化确保在既定稀疏度下维持结构完整性与特征向量的非局域化,从而提升长期预测性能。

Step IV: Neuronal Timescale Optimization

剪枝后的脉冲式 SNN(RSNN)动力学更加复杂且易不稳定。参考 Vogt 等 (2020),我们将 Lyapunov 谱 用作稳定性指标,在 贝叶斯优化 框架下调节神经时间常数,既保持网络功能又抑制由剪枝带来的不稳定风险。

4. Experiments and Results

4.1. Experimental Setup

image.png

通过剪枝算法得到稀疏网络。每执行一次剪枝,就会产生一个新的稀疏网络;我们共进行 100 次剪枝迭代。在每次迭代后,我们统计得到的 “Sparse HRSNN” 的神经元与突触分布,用来跟踪模型复杂度随剪枝的下降情况。

Evolution of Complexity of Sparse Models during Pruning

image.png

随机初始化网络方差更大、波动更多,说明在缺乏微调时模型不稳定;并且随着模型规模缩小,性能持续下降,提示 小模型更依赖合理的拓扑。对比之下,AP 模型最终的突触与神经元分布方差都高于 LNP,进一步说明 LNP 的稳定性。

image.png

Energy 计算方法:E=CE×Total SOPsE=C_E\times \text{Total SOPs}

Ablation studies

image.png

5. Conclusion

本研究提出了 Lyapunov 噪声剪枝(LNP)—— 一种全新的、与任务无关的稀疏递归脉冲神经网络(RSNN)设计方法,重点在于在 计算效率 与 最优性能 之间取得平衡。与现有方法不同,LNP 以随机、密集初始化的 RSNN 为起点,利用 Lyapunov 谱 与 谱图稀疏化 技术在保持网络稳定性的同时进行剪枝。实验结果表明,LNP 优于传统的基于激活剪枝:在减少神经元与突触数量、降低计算复杂度的同时,仍在多个合成与真实数据集上保持更高的准确率与预测有效性。其任务无关的特点使模型具有 普适性与鲁棒性,无需大量针对特定任务的调参,即可保留关键网络参数并优化模型结构——这一点在计算资源受限的环境中尤为重要。此外,LNP 训练得到的模型位于 更平坦的损失极小值,对应更稳定、鲁棒的解,从而提升了学习到的动态行为的稳定性。总之,LNP 在神经网络设计方面实现了重要突破,能够提供 更高效、稳定且多用途 的模型,适用于多样化应用,并为神经网络领域的未来创新奠定了基础。

Appendix

A.1. Computation of Lyapunov Expenents

我们采用经典算法 ,并遵循 [48, 55] 中的实现方式来计算 Lyapunov 指数(LE)。针对某一具体任务,每个批次的输入序列都从同一分布、固定长度的验证集序列中随机抽取。对批次中的每条输入序列,都先将矩阵 Q 初始化为单位矩阵,用来表示一组正交的邻近初始状态;隐藏状态 hth_t 初始化为零。

在 step tt,计算JtJ_t并且应用到QQ,雅可比矩阵JtJ_t定义为:

[Jt]ij=∂htj∂ht−1i[J_t]_{ij}=\frac{\partial h_t^j}{\partial h_{t-1}^i}

除了隐藏状态hth_t之外还取决于输入。从而描述网络对外部刺激的动力学响应。通过对JtQtJ_tQ_t做 QR 分解得到新的Qt+1Q_{t+1}和上三角矩阵Rt+1R_{t+1},从而提取新的扩张因子:若rtkr^k_t是第kk个向量在tt时刻的扩张因子(RtR_t的第kk个对角元),则对于长度为TT的输入序列,有:

λk=1T∑t=1T\lambda_k=\frac{1}{T}\sum^T_{t=1}

一个 Batch 中每个都计算 Lyapunov 谱然后取平均,对较短的做插值和较大的保留一致。

离散视角下:

hi(t+Δt)=(1−Δt)hi(t)+Δt∑jJijφ(hj(t))h_i(t+\Delta t)=(1-\Delta t)h_i(t)+\Delta t\sum_jJ_{ij}\varphi(h_j(t))

Jacobian:

Dij(ts)=∂fi∂hj|t=ts=(1−Δt)δij+Δt⋅Jijϕ′(hj(ts))D_{ij}(t_s)=\frac{\partial f_i}{\partial h_j}|_{t=t_s}=(1-\Delta t)\delta_{ij}+\Delta t\cdot J_{ij}\phi'(h_j(t_s))

QR - 基算法原理

  1. 邻域正交向量集:单位矩阵 Q₀ 提供 n 条彼此垂直的微扰方向。

  2. 线性化演化:每一步用雅可比 Jₜ 逼近局部线性变化,更新扰动 Jₜ Qₜ。

  3. 正交化:若直接累乘会数值崩溃;Gram-Schmidt(QR)在每步重新正交并分离尺度:

    JtQt=Qt+1Rt+1J_tQ_t=Q_{t+1}R_{t+1}\\

其中对角元rtkr^k_t记录第 k 向量的放大率。

  1. 时间平均:取 log⁡rtk\log r^k_t 并累平均即得 λk\lambda_k。长序列保证渐近稳定。

A.2. Linearization Around Critical Points

描述的是 Methods 部分中的重复内容?

为什么先线性化再剪枝?

  1. 可判定稳定域:若 A\mathbf AA 在单位圆/左半平面内 → 稳定。剪任何边前先看会否让谱穿出稳定域。
  2. 可计算重要度:𝐋\mathbf L 把 Lyapunov 指数映射到边;协方差 Σ\Sigma 把输入驱动映射到节点关系。二者合成 pijp_{ij},即 “删了这条边,扰动能量会放大多少”。
  3. 剪后易校正:稀疏化引入误差 𝐀sparse−𝐀\mathbf A_{\text{sparse}}-\mathbf A。因误差已在二次型上受控,后续再通过 步骤 III 补边 与 步骤 IV 时间尺度调优 就能恢复性能。

Sparse Spiking Neural Network: Exploiting Heterogeneity in Timescales for Pruning Recurrent SNN