从一个问题开始

一个神经元,
为什么要记住过去?

普通神经网络把输入映射成输出;脉冲神经元还要携带上一时刻的状态。先观察膜电位怎样积累、泄漏与发放,再进入公式。

膜电位实验V[t] = βV[t−1] + I[t]
Vth = 1

当前产生 3 次 spike。先改变 β,再观察过去输入保留了多久。

12 个递进章节7 个可操作实验630 分钟核心路径23 篇核验论文
01

学习路径

每章都从直觉进入数学,再落到代码、实验、误区与研究连接。

01

ANN vs SNN

从一次映射到状态随时间演化
ANN 神经元通常对一批输入做一次加权求和,再通过连续激活函数输出一个数。SNN 神经元则保留内部状态:同一输入在不同时间到达,会得到不同结果。35 min
02

IF / LIF 神经元

积分、泄漏、阈值、发放与重置
把膜电位想成一只有漏孔的杯子:输入电流向杯中加水,leak 持续排水;水位越过阈值就产生 spike,随后水位被重置。60 min
03

Temporal Dynamics

沿时间步执行一次真正的前向传播
SNN 的一次 forward 不是只穿过网络深度,还要沿时间轴重复更新。每一步都读取本步输入与上一步状态。45 min
04

Spike Encoding

数值怎样进入时间域
Rate coding 用观察窗内 spike 数量表达强度;temporal coding 用发放时刻表达信息。前者冗余而稳健,后者稀疏且低延迟但对时序噪声更敏感。45 min
05

Surrogate Gradient

前向是真 spike,反向借一座可导的桥
Heaviside 在阈值外导数为 0,在阈值处不可导。直接交给梯度下降,权重几乎收不到有用信号。55 min
06

BPTT

把状态沿时间展开,再反向穿越
把同一个 LIF 单元在 t₀、t₁、t₂、t₃ 复制展开,复制体共享权重,状态边把它们串起来。Loss 可以从最后或所有时间步产生。60 min
07

实现第一个 SNN

从手写 LIF 到可训练分类器
训练循环的骨架与普通 PyTorch 类似:数据、前向、损失、backward、optimizer。差异集中在时间循环、状态初始化、spike 读出和 surrogate backward。75 min
08

Convolutional SNN

空间卷积与时间状态同时存在
Conv 提取每个时间步的空间局部特征,LIF 在同一空间位置上沿时间积累。典型模块是 Conv → Norm → LIF。45 min
09

Event Camera × SNN

异步亮度变化与脉冲计算的契合边界
事件相机不定时输出整张图,而是像素在对数亮度变化越过阈值时产生事件 e=(x,y,t,p)。p 表示变亮或变暗。60 min
10

ANN-to-SNN Conversion

把连续激活映射为发放率
先训练 ANN,再让 SNN 在一段时间内用 spike count 逼近 ReLU 激活。时间越长,rate 近似通常越细,但延迟也越大。45 min
11

Modern Deep SNN

ResNet 与 Transformer 如何获得脉冲语义
现代 SNN 借鉴 ANN 的宏观骨架,但必须重新考虑 spike 激活的位置、残差相加后的值域、时序状态和 attention 中的乘法。55 min
12

Efficiency & Neuromorphic

能效优势成立需要哪些条件
SNN 的潜力来自稀疏事件、加法式突触累加和局部状态。但在普通 GPU 上,时间循环、稠密张量和 BPTT 可能让它比 ANN 更慢、更耗显存。50 min
02

实验室

参数变化立即反馈。先做预测,再移动滑块,而不是把图表当装饰。

01Spike Train02LIF Simulator03Spike Encoding04Surrogate05BPTT06ANN vs SNN07Event Camera
03

读论文之前

课程把“理论正确”“训练可行”“硬件高效”拆开讨论。

Forward ≠ Backward

Surrogate gradient 的核心是前向仍发放真实 spike,反向才使用局部替代导数。

Event Camera ≠ SNN

事件流可进入 SNN,也可聚合成 event frame、voxel grid 后交给 CNN 或 Transformer。

Ops ≠ Energy

稀疏 AC 的理论优势只有在实际执行跳过零值、减少数据移动时才可能兑现。