为什么选择 CANNs?

预计阅读时间: 8 分钟 目标读者: 对类脑计算感兴趣的神经科学家、AI 研究人员、工程师和学生


挑战:建模连续神经表征

你的大脑如何知道你在房间中的位置?海马体和内嗅皮层中的神经元如何在没有外部线索的情况下,维持稳定的位置、头部方向和导航路径的表征?这些问题触及神经科学最迷人的现象之一:连续吸引子神经网络(CANNs)。

与处理离散输入输出的传统神经网络不同,大脑必须处理连续状态空间——位置、方向、速度和其他随时间平滑变化的变量。CANNs 提供了一个计算框架,用于理解神经群体如何通过称为”吸引子”的稳定活动模式来编码、维持和更新这些连续表征。

61e1a72220c442739cf0780cfbc42d3c

1D CANN 追踪平滑移动刺激,展示稳定的 bump 动力学

尽管在理论上取得了数十年的进展,CANNs 仍然具有挑战性:

  • 缺乏标准化实现 – 研究人员为每项研究从头构建模型

  • 工具碎片化 – 任务生成、模型仿真和分析需要不同的代码库

  • 可重复性障碍 – 在没有共享基础设施的情况下,比较不同研究的结果很困难

  • 学习曲线陡峭 – 学生必须在探索想法之前实现复杂的动力学

这就是 CANNs 库的用武之地。

8b6785a3436444fc8f69319ccec3186f

CANN 网络中的 2D 空间编码模式


CANNs 的独特之处是什么?

生物真实性与理论优雅的结合

连续吸引子神经网络具有连接神经科学和 AI 的独特属性:

  1. 稳定的连续表征 CANNs 自然地在连续状态空间中维持稳定的活动模式(吸引子)。与需要仔细调整的循环神经网络(RNNs)不同,CANNs 有强大的理论基础确保稳定性——活动 bump 在没有外部输入的情况下持续存在,实现短期记忆和鲁棒编码。

  2. 类脑动力学 与基于注意力的模型(如 Transformers)相比,CANNs 通过更接近生物神经回路的机制运作。它们擅长建模:

    • 海马体中的位置细胞(空间位置编码)

    • 内嗅皮层中的网格细胞(周期性空间地图)

    • 头部方向细胞(角度方向)

    • 工作记忆网络(持续活动)

  3. 连续状态空间处理 传统的深度学习模型将世界离散化。CANNs 原生处理连续变量——与大脑处理位置、方向和感觉刺激的平滑变化的方式相匹配。

  4. 路径积分和导航 CANNs 自然地执行路径积分:随时间整合速度信号以跟踪位置,无需外部地标——这是啮齿动物导航和人类空间认知中的核心计算。

最新突破:A-CANN 和 Theta 扫描现象

最近的一项重大进展将 CANNs 与神经适应(A-CANN)结合,以解释休息和睡眠期间海马体序列重放的多样模式。通过引入适应——一种普遍的神经特性——作为单一控制变量,研究人员统一了看似不同的现象:静态重放、扩散序列和超扩散扫描。

这项工作展示了 CANN 的力量:简单的、生物学上合理的机制可以解释复杂的神经动力学,对记忆编码和检索具有深远影响。

fa2286b137b9439997469478c7342e8f

网格细胞和头部方向网络中的 theta 扫描动力学


谁应该使用这个库?

CANNs 库服务于三个主要社区:

🔬 计算神经科学家

连续吸引子网络在系统神经科学中越来越受欢迎。研究人员希望:

  • 分析实验数据以寻找吸引子特征

  • 构建 CANN 模型以验证针对神经记录的假设

  • 高效地重现和扩展已发表的 CANN 研究

🛠️ 工程师和开发者

随着 CANNs 的成熟,它们需要标准化的开发实践——类似于 Transformers 如何通过一致的 API 和共享基础设施革新了 NLP。工程师需要统一的工具来:

  • 实现类脑导航和记忆系统

  • 系统地对 CANN 架构进行基准测试

  • 在机器人和 AI 中部署基于 CANN 的应用

🎓 学生和教育者

学习 CANNs 不应该需要从头实现复杂的动力学。学生受益于:

  • 即用型模型用于实践探索

  • 清晰的示例展示关键概念

  • 可修改的代码用于实验参数和架构

如果没有标准化工具,每个群体都在重新发明轮子。CANNs 库改变了这一点。


关键应用场景

1. Theta 扫描建模和分析

挑战:海马神经元在休息和睡眠期间表现出丰富的顺序发放模式——静态、扩散、超扩散——具有重要的认知功能。理解这些”theta 扫描”是记忆研究的核心。

解决方案:A-CANN 框架(CANN + 神经适应)通过单一变量解释了这些多样模式。本库提供:

  • 预构建模型HeadDirectionNetworkGridCellNetworkPlaceCellNetwork

  • 专业可视化:Theta 扫描动画和分析工具

  • 可重现管道ThetaSweepPipeline 协调仿真、分析和绘图

影响:研究人员可以立即在这项工作的基础上进行构建,而无需重新实现模型和分析工具。

2. 教育和研究培训

挑战:传统的 CANN 教学需要学生每学期从头实现模型。这消耗了本可以用于科学探索的数周时间。

解决方案:使用此库,学生可以:

  • 3 行代码实例化 CANN 模型

  • 最小的设置生成任务数据(平滑跟踪、群体编码)

  • 使用内置分析工具可视化动力学

影响:教育者报告说,学生现在专注于理解机制而不是调试实现。

3. 高性能仿真

挑战:长时间仿真和大规模实验(例如参数扫描、拓扑数据分析)计算成本高昂。

解决方案:配套的 ``canns-lib`` Rust 库提供:

  • 空间导航任务相对于纯 Python 700× 加速(RatInABox 兼容 API)

  • 拓扑分析平均 1.13×,峰值 1.82× 加速(Ripser 算法)

  • 完美准确性 – 与参考实现 100% 结果匹配

  • GPU/TPU 支持 – 通过 JAX/BrainPy 后端

影响:曾经需要数小时的工作现在几分钟内完成。研究人员可以大规模探索参数空间和分析数据集。

仿真步数

纯 Python

canns-lib (Rust)

加速比

10²

0.020 s

<0.001 s

477×

10⁴

1.928 s

0.003 s

732×

10⁶

192.775 s

0.266 s

726×


为什么选择这个库?统一生态系统的优势

问题:碎片化的格局

目前,CANN 研究类似于 Transformers 之前的 NLP——每个实验室使用自定义代码、不同的实现和不兼容的格式。这种碎片化导致:

  • 重新发明的开销:研究人员反复重新实现基础知识

  • 可重复性问题:比较研究需要逆向工程代码

  • 进展缓慢:没有共享模型、基准或最佳实践

愿景:CANNs 作为吸引子网络的”Hugging Face Transformers”

就像 Hugging Face 标准化了 Transformer 的使用一样,CANNs 库旨在统一 CANN 研究

  1. 标准化模型库

    • 预构建的 1D/2D CANNs、SFA 变体、分层网络

    • 类脑模型:Hopfield 网络、基于脉冲(LIF)的模型

    • 结合 CANNs 和 ANNs 的混合架构

  2. 统一任务 API

    • 平滑跟踪、群体编码、闭环/开环导航

    • 直接导入实验轨迹

    • 跨任务的一致数据格式

  3. 完整分析管道

    • 能量景观、调谐曲线、发放场、脉冲嵌入

    • 拓扑数据分析(UMAP、TDA、持久同调)

    • Theta 扫描和 RNN 动力学分析

  4. 可扩展架构

    • 用于自定义组件的基类(BasicModelTaskTrainerPipeline

    • 基于 BrainPy 构建,用于 JAX 驱动的 JIT 编译和自动微分

    • 开箱即用的 GPU/TPU 加速

  5. 社区和共享

    • 模型和基准共享的开源基础

    • 统一的评估协议

    • 不断增长的示例和教程生态系统


技术基础

是什么让这个库强大?

🚀 通过 BrainPy + Rust 实现性能

  • BrainPy 集成:具有 JAX 的 JIT 编译、自动微分和 GPU/TPU 支持的高级动力学 API

  • canns-lib 加速:用于任务生成和拓扑分析的 Rust 驱动的热路径

  • 高效编译:用简单的 Python 编写模型,以 C++ 速度运行

🧩 综合工具链

  • 模型:1D/2D CANNs、分层网络、SFA 变体、类脑模型

  • 任务:跟踪、导航、群体编码、轨迹导入

  • 分析器:可视化、TDA、bump 拟合、动力学分析

  • 训练器:Hebbian 学习、预测工作流

  • 管道:单次调用中的端到端工作流(例如 theta 扫描)

🔬 研究级质量

  • 经过验证的实现:模型重现已发表的结果

  • 全面测试:Pytest 套件覆盖关键行为

  • 积极开发:定期更新、错误修复、社区贡献


当前状态和未来方向

开发阶段:该库已经积极开发了 4 个月,目前处于 beta(v0.x)阶段。我们的研究小组正在内部使用它,并根据用户反馈积极扩展功能。

验证

  • ✅ 模型重现了已建立的 CANN 行为

  • ✅ 性能基准显示显著加速(canns-lib)

  • ✅ 跨模型和任务的工作示例不断增加

路线图

  • 扩展类脑模型集合(循环网络、基于脉冲的模型)

  • 添加混合 CANN-ANN 架构

  • 开发全面的基准测试套件

  • 构建社区贡献的模型库

  • 发表记录库设计的配套论文

局限性(我们相信透明度):

  • Beta 软件 – API 可能会根据反馈而演变

  • 文档正在积极扩展(欢迎您的贡献!)

  • 目前预训练模型有限(我们正在构建)

  • 与成熟的深度学习框架相比,社区较小(但正在增长!)


下一步:深入了解!

快速开始

准备好构建您的第一个 CANN?跳转到我们的快速入门指南,在 <10 分钟内进行实践演练。

安装

[ ]:
# CPU 版本
pip install canns
# GPU 支持(Linux)
pip install canns[cuda12]

了解更多

参与其中


总结:为什么选择 CANNs?

问题

答案

它解决什么问题?

通过标准化模型、任务和分析工具统一碎片化的 CANN 研究

它适合谁?

分析数据的神经科学家、构建系统的工程师、学习动力学的学生

它有什么独特之处?

第一个全面的 CANN 库——从模型到可视化的完整生态系统

它有多快?

导航任务 700× 加速,GPU/TPU 支持,JIT 编译

我可以信任它吗?

针对已发表结果进行验证,积极开发,开源

我从哪里开始?

pip install canns → 快速入门指南 → 10 分钟内构建您的第一个 CANN

碎片化 CANN 实现的时代正在结束。统一、可重现、可访问的吸引子网络研究的时代正在开始。

让我们一起构建它。


对这份文档有疑问或建议?在GitHub上提出问题或讨论!