分析方法

本文档解释了CANNs库中的分析和可视化工具。

概览

分析器模块( canns.analyzer )提供了用于可视化和解释仿真输出和实验数据的工具。它根据数据源和分析类型分为不同的组件:

模型分析器

分析CANN仿真输出

数据分析器

分析实验神经记录

RNN动力学分析

研究不动点和慢流形

拓扑数据分析

检测神经活动中的几何结构

模型分析器

模型分析器可视化CANN仿真的输出,专注于网络活动模式及其随时间的演化。

核心功能

活动可视化

animate_dynamics()

动画显示放电率随时间的演化

plot_network_state()

当前活动模式的快照

plot_bump_trajectory()

跟踪凸起中心位置

能量景观

energy_landscape_1d_static()

可视化吸引子盆地结构(静态图)

energy_landscape_1d_animation()

可视化吸引子盆地结构(动画)

energy_landscape_2d_static()

二维能量表面(静态图)

energy_landscape_2d_animation()

二维能量表面(动画)

展示不同状态如何与吸引子最小值相关。

连接性分析

plot_firing_field_heatmap()

可视化放电场热图

tuning_curve()

调谐曲线可视化

揭示墨西哥帽或其他核结构。

设计哲学

Important

模型分析器函数接收仿真结果作为数组而不是模型对象。这种独立性意味着:

  • 相同的可视化适用于不同的模型类型

  • 结果可以保存并稍后分析

  • 分析期间不依赖模型内部结构

函数接受标准化格式:

  • 放电率作为 (time, neurons) 数组

  • 膜电位作为 (time, neurons) 数组

  • 用于凸起定位的空间坐标

PlotConfig系统

Tip

库使用 PlotConfig 数据类进行可视化配置:

好处:

  • 可重用性:相同的配置应用于多个图

  • 类型安全:在构造时验证参数

  • 共享:在函数之间传递配置对象

常见配置包括:

  • figsize :图形尺寸

  • interval :动画速度

  • colormap :颜色方案选择

  • show_colorbar :切换颜色图例

虽然PlotConfig提供便利,但为了向后兼容,仍然支持直接参数传递。

数据分析器

数据分析器处理实验神经记录,通常是脉冲序列或放电率估计。

与模型分析器的关键区别

方面

模型分析器

数据分析器

输入数据

干净的仿真输出

脉冲序列(稀疏、离散事件)、放电率估计

关注点

可视化CANN动力学

解码神经活动、拟合参数模型

噪声

最小(仿真)

可能有噪声或不完整的记录

功能

群体活动分析

  • 从神经群体估计凸起位置

  • 拟合高斯曲线到活动模式

  • 跟踪解码位置随时间的变化

虚拟数据生成

  • 创建用于算法测试的合成脉冲序列

  • 生成真值场景

  • 验证分析流水线

统计工具

  • 调谐曲线估计

  • 角度变量的圆形统计

  • 误差量化指标

用例

  • 针对实验记录验证CANN模型

  • 为神经数据开发解码算法

  • 用模拟实验测试理论预测

RNN动力学分析

该组件将递归神经网络作为动力系统进行分析,找到不动点并表征相空间结构。

目的

Note

CANN模型是连续时间动力系统。理解它们的行为需要:

  • 识别稳定的不动点(吸引子)

  • 找到不稳定的不动点(鞍点、排斥子)

  • 映射动力学集中的慢流形

方法

不动点查找

定位动力学消失的状态(du/dt = 0):

  • 数值求根

  • 多个初始条件以进行彻底搜索

  • 通过稳定性分类(特征值分析)

稳定性分析

表征不动点附近的动力学:

  • Jacobian计算

  • 特征值分解

  • 吸引子 vs. 鞍点 vs. 排斥子分类

慢流形识别

在状态空间中找到低维结构:

  • 降维

  • 识别慢动力学的方向

  • 可视化状态空间组织

当前范围

Note

目前专注于分析RNN模型(包括CANN作为特例)。为以下提供工具:

  • 理解内在网络动力学

  • 表征吸引子景观

  • 研究参数变化下的分岔

拓扑数据分析(TDA)

TDA工具检测高维神经活动数据中的几何和拓扑结构。

为什么CANN需要TDA

Important

CANN活动模式通常存在于低维流形上:

  • 环吸引子:圆上的活动(1D环面)

  • 环面吸引子:2D环面上的活动(网格细胞)

  • 球面吸引子:球面上的活动

传统方法可能会遗漏这些结构。TDA提供数学上严格的检测。

可用工具

持续同调

  • 加速的ripser实现

  • 检测拓扑特征(环、空洞)

  • 持续图量化特征显著性

降维

  • 用户应用外部工具(UMAP、PCA等)

  • 库提供预处理实用程序

  • 降维表示的可视化

用例

网格细胞分析

网格细胞在环面上编码位置。TDA可以:

  • ✅ 验证神经记录中的环面结构

  • ✅ 量化活动与理论预测的匹配程度

  • ✅ 检测与理想拓扑的偏差

吸引子结构发现

对于未知网络:

  • ✅ 从活动模式推断吸引子几何

  • ✅ 测试关于编码流形的假设

  • ✅ 将实验数据与模型预测进行比较

实现说明

Tip

技术细节:

  • Ripser集成,用于快速持续同调

  • 外部依赖,用于某些高级方法

  • 专注于工具,与吸引子网络研究相关

有关性能详细信息,请参阅 canns-lib Ripser模块(1.13倍平均加速,最高1.82倍)。

总结

分析模块提供全面的工具:

  1. 模型分析器 - 使用标准化函数可视化CANN仿真输出

  2. 数据分析器 - 处理实验记录和合成神经数据

  3. RNN动力学 - 研究不动点和相空间结构

  4. TDA - 检测神经表征的拓扑属性

这些工具既支持正向建模(仿真分析)又支持逆向工程(实验数据解释),支持从理论到验证的完整研究周期。