SNN与CNN逐层对比:计算原理与结构差异深度解析(以ResNet为例)

SNN与CNN逐层对比:计算原理与结构差异深度解析

SNN工作示意图

在这里插入图片描述

在这里插入图片描述

1. 输入处理层

层类型CNN实现SNN实现计算原理差异
结构Input ImageInput Image → PoissonEncoder
计算原理直接传递浮点像素值泊松脉冲编码:
S(t)={1rand<Ipixel0otherwiseS(t) = \begin{cases} 1 & \text{rand} < I_{pixel} \\ 0 & \text{otherwise} \end{cases}S(t)={10rand<Ipixelotherwise
静态值 vs 随机脉冲序列
数据形式[B,C,H,W] 浮点张量[T,B,C,H,W] 二值脉冲张量空间信息 vs 时空信息
硬件操作内存加载事件生成电路连续读取 vs 事件触发

泊松脉冲编码的示意图(其中时间窗口 T=3)

原始图像: 
[0.1  0.6  0.9]
[0.3  0.8  0.4]
[0.7  0.2  0.5]

时间步1脉冲图:
[0 1 1]
[0 1 0]
[1 0 1]

时间步2脉冲图:
[0 0 1]
[1 1 0]
[1 0 0]

时间步3脉冲图:
[0 1 0]
[0 1 1]
[0 0 1]

2. 特征提取层

层类型CNN实现SNN实现计算原理差异
结构Conv2d → BatchNorm → ReLUSpikingConv2d → LIF Neuron
计算原理y=ReLU(BN(W∗x+b))y = \text{ReLU}(BN(W \ast x + b))y=ReLU(BN(Wx+b))Vmem[t]=τVmem[t−1]+W⋅SinV_{mem}[t] = \tau V_{mem}[t-1] + W \cdot S_{in}Vmem[t]=τVmem[t1]+WSin
Sout=Θ(Vmem−Vth)S_{out} = \Theta(V_{mem} - V_{th})Sout=Θ(VmemVth)
代数运算 vs 微分方程
核心差异批归一化抑制协变量偏移膜电位时间积分统计归一化 vs 生物动力学
能量特性固定能耗 ∝ 操作数事件驱动能耗 ∝ 脉冲数持续耗电 vs 稀疏激活

SNN中的SpikingConv2d过程在这里插入图片描述


3. 下采样层

层类型CNN实现SNN实现计算原理差异
结构MaxPool2dSpikingMaxPool
计算原理yi,j=max⁡p,qxi⋅s+p,j⋅s+qy_{i,j} = \max_{p,q} x_{i\cdot s+p, j\cdot s+q}yi,j=p,qmaxxis+p,js+qSout[t,i,j]={1∃p,q Sin[t,i⋅s+p,j⋅s+q]=10otherwiseS_{out}[t,i,j] = \begin{cases} 1 & \exists p,q \ S_{in}[t,i\cdot s+p,j\cdot s+q]=1 \\ 0 & \text{otherwise} \end{cases}Sout[t,i,j]={10p,q Sin[t,is+p,js+q]=1otherwise最大值选择 vs 脉冲存在检测
信息保留保留最强激活保留脉冲活动区域强度信息 vs 事件分布
硬件实现并行比较器事件触发逻辑门O(k²)复杂度 vs O(1)最佳

4. 残差块层

层类型CNN实现SNN实现计算原理差异
结构ResBlock:
Conv-BN-ReLU

Conv-BN

Add
SpikingResBlock:
Conv-LIF-Conv-LIF

SpikingAdd + LIF
计算原理y=F(x)+G(x)y = \mathcal{F}(x) + \mathcal{G}(x)y=F(x)+G(x)
G\mathcal{G}G: 恒等/投影
Vsum=VF+VGV_{sum} = V_{\mathcal{F}} + V_{\mathcal{G}}Vsum=VF+VG
Sout=Θ(Vsum−Vth)S_{out} = \Theta(V_{sum} - V_{th})Sout=Θ(VsumVth)
特征图相加 vs 膜电位整合
核心差异梯度直接回传脉冲时序整合挑战连续可导 vs 脉冲不可导
时间特性无记忆功能膜电位持续累积静态计算 vs 动态记忆

5. 全局池化层

层类型CNN实现SNN实现计算原理差异
结构AvgPool2dSpikingAvgPool
计算原理yc=1HW∑i∑jxc,i,jy_c = \frac{1}{HW}\sum_i\sum_j x_{c,i,j}yc=HW1ijxc,i,jrc=1T⋅HW∑t∑i∑jSc,i,j[t]r_c = \frac{1}{T \cdot HW}\sum_t\sum_i\sum_j S_{c,i,j}[t]rc=THW1tijSc,i,j[t]空间平均 vs 时空脉冲率
信息压缩空间维度压缩空间+时间维度压缩单次计算 vs 时间积分
输出形式特征向量脉冲发放率向量连续值 vs 脉冲统计

6. 分类器层

层类型CNN实现SNN实现计算原理差异
结构Flatten → Linear → SoftmaxFlatten → SpikingLinear → LIF(v_th=∞) → Time Integration
计算原理p=softmax(W⋅x+b)p = \text{softmax}(W\cdot x + b)p=softmax(Wx+b)Vmemc[t]=Vmemc[t−1]+Wc⋅Sin[t]V_{mem}^c[t] = V_{mem}^c[t-1] + W_c \cdot S_{in}[t]Vmemc[t]=Vmemc[t1]+WcSin[t]
y^=arg⁡max⁡c∑t=1TVmemc[t]\hat{y} = \arg\max_c \sum_{t=1}^T V_{mem}^c[t]y^=argcmaxt=1TVmemc[t]
概率分布 vs 脉冲计数投票
决策机制最大概率类别最高脉冲发放率单次前向 vs 时间累积
输出特性归一化概率分布未归一化脉冲计数可解释概率 vs 相对强度

计算范式总对比

CNN计算范式

输入图像
卷积提取特征
非线性激活
空间下采样
重复特征提取
全局平均池化
全连接分类
概率输出

本质
前馈式空间特征处理器

  • 无时间维度
  • 连续值传递
  • 全局同步计算

SNN计算范式

输入图像
泊松脉冲编码
时空卷积
膜电位积分
超过阈值?
发放脉冲
电位泄露
事件驱动处理
时间累积决策

本质
脉冲驱动的时空动力学系统

  • 显式时间维度
  • 离散事件传递
  • 异步事件驱动

关键差异总结

维度CNNSNN本质区别
信息载体连续激活值离散脉冲事件模拟信号 vs 数字事件
时间处理需额外模块(如RNN)原生时间动力学后添加时序 vs 内禀时序
计算单元MAC运算(乘加)积分-发放机制代数运算 vs 微分方程
能量特性固定能耗 ∝ FLOPs事件驱动能耗 ∝ 脉冲数持续耗电 vs 稀疏激活
学习机制反向传播(连续)代理梯度/STDP可导优化 vs 脉冲时序优化
硬件匹配GPU/TPU矩阵引擎神经形态事件路由冯·诺依曼架构 vs 事件驱动架构
生物合理性低(工程模型)高(神经仿生)数学抽象 vs 生物物理模型

网络结构对比图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊~小 l i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值