基于STDP的深度卷积脉冲神经网络及其在目标识别中的应用
本研究提出了一种基于脉冲时序依赖可塑性(STDP)规则训练的深度卷积脉冲神经网络(SDNN),采用首个脉冲发放时间编码方式将图像像素转换为脉冲序列,在样本量极少的条件下可达到与有监督深度网络可比的识别精度,并且更接近灵长类视觉系统的生物学习机制,具有快速学习、低功耗的潜力。
核心要点
- 脉冲神经网络(SNN)作为“第三代神经网络”,模仿生物神经元的电脉冲通信方式,与完全基于浮点值通信的人工神经网络(ANN)有根本区别。
- 反向传播算法(BP)虽有强大能力,但存在缺乏生物学基础、收敛慢、计算量大、依赖大规模有标签数据等缺陷。
- 本文网络由时间编码层、多个卷积层、池化层和全连接分类层构成,全程使用无监督的STDP学习规则训练卷积层特征。
- 时间编码层将像素强度映射为神经元首个脉冲的发放时刻——强度越大,发放越早。
- 卷积层使用无泄露(no leak)的LIF神经元模型;池化层采用最大池化策略,取该窗口内第一个到达的脉冲;最后的全连接层接收末层卷积神经元膜电位的最大值进行分类。
- 实验结果揭示:中间复杂度特征在目标分类中的重要性极高(第二层随机特征替换导致准确率严重下降);网络在阈值噪声≤20%时性能基本稳定;每个类别仅需40幅训练图像即可达到95.1%的识别精度;若结合无监督预训练和少量标记样本,每个类仅需1个标记样本即可达到93.8%的平均准确率。
- 该工作对人工视觉系统及硬件神经形态芯片的实现具有参考意义。
详细解析
一、脉冲神经网络简介
1. 背景:人工神经网络的成就与局限
- 人工神经网络和深度学习近年在目标检测、图像分类等计算机视觉任务上取得显著成绩,深度卷积神经网络在目标检测上的精度甚至超越了人类识别水平。
- 深度卷积神经网络的结构在宏观层面受到灵长类视觉系统启发,但完全忽略了生物神经元的具体处理和学习机制。
- 关键差异在于信息传递方式:
- ANN的计算单元向彼此发送“激活水平相当的浮点值”(连续的实数值激活)。
- 生物神经元通过发送电脉冲(尖峰) 传递信息,所有峰值的振幅和持续时间几乎相同,因此信息完全由发射时间(发放时刻)来表征。
- 灵长类视觉系统的平均峰值发放率非常低,神经元只在必须传递重要信息时才发放脉冲,某些信息可以在脉冲发放时刻中得到编码——这种尖峰时间编码实现了一种快速而高效的神经计算。
2. 人脑能耗对比
- 整个人类大脑仅消耗大约10~20瓦的功率,远低于深度神经网络训练所需的能耗,是脉冲计算高效性的关键生物证据。
3. LIF(Leaky Integrate-and-Fire)神经元模型
本文采用LIF神经元模型来模拟人类神经元行为,名称中三个关键单词对应三种特性:
- Leaky(泄露) :若输入脉冲不足,不足以使膜电位超过阈值,由于细胞膜持续发生膜内外的离子交换,膜电位会自动泄露、逐渐衰减并回到静息状态。表现在机制上:神经元接收到脉冲后,若未达阈值,膜电位随时间的增长而减小。
- Integrate(积分) :神经元会接收所有与它相连的上一层轴突末端传来的脉冲——每来一个输入脉冲,当前神经元的膜电位就增加一个量。
- Fire(发放) :当膜电位超过阈值时,神经元会发放一个输出脉冲;发放脉冲后神经元进入超级化状态和不应期;在不应期内,即使给予刺激也没有反应,神经元膜电位(膜电势)不会变化。
整个激活流程为:积累输入脉冲 → 膜电位逐步上升至阈值 → 发放一个电脉冲 → 膜电位回归静息状态并进入短暂不应期。
二、研究目的与主要贡献
反向传播算法(BP)存在的四个主要问题
- 是启发式方法,缺乏生物学基础——不模拟真实神经系统的学习机制。
- 收敛速度较慢——需要大量迭代更新权重。
- 计算量较大——需要前向和反向两次传播。
- 训练需要大量有标签数据——而人类等灵长类动物识别新物体可能只需要一两张图片。
本文提出的方案
- 提出一种基于STDP的深度脉冲卷积神经网络。
- 网络使用脉冲发放时间编码,由以下组件构成:
- 一个时间编码层:将输入图像转换为异步峰值序列,可视信息按照峰值的时间顺序编码。
- 一系列连续的卷积层和池化层:卷积层中的神经元整合输入脉冲,达到阈值后立即发送脉冲;这些层通过STDP学习图像的视觉特征。
- 最后一个全连接层:执行最终分类。
三、方法与步骤
1. 首个脉冲发放时间编码
- 背景问题:图像以像素值的形式存储在计算机中,但脉冲神经网络传递的是电脉冲,因此需要设计一种将像素值转化为脉冲发放时间的编码方式。
- 编码机制:根据像素点的强度大小决定该位置神经元首脉冲发放的时间。
- 像素值越大 → 神经元首脉冲发放时间越早。
- 像素值越小 → 神经元首脉冲发放时间越晚。
- 关键约束:在一个时间周期内,只有第一个脉冲的发放是有意义的,其余脉冲发放被忽略;每个神经元在一个周期内只能发放一个脉冲。
- 适用特征:这种编码方式尤其适用于编码刺激轮廓(图像的边缘特征)。
2. STDP(Spike-Timing-Dependent Plasticity)学习规则
- 总述:STDP是一种有生物学基础的非监督型学习算法。
- 本文采用的简化模型公式(公式中各符号含义如下):
Δw_ij = A+ * exp( -(t_i - t_j) / τ+ ), 若 t_i - t_j < 0(突触前先于突触后发放)
Δw_ij = -A- * exp( -(t_i - t_j) / τ- ), 若 t_i - t_j > 0(突触后先于突触前发放)- 其中:
- i 为突触后神经元编号(当前神经元)。
- j 为突触前神经元编号(与当前神经元相连的上一层神经元)。
- t_i 和 t_j 分别为突触后和突触前的脉冲发放时间。
- w_ij 为二者之间的连接权重。
- A+ 和 A- 分别对应两种情况下的学习率(增强和减弱)。
- STDP核心规则:
- 若突触前先于突触后发放脉冲 → 连接权重增强(长期增强,LTP)。
- 若突触前晚于突触后发放脉冲 → 连接权重减弱(长期抑制,LTD)。
- 权重更新方向的因果逻辑:因为首脉冲时间编码中,发放越早表明信息越重要,所以“先发放的输入神经元”与“后发放的输出神经元”之间的连接应被加强,这体现了时间上的因果关系。
3. 学习率的设置原则及其原因
| 情况 | 后果 | 原因 |
|---|---|---|
| A+ 和 A- 偏大 | 降低学习记忆能力,神经元只会学习到最后呈现的图像,忘记之前看到的图像 | 单次更新幅度过大,旧记忆被覆盖 |
| A+ 和 A- 偏小 | 收敛速度过慢 | 权重更新过于缓慢 |
| A- 大于 A+ | 神经元的突触权值越学越小,最终永远无法激活 | 初始时突触被抑制的概率高于被激活的概率(随机初始化时未学到特征,会对很多特征起反应),抑制过大导致权重趋近于零 |
| A+ 远大于 A- | 许多神经元将对所有输入做出反应,学不到具体特征 | 失去特化(分化)能力 |
| 最佳方案 | A+ 比 A- 大一点,且两者都不要太大或太小 | 保证神经元既能被激活又能逐渐特化 |
4. 卷积层机制
- 神经元模型:采用无泄露方式(膜电位不随时间的增大而自然衰减)。
- 膜电位更新公式:
v_i(t) = v_i(t-1) + Σ_j ( w_ji * s_j(t-1) )- 其中:
- v_i(t):第 i 个神经元在 t 时刻的膜电位。
- v_i(t-1):同一神经元在上一时刻的膜电位。
- w_ji:连接神经元 i 和上一层神经元 j 的突触权重。
- s_j(t-1):上一层第 j 个神经元在 t-1 时刻的脉冲序列,为 1 表示发放了脉冲,为 0 表示未发放。
- 发放规则:如果当前神经元的膜电位超过阈值,则发放脉冲(s_i(t)=1),随后进行重置,v_i 重置为 0。
5. 池化层
- 池化方法:最大池化法——只接收一个周期内的第一个发放脉冲。
- 作用原理:对一组具有相同首选特征的相邻神经元进行非线性最大汇聚操作。
- 关键参数:池化层的输入突触权重和阈值均设置为 1。
- 学习方式:池化层中没有学习发生,只做特征压缩,在保持特征不变性的前提下缩小信息规模。
- 功能效果:帮助网络获得普遍性(泛化能力)。
6. 全连接层(分类层)
- 位于网络最后,起最终分类作用。
- 关键设计:与全连接层连接的最后卷积层的神经元阈值设置为无限——最后一层卷积层发放给全连接层的不是脉冲,而是取末层膜电位中的最大电位作为输出值(即用一个实数值而非脉冲序列进行输出)。
四、案例与数据
1. 数据集和实验设置
- 使用加州理工学院101数据集(Caltech 101) 中的面部(faces) 和摩托车(motorcycles) 两个类别进行评价。
- 训练集包含每个类别随机选取的200幅图像,测试集另行构成。
2. 随机特征替换实验:中间复杂度特征的重要性
- 实验目的:更好地展示STDP学习规则在深度SNN中的作用。
- 方法:
- 使用STDP训练网络所有三个卷积层直到全部收敛。
- 对某一卷积层,计算其激活突触的数量(即活跃突触数量)。
- 对应于第一个卷积层中每一个学习到的特征,生成一个具有相同数量激活突触的随机特征。
- 依次在第三层、第二层、第一层以及第二与第三层的组合中替换学习得到的特征,评估SDNN最终精度。
- 关键结果:将较低层次的学习特征替换为随机特征时,准确率下降更多;在第二层(中间层)使用随机特征时准确率严重下降。这显示出中间复杂度特征在对象分类中的关键作用。
3. 噪声鲁棒性实验
- 方法:在训练和测试阶段均向神经元阈值上添加白噪声,针对不同的噪声量评估网络性能。
- 结果:
- 噪声达到 20% 时,精度仍然非常高。
- 噪声水平提高到 50% 时,准确率显著下降,达到随机水平——STDP无法再从输入图像中学到有用信息特征。
- 结论:网络能忍受 20% 以下噪声带来的不稳定性,但噪声进一步增强时,网络性能受影响很大。
4. 第一、二、三层卷积核学习特征的可视化
- 可视化技术:采用向后重构技术,将当前层的视觉特征重构为前一层视觉特征的加权组合;该过程一直持续到第一层;第一层学习到的视觉特征由 DIG 公式计算得出。
- 第一层(图A):
- 第一个卷积层的四个神经元映射都收敛于四个方向之一:π/4、2π/4(π/2)、3π/4、π。
- 说明:时间编码与STDP的有效结合可以产生高度多样化的边缘检测器,可表示具有不同方向边缘的输入图像。
- 这些边缘检测器类似于初级视觉皮层(V1)的简单细胞。
- 第二层(图B):
- 第一层检测不同方向的边缘;由于时间编码,对比度较高的边缘对应的神经元将较早发放脉冲。
- STDP自然地倾向于学习那些在训练图像中不断重复的边缘组合;侧抑制(本文采用的抑制机制)往往会阻止脉冲神经元学习相似的视觉特征。
- 因此第二层神经元学习的是目标对象相对显著、常见且多样的视觉特征,而非图像之间剧烈变化的背景。
- 每个卷积核逐渐学习到由不同方向边缘组成的特定组合,用来表示“一张脸”或“摩托车”的特征。
- 第三层(图C):
- 一个卷积核逐渐收敛为完整的摩托车轮廓(作为摩托车的组合特征)。
- 另一个卷积核学习到完整的面部轮廓(作为面部特征的组合)。
- 第三卷积层使用前一层检测到的中间复杂度特征来学习整个对象特征,确实学习到了高度类别特异性的原型。
5. 标记样本数量需求实验
- 实验A:极小训练样本直接训练与测试
- 用每个类别 5 幅图像训练网络和分类器,再以测试样本评估。
- 结果:每个类别仅 5 幅图像时,模型准确率达到 78.2%。
- 每个类别 40 幅图像时,能达到 95.1% 的识别准确率。
- 虽然训练样本越多准确率越高,但SDNN可以从很少的样本中提取特征,几十张训练图像也能达到较高准确率。
- 由于STDP是无监督的,SDNN不会像有监督算法(如BP)那样因训练集较小而出现过拟合。
- 实验B:无监督预训练 + 少量标记样本
- 使用STDP训练网络,每个类别样本数超过 200 个,然后只标记其中的部分样本。
- 目的:检验网络从未标记图像中学到的视觉特征是否已足够解决分类任务。
- 结果:每个类别仅标记 1 个样本时,模型平均准确率达到 93.8%。
- 含义:无监督STDP可提供丰富的特征空间,很好地解释目标对象空间,减少了对标记数据的需求。
6. 其他数据集上的表现
| 数据集 | 准确率 |
|---|---|
| ET-80(原文表述为“et 80”,可能为特定数据集,原文未明确全称) | 82.8% |
| MNIST | 98.4% |
五、限制与待确认问题
- 原文中“ET-80”数据集的具体名称、构成与测试协议未详细说明,仅给出一个准确率数值,无法核实具体验证条件。
- 噪声实验只给出了 20% 和 50% 两个阈值点的行为描述,未提供完整的噪声-精度曲线数值表。
- 本文池化层输入权重和阈值被固定为 1,该设定在所有实验中是否始终最优,原文未讨论。
- 最后的全连接层、分类器的具体训练方式(是否使用STDP、是否使用额外有监督分类头)在原文口头讲解中未详细展开。
- 对不同数据集、不同类别数的一般性泛化能力尚未系统验证。
六、总结
- 时间编码与STDP的结合比传统方法更接近灵长类动物视觉系统的学习方式。
- 本文方法具备三大实际优势:
- 较快的学习和处理速度;
- 需要的样本量较少;
- 能耗较低(参考人脑10-20瓦的低功耗特征)。
- 这些机制对人工视觉系统,尤其是硬件解决方案(神经形态芯片) 具有重要参考意义。
- 结论性判断:脉冲神经网络作为“第三代神经网络”,比人工神经网络更接近人类神经元的工作方式,具有较好的发展前景,是人工神经网络与神经科学融合发展的未来方向之一。