1. 项目概述
这个研究项目构建了一个基于多突触发放(MSF)神经元的脉冲神经网络(SNN)智能体系统,用于控制四轮小车完成推箱任务。实验结果显示,在60秒的模拟时间内,箱子仅移动了1.24米,但累计奖励却高达239万,揭示了奖励机制与推箱效率之间的显著偏差。
1.1 核心问题分析
从认知科学视角来看,这个实验揭示了几个关键问题:
-
奖励结构误导:位移奖励系数(5)远小于接触奖励(0.2)和存活奖励(0.002)的累积效应,导致智能体优先追求容易获得的即时奖励而非核心目标。
-
物理异常现象:实验中出现了箱子被顶起、机器人堆叠等不符合真实物理规律的现象,反映了智能体策略与物理环境之间的不匹配。
-
多智能体协作失效:两队机器人(蓝队2辆,黄队3辆)分别向相反方向推箱,形成了对抗性博弈,但缺乏有效协调机制。
提示:在强化学习系统设计中,奖励函数的结构设计至关重要。过大的奖励系数可能导致数值爆炸,而过小的系数又无法提供足够的引导信号。
1.2 技术架构解析
系统采用的技术架构包含以下关键组件:
-
神经网络结构:
- 运动组(12个神经元):处理传感器输入,输出推力控制
- 大脑组(20个神经元):负责高级决策
- 通信组(8个神经元):处理多智能体协调
-
学习机制:
- 在线RSTDP(基于即时奖励的突触可塑性)
- 离线遗传算法(每30秒选择精英个体进行繁殖)
-
物理模拟:
- 使用Box2D物理引擎
- 四轮小车模型(质量2kg,轮半径0.2m)
- 箱子模型(质量10kg,尺寸0.6×0.6m)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 实验设计与实现细节
2.1 任务环境设置
实验场景是一条30米长的水平地面,中央放置一个箱子。两队智能体分别位于箱子两侧:
- 蓝队(2辆):目标向右推箱
- 黄队(3辆):目标向左推箱
cpp复制// 环境初始化代码示例
void createFlatGround(b2World* world, float x_start, float x_end, float y_level) {
b2BodyDef groundDef;
groundDef.type = b2_staticBody;
groundDef.position.Set((x_start + x_end)/2, y_level);
b2Body* ground = world->CreateBody(&groundDef);
b2PolygonShape groundShape;
groundShape.SetAsBox((x_end - x_start)/2
