CMAC-SNN 技术分析
模型定位
基于混沌多视角注意力编码的脉冲神经网络模型
(Chaotic Multi-view Attention Coding for Spiking Neural Networks)
核心目标:从脉冲编码角度提升SNN表征能力
问题分析(已有内容)
三大编码局限
-
动态特征表征不足
- 频率编码:稳定但损失时间精度
- 时序编码:精确但对噪声敏感
- "保真度"与"鲁棒性"矛盾
-
非线性建模能力有限
- LIF模型动力学过于简单
- 难以捕捉复杂非线性关系
-
单一视角局限
- 固定统一的编码策略
- 无法自适应调整
- 难以整合多尺度互补信息
整体架构(来自CMAC-SNN.md)
骨干网络
- MS-ResNet
- 块配置:3-3-2
- 通道数:64-128-256-512
CMAC模块位置
编码层之后,接收:
- 膜电位特征 xseq∈RB×T×C×H×W\mathbf{x}_{seq} \in \mathbb{R}^{B \times T \times C \times H \times W}xseq∈RB×T×C×H×W
- 脉冲输出 sseq\mathbf{s}_{seq}sseq
三分支融合
A=σ(ANA⊙AXA⊙AChao)\mathbf{A} = \sigma(\mathbf{A}{NA} \odot \mathbf{A}{XA} \odot \mathbf{A}{Chao})A=σ(ANA⊙AXA⊙AChao)
yseq=A⊙sseq\mathbf{y}{seq} = \mathbf{A} \odot \mathbf{s}_{seq}yseq=A⊙sseq
模块1:邻域注意力(M-NA)
输入处理
将输入沿时间-通道维度重塑:
x′∈RB×(T⋅C)×H×W\mathbf{x}' \in \mathbb{R}^{B \times (T \cdot C) \times H \times W}x′∈RB×(T⋅C)×H×W
TCSA结构(时间-通道-空间注意力)
四个子组件:
| 组件 | 名称 | 实现 |
|---|---|---|
| LTCA | 局部时间-通道注意力 | 大核分解卷积(DWConv) |
| GTCA | 全局时间-通道注意力 | GAP + MLP(压缩比16) |
| LSA | 局部空间注意力 | 7×7深度卷积 |
| GSA | 全局空间注意力 | 坐标注意力(H/W方向池化) |
融合公式
TCSA=u⋅(1+αttanh(LTCA))⋅(1+αctanh(GTCA))⋅(1+αlstanh(LSA))⋅(1+αgstanh(GSA))\text{TCSA} = \mathbf{u} \cdot (1+\alpha_t \tanh(\text{LTCA})) \cdot (1+\alpha_c \tanh(\text{GTCA})) \cdot (1+\alpha_{ls} \tanh(\text{LSA})) \cdot (1+\alpha_{gs} \tanh(\text{GSA}))TCSA=u⋅(1+αttanh(LTCA))⋅(1+αctanh(GTCA))⋅(1+αlstanh(LSA))⋅(1+αgstanh(GSA))
模块2:跨维度注意力(M-XA)
直接在五维张量上操作,解耦三个维度:
时间注意力
p=MeanH,W(xseq)\mathbf{p} = \text{Mean}{H,W}(\mathbf{x}{seq})p=MeanH,W(xseq)
At=1+αt⋅σ(Conv1dT(p))\mathbf{A}_t = 1 + \alpha_t \cdot \sigma(\text{Conv1d}_T(\mathbf{p}))At=1+αt⋅σ(Conv1dT(p))
通道注意力
Ac=1+αc⋅σ(MLP(p))\mathbf{A}_c = 1 + \alpha_c \cdot \sigma(\text{MLP}(\mathbf{p}))Ac=1+αc⋅σ(MLP(p))
MLP压缩比:16
空间注意力(CBAM风格)
fs=MeanT(xseq)\mathbf{f}_s = \text{Mean}T(\mathbf{x}{seq})fs=MeanT(xseq)
As=1+αs⋅σ(Conv7×7([AvgPoolC;MaxPoolC]))\mathbf{A}s = 1 + \alpha_s \cdot \sigma(\text{Conv}{7\times7}([\text{AvgPool}_C; \text{MaxPool}_C]))As=1+αs⋅σ(Conv7×7([AvgPoolC;MaxPoolC]))
融合
AXA=xseq⋅At⋅Ac⋅As\mathbf{A}{XA} = \mathbf{x}{seq} \cdot \mathbf{A}_t \cdot \mathbf{A}_c \cdot \mathbf{A}_sAXA=xseq⋅At⋅Ac⋅As
模块3:混沌注意力(Chao-A)
Logistic混沌映射
对每个通道c:
αc=αmin+(αmax−αmin)⋅σ(θαc)\alpha_c = \alpha_{min} + (\alpha_{max} - \alpha_{min}) \cdot \sigma(\theta_\alpha^c)αc=αmin+(αmax−αmin)⋅σ(θαc)
x0c=σ(θ0c)x_0^c = \sigma(\theta_0^c)x0c=σ(θ0c)
参数范围:αmin=3.57\alpha_{min} = 3.57αmin=3.57,αmax=4.0\alpha_{max} = 4.0αmax=4.0(确保混沌区域)
时间步迭代
xtc=αc⋅xt−1c⋅(1−xt−1c),t=1,2,...,Tx_t^c = \alpha_c \cdot x_{t-1}^c \cdot (1 - x_{t-1}^c), \quad t = 1, 2, ..., Txtc=αc⋅xt−1c⋅(1−xt−1c),t=1,2,...,T
输出
AChao=xchaos∈RB×T×C×H×W\mathbf{A}{Chao} = \mathbf{x}{chaos} \in \mathbb{R}^{B \times T \times C \times H \times W}AChao=xchaos∈RB×T×C×H×W
理论依据(来自顾客沟通)
核心参考文献:
-
Steven H. Strogatz, "Nonlinear Dynamics and Chaos"
- Logistic Map的统计特性
- 混沌序列通过极低的相关性提供更高的信息熵
-
Robert May (1976)
- Logistic映射作为复杂动力学模型的权威性论证
-
Feigenbaum (1978)
- 3.57阈值的数学来源(Feigenbaum常数)
- 倍周期分岔的普适性理论
为什么选择3.57?
- 3.57是Logistic映射从周期行为进入混沌区域的临界值
- Feigenbaum (1978) 严格证明了这个普适常数
实现细节
| 参数 | 值 |
|---|---|
| 骨干网络 | CMAC-SNN-18 (3-3-2配置) |
| 通道数 | 64-128-256-512 |
| LIF阈值 | Vth=1.0V_{th} = 1.0Vth=1.0 |
| LIF衰减系数 | τ=0.5\tau = 0.5τ=0.5 |
| 代理梯度 | ZIF |
| 时间步长 | T = 6 |
| 优化器 | SGD |
| 初始学习率 | 0.1 |
| 调度策略 | 余弦退火 |
| 权重衰减 | 5e-4 |
| 数据增强 | CutMix (β=1.0, p=0.5) |
| 批大小 | 64 |
| 训练轮数 | 250 epochs |
与论文tex对照
已有对应
- 问题分析:tex第四章4.1节 ✓
- 本章小结:tex第四章末尾 ✓
需要补充
- 4.2.1 多视角注意力编码:需从md转换为tex
- 4.2.2 脉冲混沌映射编码:需从md转换为tex
- 4.3 实验数据集和设置:待写
- 4.4 实验结果与分析:待写
注意事项
- md文件中章节编号为3.x,但实际是第四章,需调整为4.x
- 第四章chap04.tex末尾有残缺("向。"),需要修复
- CMAC-SNN.md提供了完整的方法细节,可直接转换