基于低秩进化策略的脉冲神经网络无梯度训练

arXiv cs.AI 论文

摘要

介绍了一种名为 Eggroll 的低秩进化策略,用于脉冲神经网络的无梯度训练,在 N-MNIST 上减少内存和时间开销,同时达到有竞争力的准确率。

arXiv:2605.30361v1 公告类型:交叉\n摘要:脉冲神经网络(SNN)在神经形态硬件上具有引人注目的能效,但其训练仍然具有挑战性,因为离散的脉冲阈值是不可微的。替代梯度方法通过近似导数来规避这一问题,但它们需要反向传播基础设施,这与片上学习不兼容。进化策略(\\es)是一种自然的无梯度替代方法,但其计算成本随参数数量线性增长,因此不适用于大型权重矩阵。\n我们提出了一种使用 EGGROLL 训练 SNN 的方法,这是一种低秩分解的 ES 扰动,将每代内存从 $\\mathcal{O}(mn)$ 减少到 $\\mathcal{O}(r(m{+}n))$。将 EGGROLL 与 N-MNIST 上的泄漏整合发放 SNN 结合,我们证明无梯度训练实现了 79.21% 的测试准确率,同时与全秩 ES 相比,每代挂钟时间减少了 2.23$\\times$。我们的结果表明 EGGROLL 对于 SNN 训练是可行的,具有明确的准确率-速度权衡,并且无需替代梯度即可与神经形态硬件上的训练兼容。
查看原文
查看缓存全文

缓存时间: 2026/06/01 09:28

# 基于低秩进化策略的脉冲神经网络无梯度训练
来源:https://arxiv.org/html/2605.30361
Sachit Ramesha GowdaShunya Research sachit@shunyaresearch\.systems

###### 摘要

脉冲神经网络(SNN)在神经形态硬件上展现出卓越的能效,但其训练仍然具有挑战性,因为离散的脉冲阈值是不可微的。替代梯度方法通过近似导数来规避这一问题,但它们依赖于反向传播基础设施,这与片上学习不兼容。进化策略(ES)是一种自然的无梯度替代方案,但其计算成本随参数数量增长,使得大型权重矩阵难以实用。

我们提出一种使用Eggroll训练SNN的方法,这是一种ES扰动的低秩分解方法,可将每代内存从O(mn)\mathcal{O}(mn)降低至O(r(m+n))\mathcal{O}(r(m+n))。通过将Eggroll与N-MNIST上的泄漏整合与发放(LIF)SNN相结合,我们证明无梯度训练可达到79.21%的测试准确率,同时每代墙上时间相比全秩ES降低2.23倍。我们的结果表明EGGROLL对于SNN训练是可行的,具有清晰的准确率-速度权衡,并且无需替代梯度即可在神经形态硬件上进行训练。

## 1 引言

能效是当代人工智能研究的核心关注点。大量研究聚焦于降低AI架构的能耗。英特尔的Loihi(Davies等人,2018 (https://arxiv.org/html/2605.30361#bib.bib6))向我们展示了SNN在真实硬件上可能成为一种解决方案。当前AI领域的主导范式是Transformer架构(Vaswani等人,2017 (https://arxiv.org/html/2605.30361#bib.bib2))。Transformer在GPU上训练,训练过程消耗数百瓦功率。虽然基于Transformer的人工神经网络表现出色,但它们消耗大量能量。相比之下,人脑极为高效,仅需20瓦。SNN试图捕捉这种效率:神经元随时间整合输入,仅在膜电位阈值被超过时发放,从而在专用神经形态芯片(如英特尔Loihi(Davies等人,2018 (https://arxiv.org/html/2605.30361#bib.bib6))和IBM TrueNorth(Merolla等人,2014 (https://arxiv.org/html/2605.30361#bib.bib7)))上实现稀疏、事件驱动的计算。

#### 训练问题。

尽管SNN在推理时效率很高,但训练它们仍然相当困难。脉冲生成函数(Heaviside阶跃函数)几乎处处梯度为零。这使得标准反向传播无法进行,因为它需要计算梯度。常见的解决方案是使用替代梯度(Neftci等人,2019 (https://arxiv.org/html/2605.30361#bib.bib5))。替代梯度的工作原理是将函数的真实梯度替换为可微分的近似值。这使得反向传播能够在原本不可能的地方进行下去。然而,替代梯度仍然需要自动求导基础设施,这与神经形态硬件上的片上学习不兼容。

#### 进化策略。

ES(Salimans等人,2017 (https://arxiv.org/html/2605.30361#bib.bib4))是一组大致受生物启发的训练方法,作为反向传播的替代方案,不需要计算梯度。在ES中,权重向量被随机扰动,然后对这些扰动进行适应度评估。然而,这些方法计算成本极高,对于维度为m×n和种群大小为P的权重矩阵,每代内存开销为O(Pmn),这使得它们很难扩展到更大的网络。

#### 我们的贡献。

我们将Eggroll(Sarkar等人,2025 (https://arxiv.org/html/2605.30361#bib.bib1))——它将每个全秩扰动替换为一个低秩乘积AB⊤\mathbf{AB}^{\top},其中A∈Rm×r\mathbf{A}\in\mathbb{R}^{m\times r},B∈Rn×r\mathbf{B}\in\mathbb{R}^{n\times r}——集成到SNN训练循环中。这将在保持无梯度特性的同时,将每代成本降低至O(r(m+n))\mathcal{O}(r(m+n))。

具体来说,我们的贡献是:

1. 1.我们表征了EGGROLL在不可微脉冲函数上的行为,将Eggroll与SNN结合,实现了无需替代近似的无梯度训练(第3节 (https://arxiv.org/html/2605.30361#S3))。
2. 2.一项秩消融实验表明,随着rr降低,准确率保持相对稳定,存在清晰的效率-准确率帕累托前沿(第4节 (https://arxiv.org/html/2605.30361#S4))。
3. 3.在N-MNIST上与原始ES和替代梯度BPTT的比较。N-MNIST是一个原生神经形态数据集,不使用率编码近似,这使得评估比在静态MNIST数据集上进行的评估更具原则性(第4节 (https://arxiv.org/html/2605.30361#S4))。

## 2 背景

### 2.1 N-MNIST数据集

N-MNIST数据集(Orchard等人,2015 (https://arxiv.org/html/2605.30361#bib.bib3))或神经形态MNIST是流行MNIST数据集的脉冲版本,包含手写数字的静态图像。它包含与原始MNIST数据集相同的60,000个训练样本和10,000个测试样本。它是通过将ATIS传感器安装在电动云台上,并在LCD显示器上显示MNIST图像时移动云台而创建的。传感器输出具有两种极性的异步事件:ON事件(较高亮度)和OFF事件(较低亮度)。这比常规MNIST数据集更适合SNN,因为数据已经是脉冲序列,因此不需要率编码近似。因此,SNN处理实际的传感器输出而不是替代编码。

### 2.2 脉冲神经网络与LIF模型

我们将每个神经元建模为泄漏整合与发放单元。在每个离散时刻tt,膜电位VtV_{t}演化如下:

Vt=αVt−1+w⊤st−1,V_{t}=\alpha V_{t-1}+\mathbf{w}^{\top}\mathbf{s}_{t-1}, (1) 其中α∈(0,1)\alpha\in(0,1)是膜衰减常数(泄漏因子),w\mathbf{w}是突触权重向量,st−1\mathbf{s}_{t-1}是来自前一层的二元脉冲向量。当Vt≥VthV_{t}\geq V_{\text{th}}时发放一个脉冲,之后VtV_{t}重置为Vreset=0V_{\text{reset}}=0。网络输出是TT个时间步内的脉冲计数(发放率)。

### 2.3 替代梯度训练

由于脉冲函数Θ(V−Vth)\Theta(V-V_{\text{th}})是Heaviside阶跃函数,其真实梯度几乎处处为零。替代梯度方法(Neftci等人,2019 (https://arxiv.org/html/2605.30361#bib.bib5))仅在反向传播过程中用一个光滑的代理Θ^′\hat{\Theta}^{\prime}(通常是快速sigmoid)替换真实梯度,而保持前向传播不变。这恢复了梯度流,但代价是引入了近似偏差并且需要完整的通过时间的反向传播(BPTT)。实现该方法需要自动求导,如前所述,这与片上学习不兼容,使其不适用于神经形态硬件。

### 2.4 OpenAI进化策略

Salimans等人(2017 (https://arxiv.org/html/2605.30361#bib.bib4))提出估计期望适应度J(θ)J(\boldsymbol{\theta})的梯度为:

∇θJ≈12Pσ∑i=1P[F(θ+σεi)−F(θ−σεi)]εi,\nabla_{\boldsymbol{\theta}}J\approx\frac{1}{2P\sigma}\sum_{i=1}^{P}\bigl[F(\boldsymbol{\theta}+\sigma\boldsymbol{\varepsilon}_{i})-F(\boldsymbol{\theta}-\sigma\boldsymbol{\varepsilon}_{i})\bigr]\boldsymbol{\varepsilon}_{i}, (2) 其中εi∼N(0,I)\boldsymbol{\varepsilon}_{i}\sim\mathcal{N}(\mathbf{0},\mathbf{I}),PP是种群大小,σ\sigma是扰动尺度。对偶(镜像)采样在不增加采样预算的情况下降低了方差。该估计值被传递给Adam(Kingma and Ba, 2014 (https://arxiv.org/html/2605.30361#bib.bib13)),如同它是真实梯度一样。ES的最大问题是其内存成本为O(Pmn)\mathcal{O}(Pmn),这使得它在大模型上很慢。

### 2.5 EGGROLL:低秩进化策略

Sarkar等人(2025 (https://arxiv.org/html/2605.30361#bib.bib1))观察到采样一个完整扰动矩阵E∈Rm×n\mathbf{E}\in\mathbb{R}^{m\times n}是浪费的:对于种群大小PP,扰动张量需要O(Pmn)\mathcal{O}(Pmn)内存。Eggroll改为抽取:

Ei=1rAiBi⊤,Ai∈Rm×r,Bi∈Rn×r,\mathbf{E}_{i}=\frac{1}{\sqrt{r}}\mathbf{A}_{i}\mathbf{B}_{i}^{\top},\qquad\mathbf{A}_{i}\in\mathbb{R}^{m\times r},\;\mathbf{B}_{i}\in\mathbb{R}^{n\times r}, (3) 用r\sqrt{r}进行归一化,使得每个条目无论秩如何都具有单位方差,否则方差将随rr缩放,导致σ\sigma超参数失效。此外,EGGROLL使用基于计数器的确定性随机数生成器(RNG)按需重构噪声,因此扰动不必存储在内存中。这一技巧帮助EGGROLL在十亿参数规模下工作。然后通过(diag(f)A)⊤B(\operatorname{diag}(\mathbf{f})\mathbf{A})^{\top}\mathbf{B}公式(Sarkar等人 (2025 (https://arxiv.org/html/2605.30361#bib.bib1))第4.2节)重构梯度估计,该公式从不实例化单个扰动矩阵。每代内存降至O(r(m+n))\mathcal{O}(r(m+n))。

## 3 方法

### 3.1 网络架构

我们使用一个两层LIF网络:

2312→64→LIF10→LIF输出。2312\xrightarrow{}64\xrightarrow{\text{LIF}}10\xrightarrow{\text{LIF}}\text{输出}。 (4)

输入大小为2312,因为N-MNIST的尺寸为34X34像素,每个像素有2个极性。每个LIF层共享一个共同的膜衰减系数β\beta。初始权重从N(0,0.32)\mathcal{N}(0,0.3^{2})中采样。输出是TT个时间步上的平均脉冲率,通过softmax转换为类别概率用于适应度评估。偏置用独立的一维高斯因子扰动,以在r=min(m,n)r=\min(m,n)时与全秩ES保持等价。与静态图像SNN不同,前向传播在每个时间步输入不同的事件帧,而不是重复相同的图像T次。事件计数被压缩到[0,1][0,1],以防止单个像素主导膜电位。

### 3.2 EGGROLL集成

算法1 (https://arxiv.org/html/2605.30361#alg1) 详细描述了训练循环。不是以通常方式通过SNN反向传播,而是算法从网络权重开始,创建多个扰动的网络副本,然后在小批量上运行这些副本。测量每个副本的性能,然后将其得分转换为类似梯度的信号,并用Adam更新权重。与原始ES的关键区别在于算法1第6行中的批处理前向传播:所有PP个扰动网络通过沿种群维度扩展数据张量同时进行评估,避免了在种群成员上进行顺序的Python循环。因子A\mathbf{A}、B\mathbf{B}从存储的种子重新生成,而不是缓存,使得GPU内存与PP无关。进行中心秩归一化,使梯度尺度不受不同批次间绝对适应度值的影响。还使用了对偶采样以降低方差。

算法 1 Eggroll训练SNN1: 秩 rr,种群 PP,尺度 σ\sigma,学习率 η\eta,代数 GG,时间步 TT
2: 从 N(0,0.32)\mathcal{N}(0,0.3^{2}) 初始化权重 θ={W1,b1,W2,b2}\boldsymbol{\theta}=\{\mathbf{W}_{1},\mathbf{b}_{1},\mathbf{W}_{2},\mathbf{b}_{2}\}
3: for g=1,…,Gg=1,\ldots,G do
4:   采样种子 ss;抽取数据小批量 (X,y)(\mathbf{X},\mathbf{y})
5:   从 ss 重构 Ai,Bi,ci\mathbf{A}_{i},\mathbf{B}_{i},\mathbf{c}_{i},i=1,…,Pi=1,\ldots,P
6:   批处理前向传播:在 X\mathbf{X} 上评估所有 PP 个扰动网络
7:   收集每个种群成员的对偶奖励 ri+r_{i}^{+}, ri−r_{i}^{-}
8:   对 {ri+,ri−}\{r_{i}^{+},r_{i}^{-}\} 应用中心秩归一化
9:   通过 (diag(f)A)⊤B(\operatorname{diag}(\mathbf{f})\mathbf{A})^{\top}\mathbf{B} 计算梯度 ∇^\hat{\nabla}
10:  更新 θ←θ−η⋅Adam(∇^)\boldsymbol{\theta}\leftarrow\boldsymbol{\theta}-\eta\cdot\text{Adam}(\hat{\nabla})
11: end for

### 3.3 适应度函数

我们使用负交叉熵(对数似然)作为适应度信号,而不是原始分类准确率:

F(θ)=−1B∑b=1Blogexp(y^b,yb)∑cexp(y^b,c),F(\boldsymbol{\theta})=-\frac{1}{B}\sum_{b=1}^{B}\log\frac{\exp(\hat{y}_{b,y_{b}})}{\sum_{c}\exp(\hat{y}_{b,c})}, (5) 其中 y^b,c\hat{y}_{b,c} 是示例 bb 上类别 cc 的脉冲率。对数似然为ES提供了平滑的优化景观;原始准确率(适应度值上的阶跃函数)在阈值交叉之间没有梯度信号。

## 4 实验

### 4.1 设置

#### 数据集。

N-MNIST(Orchard等人,2015 (https://arxiv.org/html/2605.30361#bib.bib3)):54,000张训练图像 / 6,000张验证图像 / 10,000张测试图像,生成器种子0。传感器尺寸34X34,2个极性。未使用率编码,事件帧即为脉冲输入。

#### 基线。

- • 原始ES:全秩高斯扰动,顺序评估,相同超参数。
- • 替代梯度BPTT:快速sigmoid替代,Adam优化器,相同架构。

#### 计算。

所有实验在单个NVIDIA RTX 3070 Ti上运行。墙上时间取三个种子的平均值。

### 4.2 主要结果

表1:测试准确率和每代墙上时间。均值±\pm标准差,三个种子。从表1 (https://arxiv.org/html/2605.30361#S4.T1) 中得出的关键结论是EGGROLL为ES带来了显著的加速,而准确率几乎无损。即使秩为1,准确率差异相对于EGGROLL提供的加速也非常微小。虽然替代梯度BPTT的准确率高于ES,但它显著更慢。

### 4.3 秩消融

图1 (https://arxiv.org/html/2605.30361#S4.F1) 绘制了验证准确率和每代墙上时间随秩rr的变化。

参见图注(a) 准确率 vs. 秩。
参见图注(b) 墙上时间 vs. 秩。

图1:N-MNIST上的秩消融。准确率在各个秩上保持相对稳定,最佳性能出现在r=1r=1和r=4r=4时,而r=2r=2和r=8r=8时方差较大。墙上时间在r=1r=1时最低,r=2r=2时增加,在其他两个秩上保持相对稳定。

### 4.4 收敛曲线

图2 (https://arxiv.org/html/2605.30361#S4.F2) 绘制了不同ES实现(朴素和带EGGROLL)随代数的收敛情况。图3 (https://arxiv.org/html/2605.30361#S4.F3) 绘制了原始ES和EGGROLL的平均墙上时间。

参见图注图2:所有方法随代数的验证准确率(均值±\pm标准差,三个种子)。虚线:替代梯度BPTT最终准确率。
参见图注图3:EGGROLL实现与原始ES的墙上时间(秒)。r=4r=4的EGGROLL收敛速度略快于其他EGGROLL变体,r=1r=1稍慢,但总体收敛速度差异不大。对于小秩的Eggroll,方差带(均值±\pm标准差,三个种子)通常较窄,表明比某些较高秩的收敛更稳定。

相似文章

进化策略作为强化学习的可扩展替代方案

OpenAI Blog

OpenAI 提出进化策略(ES)作为一种可扩展的黑箱优化方法,可替代强化学习用于训练神经网络策略。进化策略通过将策略训练视为随机参数搜索来简化优化问题,该搜索基于奖励反馈反复采样并选择更优的参数配置。

通过梯度手术的持续学习低秩适配器初始化

arXiv cs.LG

该论文提出了Slice,一种基于梯度手术的LoRA适配器初始化方法,用于持续学习,通过调和当前任务和过去任务的冲突梯度来减少灾难性遗忘,实现了更好的稳定性-可塑性权衡。

进化策略梯度

OpenAI Blog

OpenAI 推出进化策略梯度(EPG),这是一种元学习方法,通过进化而非直接学习策略来学习损失函数,使强化学习代理能够通过利用类似人类技能迁移的先验经验,更好地跨任务泛化。