# Tsodyks-Markram-rust **Repository Path**: daoos_admin/tsodyks-markram-rust ## Basic Information - **Project Name**: Tsodyks-Markram-rust - **Description**: No description available - **Primary Language**: Rust - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-03 - **Last Updated**: 2025-12-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Tsodyks-Markram 神经网络模型 Rust 实现 本项目基于PNAS论文《长短期突触可塑性相互作用将时间神经表征转换为空间表征》的Rust语言实现。 ## 论文信息 - **期刊**:PNAS(美国科学院院刊) - **标题**:长短期突触可塑性相互作用将时间神经表征转换为空间表征 - **作者**:Qiang Yu, Misha Tsodyks, Haim Sompolinsky, Dietmar Schmitz, Robert Gütig - **联系方式**:robert.guetig@charite.com ## 模型组成 ### 1. 泄漏积分放电(LIF)神经元模型 实现了基本的LIF神经元模型,包括膜电位动态和脉冲发放机制。 ### 2. Tsodyks-Markram 突触模型 实现了经典的Tsodyks-Markram突触可塑性模型,包括: - 突触权重(weight) - 利用参数(u) - 可用资源(x) - 恢复时间常数(tau_rec) - 促进时间常数(tau_fac) 该模型基于官方C代码实现,考虑了时间因素对突触状态的影响。 ### 3. Tempotron 模型 实现了结合LIF神经元和Tsodyks-Markram突触的Tempotron模型,这是论文中的核心模型。 ### 4. 学习规则 实现了基于梯度的学习规则和动量优化,支持多种参数的学习率和动量设置。 ### 5. 存储容量分析 实现了存储容量分析功能,可以评估网络的记忆容量。 ### 6. 批处理训练 实现了批处理训练功能,对应于C代码中的批处理训练机制。 ## 生产级特性 ### 错误处理 所有公共API都使用`Result`类型返回,提供详细的错误信息。 ### 输入验证 所有输入参数都经过有效性验证,防止无效参数导致运行时错误。 ### 完整文档 所有公共接口都提供了详细的文档注释。 ### 测试覆盖 包含了单元测试,确保代码质量和功能正确性。 ## 运行项目 ```bash # 运行主程序 cargo run # 运行简单测试示例 cargo run --example simple_test # 运行存储容量分析 cargo run --example capacity_analysis # 运行高级学习算法演示 cargo run --example advanced_learning # 运行测试 cargo test ``` ## 项目结构 ``` src/ ├── main.rs # 主程序入口 ├── lib.rs # 库模块声明 ├── neuron.rs # LIF神经元实现 ├── synapse.rs # Tsodyks-Markram突触实现 ├── learning.rs # 学习规则实现 ├── network.rs # 网络结构实现(基础版本) ├── tempotron.rs # Tempotron模型实现 ├── storage_capacity.rs # 存储容量分析实现 ├── batch_training.rs # 批处理训练实现 ├── error.rs # 错误处理实现 tests/ ├── neuron_test.rs # 神经元模块测试 ├── synapse_test.rs # 突触模块测试 └── tempotron_test.rs # Tempotron模块测试 examples/ ├── simple_test.rs # 简单测试示例 ├── capacity_analysis.rs # 存储容量分析示例 └── advanced_learning.rs # 高级学习算法示例 ``` ## 官方实现参考 本项目参考了论文提供的官方C语言实现,位于 `pnas_2025-main` 目录中。官方实现包含了更完整的Tempotron模型和学习算法。 ## 当前实现状态 这是一个基于论文描述和官方C代码的Rust实现,具有生产级特性: 1. LIF神经元模型 2. Tsodyks-Markram突触可塑性模型 3. Tempotron模型(结合上述两者) 4. 基本的学习机制 5. 存储容量分析功能 6. 多种学习算法实现(LTP、LTD) 7. 批处理训练功能 8. 完善的错误处理和输入验证 9. 详细的文档和测试覆盖 目前的实现是一个功能完整且健壮的系统,适合用于实际研究和应用。