ML-Agents
Unity开源的机器学习工具包,允许开发者在Unity环境中训练智能体,支持强化学习算法如PPO,常用于机器人仿真训练。
核心事实
时间轴 (近 90 天)
使用shared_critic: False时,在大量并行环境时考虑改为True以减少参数量。
在ML-Agents中,buffer_size对应PPO在两次策略更新之间收集的总经验步数,约等于num_envs乘以time_horizon。
当并行环境数从10扩展到1000且buffer_size不变时,分摊到每个环境的轨迹长度会被压缩到原来的1/100,导致轨迹严重截断,破坏GAE对回报的估计。
当并行环境数从N增加到M时,batch_size应至少按M/N的比例线性增加;buffer_size应保持为batch_size的5到10倍。
当环境数从10增到1000时,若hidden_units为512、num_layers为3的MLP容量不足,策略网络会退化为对所有状态输出近似平均的动作,表现为学不动或奖励停滞。
针对100到1000个并行机器人的场景,建议的ML-Agents配置为:batch_size 8192-32768,buffer_size 81920-327680,learning_rate 0.0001-0.0005,time_horizon 200-500,summary_freq 100000-300000,max_steps保持30000000或适当增加。
学习率平方根缩放公式为:学习率乘以sqrt(M/N);从10个环境扩展到1000个时,学习率调整为0.0003 * sqrt(100) = 0.003,但这在ML-Agents中可能过于激进,建议从1.5-2倍开始尝试。
开启threaded: True可能有助于ML-Agents多环境下的CPU并行采样。
ML-Agents是Unity的强化学习插件
全部知识事实 (12)
ML-Agents是Unity官方开源的机器学习框架,让智能体通过与游戏环境交互获得奖励信号进行强化学习训练
65%待验证ML-Agents支持近端策略优化(PPO)、软演员-评论家(SAC)等主流算法,并可与Python生态中的PyTorch深度集成
90%待验证强化学习训练出的NPC相比传统行为树能够在复杂动态环境中涌现出设计者未预设的行为策略
80%待验证当并行环境数从N增加到M时,batch_size应至少按M/N的比例线性增加;buffer_size应保持为batch_size的5到10倍。
50%待验证当环境数从10增到1000时,若hidden_units为512、num_layers为3的MLP容量不足,策略网络会退化为对所有状态输出近似平均的动作,表现为学不动或奖励停滞。
50%待验证针对100到1000个并行机器人的场景,建议的ML-Agents配置为:batch_size 8192-32768,buffer_size 81920-327680,learning_rate 0.0001-0.0005,time_horizon 200-500,summary_freq 100000-300000,max_steps保持30000000或适当增加。
50%待验证学习率平方根缩放公式为:学习率乘以sqrt(M/N);从10个环境扩展到1000个时,学习率调整为0.0003 * sqrt(100) = 0.003,但这在ML-Agents中可能过于激进,建议从1.5-2倍开始尝试。
50%待验证开启threaded: True可能有助于ML-Agents多环境下的CPU并行采样。
50%待验证使用shared_critic: False时,在大量并行环境时考虑改为True以减少参数量。
50%待验证在ML-Agents中,buffer_size对应PPO在两次策略更新之间收集的总经验步数,约等于num_envs乘以time_horizon。
50%待验证当并行环境数从10扩展到1000且buffer_size不变时,分摊到每个环境的轨迹长度会被压缩到原来的1/100,导致轨迹严重截断,破坏GAE对回报的估计。
50%待验证ML-Agents是Unity的强化学习插件
50%