# brain_ai_project **Repository Path**: pkity/ai ## Basic Information - **Project Name**: brain_ai_project - **Description**: 可视化脑图显示模拟程序 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-12 - **Last Updated**: 2026-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 类脑智能系统 > 基于《人工智能的未来》理论实现的完全数据驱动智能系统 ## 概述 本项目是一个**完全数据驱动**的类脑智能系统,支持多传感器输入和弹性扩展。 ### 核心特性 - 🧠 **数据驱动架构** - 所有对象和规则存储在数据库 - 📡 **多传感器支持** - 视觉、听觉、触觉、雷达、红外、电磁、IMU、GPS等 - 📈 **弹性扩展** - 根据输入复杂度动态调整网络规模 - 🏛️ **垂直柱管理** - 神经元自动组成垂直柱,支持统计和预测 - 💾 **混合存储** - 内存数据库(高频访问)+ SQLite持久化 - 📊 **可视化界面** - Web实时展示神经网络状态 ## 快速开始 ```bash # 测试系统 ./start.sh test # 基础演示 ./start.sh demo # 完整功能演示(传感器+弹性扩展) ./start.sh demo-full # 启动可视化 ./start.sh viz # 查看传感器配置 ./start.sh sensors # 查看垂直柱信息 ./start.sh columns ``` ## 项目结构 ``` ~/share/ai/ ├── brain_core/ # 🧠 核心模块 │ ├── data_driven_system.py # 数据驱动系统主程序 │ ├── sensor_manager.py # 传感器管理 │ └── elastic_expansion.py # 弹性扩展 │ ├── brain_infra/database/ # 🏗️ 数据库模块 │ ├── brain_viz/ # 📊 可视化模块 │ ├── scripts/ # 🔨 脚本 │ ├── demo_complete.py # 基础演示 │ ├── demo_full_features.py # 完整功能演示 │ └── start_viz.py # 启动可视化 │ ├── docs/ # 📄 文档 └── data/brain_ai.db # 🗄️ SQLite数据库 ``` ## 传感器支持 ### 支持的传感器类型 | 传感器 | 模态 | 数据维度 | 说明 | |--------|------|----------|------| | 视觉 | visual | [640, 480, 3] | 图像数据 | | 听觉 | audio | [1024] | 声音数据 | | 触觉 | touch | [64, 64] | 触感数据 | | 激光雷达 | lidar | [360, 100] | 点云数据 | | 红外 | infrared | [160, 120] | 热成像 | | 电磁 | em | [128] | 电磁波信号 | | 惯性测量 | imu | [6] | 陀螺仪+加速度计 | | 定位 | gps | [3] | GPS位置 | | 接近 | proximity | [8] | 接近传感器 | ### 使用传感器 ```python from brain_core import DataDrivenBrainSystem system = DataDrivenBrainSystem() # 处理传感器数据 system.process_sensor_data("sensor_visual_main", image_data, "visual") system.process_sensor_data("sensor_imu_main", imu_data, "imu") ``` ## 弹性扩展 系统根据输入数据复杂度自动调整网络规模: ```python # 分析输入复杂度 readings = [...] # 传感器读数列表 system.elastic_expand(readings) ``` ### 扩展触发条件 - **扩展**: 当平均激活 > 0.8 且活跃神经元比例 > 80% - **收缩**: 当平均激活 < 0.2 且活跃神经元比例 < 20% ## 垂直柱(Column) 垂直柱由多个神经元组成,是系统的基本处理单元: ```python # 创建网络时指定每个垂直柱的神经元数量 system.create_network({ 'levels': [16, 8, 4, 2], 'neurons_per_column': 4 # 每柱4个神经元 }) # 查询垂直柱信息 column_info = system.get_column_info("col_L0_000") print(f"神经元数量: {column_info['neuron_count']}") print(f"平均激活: {column_info['avg_activation']}") ``` ## 数据库对象 | 类型 | 说明 | |------|------| | **Neuron** | 神经元(激活值、阈值、所属垂直柱) | | **Connection** | 连接(权重、源/目标) | | **Column** | 垂直柱(神经元列表、统计) | | **Cortex** | 皮层区域 | | **Sensor** | 传感器配置 | | **SensorReading** | 传感器读数 | | **ComputeRule** | 计算规则 | ## 使用示例 ### 基本使用 ```python from brain_core import DataDrivenBrainSystem # 创建系统 system = DataDrivenBrainSystem() # 创建网络(带垂直柱) info = system.create_network({ 'levels': [16, 8, 4, 2], 'neurons_per_column': 4 }) # 设置输入 system.set_input({'activations': [0.9, 0.7, 0.5, 0.3]}) # 执行迭代 for i in range(100): system.run_iteration() # 获取统计 stats = system.get_stats() ``` ### 多传感器输入 ```python # 注册自定义传感器 from brain_core import SensorManager sensor_mgr = SensorManager(system.db) sensor_id = sensor_mgr.register_sensor( "custom", "visual", dimensions=[320, 240, 3], sample_rate=30.0 ) # 处理传感器数据 sensor_mgr.write_reading(sensor_id, image_data) # 映射到神经元 system.process_sensor_data(sensor_id, image_data, "visual") ``` ## 可视化 ### 启动可视化服务 ```bash ./start.sh viz ``` ### API 端点 - http://localhost:3000/ - 主界面 - http://localhost:3000/api/status - 系统状态 - http://localhost:3000/api/neurons - 神经元数据 - http://localhost:3000/api/connections - 连接数据 ## 文档 - [README.md](README.md) - 本文档 - [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) - 架构设计 - [docs/API_REFERENCE.md](docs/API_REFERENCE.md) - API参考 - [docs/USER_GUIDE.md](docs/USER_GUIDE.md) - 使用指南 ## 许可证 MIT License --- **开发路径**: `/home/alex/share/ai/`