# MAPPO_88 **Repository Path**: bingyuji/mappo_88 ## Basic Information - **Project Name**: MAPPO_88 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-09 - **Last Updated**: 2024-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 使用pytorch版本的MARL算法在仿真平台实现相关算法,使用多线程加速模型训练。 ## 项目结果 在使用MPE环境【Agent前往静态目标点】参数的情况下可以完成在平台的训练,但是有较大的波动 2维输入的奖励 ![2维输入的奖励]() 4维输入的奖励 ![4维输入的奖励]() 最终结果 ![最终结果]() ## 参数更新 从你提供的图像来看,**MAPPO(Multi-Agent Proximal Policy Optimization)**中的policy loss在训练过程中波动较大且在负值区域,表明策略更新时有不稳定性。以下是可能的调整方向,帮助改善这种波动和loss曲线: 1. Learning Rate 调整 如果学习率过高,可能导致模型的梯度更新过大,造成loss曲线剧烈波动。尝试降低学习率,例如从 e−3调整到 e−4或 e−5 ,以使梯度更新更加稳定。 2. Clip Range 调整 PPO算法中有一个重要的参数是clip range(裁剪范围)。如果clip range过大,策略更新会更加激进,可能导致不稳定性。可以减小clip range,例如从0.2调整到0.1,确保策略更新在一个更平滑的范围内。 3. Entropy Coefficient 熵系数在策略梯度更新中控制探索与开发的平衡。如果熵系数过大,可能会导致策略在探索时产生更多波动。尝试减小entropy coefficient(例如从0.01降到0.001),使得模型更加倾向于利用而非过度探索。 4. Value Loss 和 Policy Loss 的平衡 在MAPPO中,value loss(价值函数损失)和policy loss的比重会影响训练过程的稳定性。检查损失函数中value loss的系数,适当减小它可以让policy loss的影响更大,减少波动。 5. 批大小(Batch Size) 如果批大小过小,梯度估计可能会有较大噪声,造成loss不稳定。尝试增大批大小,例如从32增加到64或128,以减少随机性。 6. GAE (Generalized Advantage Estimation) λ参数 GAE中的lambda参数控制了偏差和方差之间的权衡。你可以尝试将GAE的lambda参数调整得更接近1(如从0.95增加到0.99),以减小对未来回报的折扣,从而获得更平滑的梯度估计。 7. Actor-Critic网络架构的调整 检查Actor-Critic网络的层数和单元数。如果网络太浅,可能无法很好地拟合复杂的多智能体环境;如果网络太深,可能会过拟合或导致梯度消失。可以尝试调整网络结构,使之更适合你当前任务。 8. 检查奖励函数的平衡 奖励信号不平衡也可能导致训练不稳定,loss出现较大波动。可以检查和调整奖励函数的设计,使得奖励信号更加稳定和平滑。 你可以依次尝试这些建议,观察policy loss的变化情况,逐步找到合适的超参数配置。 # 项目来源 使用了[https://github.com/marlbenchmark/on-policy]的源码,在博弈平台进行仿真实验。