分析方法¶
本文档解释了 CANNs 库中的分析和可视化工具。
概览¶
分析器模块(canns.analyzer)提供了用于可视化和解释仿真输出和实验数据的工具。它根据数据源和分析类型组织为不同的组件:
模块结构¶
新组织结构(v2.0+)
分析器模块按功能组织:
metrics/ - 计算分析(无 matplotlib 依赖)
spatial_metrics- 空间指标计算utils- Spike train 转换工具experimental/- CANN1D/2D 实验数据分析
visualization/ - 绘图和动画(基于 matplotlib)
config- PlotConfig 统一配置系统spatial_plots- 空间可视化energy_plots- 能量景观可视化spike_plots- Raster 图和发放率图tuning_plots- 调谐曲线可视化experimental/- 实验数据可视化
slow_points/ - 不动点分析
model_specific/ - 专用模型分析器
分析 CANN 仿真输出
分析实验神经记录
研究不动点和慢流形
检测神经活动中的几何结构
模型分析器¶
模型分析器可视化 CANN 仿真的输出,专注于网络活动模式及其随时间的演化。
核心功能¶
|
动画显示放电率随时间的演化 |
|
当前活动模式的快照 |
|
跟踪活动波包中心位置 |
|
可视化吸引子盆地结构 |
|
二维能量表面 |
用途 |
展示不同状态如何与吸引子最小值相关 |
|
可视化循环连接 |
|
单个神经元的连接模式 |
用途 |
揭示墨西哥帽或其他核结构 |
设计哲学¶
Important
模型分析器函数接收仿真结果作为数组而不是模型对象。这种独立性意味着:
相同的可视化适用于不同的模型类型
结果可以保存并稍后分析
分析期间不依赖模型内部结构
函数接受标准化格式:
放电率作为
(time, neurons)数组膜电位作为
(time, neurons)数组用于活动波包定位的空间坐标
PlotConfig 系统¶
配置模式
库使用 PlotConfig 数据类进行可视化配置:
好处:
✅ 可重用性:相同的配置应用于多个图
✅ 类型安全:在构造时验证参数
✅ 共享:在函数之间传递配置对象
常见配置包括:
figsize:图形尺寸interval:动画速度colormap:颜色方案选择show_colorbar:切换颜色图例
虽然 PlotConfig 提供便利,但为了向后兼容,仍然支持直接参数传递。
数据分析器¶
数据分析器处理实验神经记录,通常是脉冲序列或放电率估计。
与模型分析器的关键区别¶
方面 |
模型分析器 |
数据分析器 |
|---|---|---|
输入数据 |
干净的仿真输出 |
脉冲序列——稀疏、离散事件——和放电率估计 |
关注点 |
可视化 CANN 动力学 |
解码神经活动、拟合参数模型 |
噪声 |
最小(仿真) |
可能有噪声或不完整的记录 |
功能¶
从神经群体估计活动波包位置
拟合高斯曲线到活动模式
跟踪解码位置随时间的变化
创建用于算法测试的合成脉冲序列
生成真值场景
验证分析流水线
调谐曲线估计
角度变量的圆形统计
误差量化指标
针对实验记录验证 CANN 模型
为神经数据开发解码算法
用模拟实验测试理论预测
RNN 动力学分析¶
该组件将递归神经网络作为动力系统进行分析 [29],找到不动点 [30] 并表征相空间结构。
目的¶
Note
CANN 模型是连续时间动力系统。理解它们的行为需要:
识别稳定的不动点(吸引子)
找到不稳定的不动点(鞍点、排斥子)
映射动力学集中的慢流形
方法¶
定位动力学消失的状态(du/dt = 0):
数值求根
多个初始条件以进行彻底搜索
通过稳定性分类(特征值分析)
表征不动点附近的动力学:
Jacobian 计算
特征值分解
吸引子 vs. 鞍点 vs. 排斥子分类
在状态空间中找到低维结构:
降维
识别慢动力学的方向
可视化状态空间组织
当前范围¶
实现状态
目前专注于分析 RNN 模型(包括 CANN 作为特例)。为以下提供工具:
理解内在网络动力学
表征吸引子景观
研究参数变化下的分岔
拓扑数据分析(TDA)¶
TDA 工具 [15] 使用持续同调 [16] 检测高维神经活动数据中的几何和拓扑结构。
为什么 CANN 需要 TDA¶
Important
CANN 活动模式通常存在于低维流形上:
环吸引子:圆上的活动(1D 环面)
环面吸引子:2D 环面上的活动(网格细胞)
球面吸引子:球面上的活动
传统方法可能会遗漏这些结构。TDA 提供数学上严格的检测。
可用工具¶
加速的 ripser 实现
检测拓扑特征(环、空洞)
持续图量化特征显著性
用户应用外部工具(UMAP、PCA 等)
库提供预处理实用程序
降维表示的可视化
用例¶
实现说明¶
总结¶
分析模块提供全面的工具:
1️⃣
模型分析器:使用标准化函数可视化 CANN 仿真输出
2️⃣
数据分析器:处理实验记录和合成神经数据
3️⃣
RNN 动力学:研究不动点和相空间结构
4️⃣
TDA:检测神经表征的拓扑属性
这些工具既支持正向建模(仿真分析)又支持逆向工程(实验数据解释)——支持从理论到验证的完整研究周期。