资讯动态

Unity ML-Agents 示例学习环境完全参考:从 Basic 到 DungeonEscape 的场景配置与训练指南

发布时间:2026/9/20 21:43:48 来源:尧图企业网站定制
Unity ML-Agents 示例学习环境完全参考从 Basic 到 DungeonEscape 的场景配置与训练指南【免费下载链接】ml-agentsThe Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.项目地址: https://gitcode.com/gh_mirrors/ml/ml-agents本文是 Unity ML-Agents Toolkit 内置 17 个示例学习环境Example Learning Environments的完整技术参考。围绕 Learning-Environment-Examples.md 展开逐一拆解每个场景的环境设置、奖励函数、行为参数Behavior Parameters、Float Properties 环境参数以及官方基准分数Benchmark Mean Reward并结合 Project/Assets/ML-Agents/Examples 下的场景、脚本与 config 目录中的训练配置文件给出可直接复用的源码级佐证与训练要点。读完本文你将能够熟练定位、配置、训练并改造这些示例环境作为新环境设计与新算法验证的起点。示例环境的定位与使用前提ML-Agents 示例环境位于Project/Assets/ML-Agents/Examples目录每个环境对应一个独立子文件夹包含场景Scenes、预置体Prefabs、脚本Scripts、预训练模型TFModels与演示数据Demos等资源。这些环境的定位是新环境模板将某个示例作为起点复制改造出符合自己任务需求的环境新算法测试床用统一基准奖励验证强化学习或模仿学习算法效果工具特性演示部分环境专门演示网格传感器、多智能体分组、视觉观测、动作掩码等进阶特性。需要特别注意的是仅从 Package Manager 安装com.unity.ml-agents包无法访问这些示例环境——Examples-setup.md 明确说明必须按照 Installation.md 中的高级安装方式克隆整个仓库然后在 Unity Hub 中通过Add project from disk打开仓库内的Project文件夹进入Assets/ML-Agents/Examples即可看到全部示例。针对每个环境官方提供了两类资源展示特定工具特性的环境配有预训练模型文件.onnx与训练配置文件config 目录下对应 YAML而面向研究挑战型的环境下文以Optional标注没有附带预训练模型或训练配置需要研究者自行设计训练方案。Basic最小线性移动任务环境设置一维线性移动任务Agent 必须向左或向右移动以到达奖励状态。目标移动到奖励值最高的状态。智能体环境中包含 1 个 Agent。奖励函数每步 -0.01到达次优状态 0.1到达最优状态 1.0。行为参数向量观测1 个变量对应当前位置状态动作1 个离散分支3 个动作左移、不动、右移视觉观测无。Float Properties无。基准平均奖励0.93。Basic 是理解 ML-Agents 的Hello World但它在实现上非常特殊——它不是通过继承Agent类实现的。BasicController.cs 中可以看到观测由挂载的BasicSensorComponent生成动作由BasicController.MoveDirection(int direction)消费位置限定在 0~20 之间到达位置 7次优奖励 0.1到达位置 17最优奖励 1.0每步固定 -0.01 惩罚。同时Awake()中通过CommunicatorFactory.RegisterICommunicator(RpcCommunicator.Create)手动注册了通信器并依赖Academy.Instance.IsCommunicatorOn判断训练/推理模式——这展示了不继承 Agent 类、仅依赖组件化传感与执行器也能完成完整训练闭环。3DBall三维平衡球含 Hard 与 Visual 变体环境设置平衡球任务Agent 需将球保持在其头顶平台上。目标尽可能长时间保持球不掉落。智能体12 个同类 Agent共享同一套行为参数Behavior Parameters。奖励函数球每保持一步在平台上 0.1球掉落 -1.0。行为参数向量观测8 个变量Agent 立方体的旋转、球的位置与速度向量观测Hard 版5 个变量Agent 立方体旋转与球的位置动作2 个连续动作分别对应 X 轴与 Z 轴旋转视觉观测Agent 上前方的第三人称视角使用Visual3DBall场景。Float Properties3 个scale球的三维缩放三轴相等。默认 1建议范围 0.2~5gravity重力大小。默认 9.81建议范围 4~105mass球的质量。默认 1建议范围 0.1~20。基准平均奖励100。Ball3DAgent.cs 是标准的Agent子类实现CollectObservations在useVecObs为真时写入旋转与球相对位置/速度3DBall 场景开启、Visual3DBall 场景关闭OnActionReceived将两个连续动作Clamp到 [-1, 1] 后乘以 2 驱动旋转并在球超出平台判定范围时SetReward(-1f)结束回合否则SetReward(0.1f)Heuristic中通过键盘输入直接操控便于人工测试环境。Float Properties 通过Academy.Instance.EnvironmentParameters读取GetWithDefault(mass, 1.0f)等这正对应仓库中EnvironmentParameters与 Python 端FloatPropertiesChannel的配合机制。训练配置见 config/ppo/3DBall.yamlPPO 训练器、batch_size: 64、buffer_size: 12000、learning_rate: 0.0003、hidden_units: 128、num_layers: 2、normalize: true、max_steps: 500000。而 config/ppo/3DBallHard.yaml 对应 Hard 版本config/ppo/Visual3DBall.yaml 对应视觉版本使用vis_encode_type: simple编码视觉观测。三套场景3DBall、3DBallHard、Visual3DBall与预训练模型3DBall.onnx、3DBallHard.onnx、Visual3DBall.onnx均位于 Project/Assets/ML-Agents/Examples/3DBall。完整的分步式训练流程可参考 Sample.md 中的 3DBall 实战教程。GridWorld多目标网格世界环境设置多目标版本的网格世界任务场景包含 Agent、目标与障碍物。目标在避开障碍物的前提下导航到正确的目标格。智能体9 个共享同一行为参数的 Agent。奖励函数每步 -0.01到达正确目标 1.0回合结束到达错误目标 -1.0回合结束。行为参数向量观测无动作1 个离散分支5 个动作四方向移动或原地不动视觉观测GridWorld 的俯视图目标信号Goal Signal一个 One-Hot 向量标识哪个颜色是当前 Agent 的正确目标。Float Properties3 个对应网格尺寸、绿色目标数量与红色目标数量。基准平均奖励0.8。GridWorld 的核心教学点是动作掩码Action Masking文档指出该环境默认启用动作掩码可在trueAgentGameObject 上的Mask Actions复选框切换官方提供的预训练模型也是开启掩码训练得到的。掩码机制通过IActionReceiver/IDiscreteActionMask实现可参考 Runtime/Actuators/ActuatorDiscreteActionMask.cs 与 Runtime/Actuators/IDiscreteActionMask.cs在向墙移动等非法动作时置 0避免 Agent 在无效动作上浪费探索。掩码的完整设计说明见 Learning-Environment-Design-Agents.md。此外该环境将目标颜色作为额外观测输入是学习指令型观测 视觉感知结合的经典案例。训练配置见 config/ppo/GridWorld.yaml。Push Block推箱子平台任务环境设置平台环境Agent 可以将方块推来推去。目标将方块推到目标区域。智能体1 个 Agent。奖励函数每步 -0.0025方块接触目标 1.0。行为参数向量观测70 个连续变量对应 14 条射线投射Raycast每条检测 3 类对象墙、目标、方块动作1 个离散分支7 个动作顺时针/逆时针转向、四个面方向的移动、原地不动。Float Properties4 个block_scale方块在 x、z 维度的缩放。默认 2建议范围 0.5~4dynamic_friction地面材质对运动物体的动摩擦系数。默认 0建议范围 0~1static_friction地面材质对静止物体的静摩擦系数。默认 0建议范围 0~1block_drag方块的空气阻力影响。默认 0.5建议范围 0~2000。基准平均奖励4.5。Push Block 展示了基于射线感知Ray Perception的离散控制模式14 条射线 × 3 类对象构成 70 维观测配合 7 分支离散动作完成推箱。同目录下还有PushBlockWithInput演示 Unity Input System 集成与SharedAssets共享材质/脚本子目录。训练配置见 config/ppo/PushBlock.yaml 与 config/sac/PushBlock.yaml可用于对比 PPO 与 SAC 在稀疏奖励任务上的差异。Wall Jump动态换模型的多阶段平台任务环境设置Agent 需要跳过墙的平台环境。目标利用方块垫脚翻越墙体并到达目标。智能体1 个 Agent但关联了两个不同的 Model策略根据墙的高度切换策略切换逻辑在WallJumpAgent类中完成。奖励函数每步 -0.0005触碰目标 1.0从平台掉落 -1.0。行为参数向量观测74 维对应 14 条射线每条检测 4 类对象加上 Agent 的全局位置与是否着地的标志动作4 个离散分支前后移动3 个动作前进、后退、无动作旋转3 个动作左转、右转、无动作侧向移动3 个动作左移、右移、无动作跳跃2 个动作跳、不跳视觉观测无。Float Properties4 个。基准平均奖励小墙与大墙0.8。Wall Jump 的独特教学价值在于单 Agent 多策略动态切换。WallJumpAgent.cs 中的ConfigureAgent(int config)展示了实现方式config 为 0 时无墙noWallBrain为 1 时小墙smallWallBrain其他值时为需要方块垫脚的大墙bigWallBrain墙的高度通过m_ResetParams.GetWithDefault(small_wall_height, 4)、GetWithDefault(big_wall_height, 8)等读取并通过SetModel(behaviorName, model)在运行时切换策略。同时ModelOverrider支持在推理时用命令行参数覆盖模型文件这在 ml-agents 训练文档 中有详细说明。相应的 Float Properties4 个对应no_wall_height、small_wall_height、big_wall_height及额外的物理参数。训练配置见 config/ppo/WallJump.yaml内含课程学习版本 config/ppo/WallJump_curriculum.yaml。Crawler四臂爬行机器人环境设置拥有 4 条上臂与 4 条前臂的爬行生物。目标在不摔倒的前提下向目标方向移动身体。智能体10 个共享行为参数的 Agent。奖励函数独立奖励奖励函数为几何式geometric——每步奖励是各项奖励的乘积而非求和促使 Agent 同时最大化所有子奖励而非只挑最容易的奖励身体速度与目标速度匹配度归一化到 0~1头部朝向与目标方向的对齐度归一化到 0~1。行为参数向量观测172 个变量对应每个肢体的位置、旋转、速度、角速度以及身体的加速度与角加速度动作20 个连续动作对应各关节的目标旋转角视觉观测无。Float Properties无。基准平均奖励3000。Worm多节蠕虫环境设置拥有 1 个头部与 3 个身体段的蠕虫。目标向目标方向移动身体。智能体10 个共享行为参数的 Agent。奖励函数独立奖励同样是几何式乘积式奖励身体速度与目标速度匹配度归一化 0~1身体方向与目标方向对齐度归一化 0~1。行为参数向量观测64 个变量对应每个肢体/段的位置、旋转、速度、角速度及身体加速度、角加速度动作9 个连续动作对应各关节目标旋转视觉观测无。Float Properties无。基准平均奖励800。Crawler 与 Worm 是连续控制Continuous Control与几何奖励设计的示范环境说明在多目标同时优化场景下乘积式奖励相比求和式奖励能避免 Agent 走捷径例如只对齐朝向而忽略速度。两者的训练配置分别见 config/ppo/Crawler.yaml、config/sac/Crawler.yaml 与 config/ppo/Worm.yaml、config/sac/Worm.yaml同时 config/imitation/Crawler.yaml 还提供了基于演示数据的模仿学习GAIL/BC配置Demos目录下的.demo文件正是用于模仿学习的数据采集结果。Food Collector多智能体竞争收集环境设置多智能体竞争收集食物。目标尽可能多地收集绿色食物球同时避开红色球。智能体5 个共享行为参数的 Agent。奖励函数独立奖励与绿色球交互 1与红色球交互 -1。行为参数向量观测53 维——Agent 速度2、是否冻结/是否发射激光2、以及以 Agent 前方为中心 40×40 网格的 6 类对象网格感知动作3 个连续动作前进、侧移、旋转 1 个离散分支激光发射/不发射2 个动作视觉观测可选每个 Agent 的第一人称相机外加一个表示 Agent 冻结状态的向量标志。该场景同时使用向量与视觉观测缺少冻结向量标志训练将无法成功。使用VisualFoodCollector场景。Float Properties2 个laser_lengthAgent 激光长度。默认 1建议范围 0.2~7agent_scaleAgent 三维缩放。默认 1建议范围 0.5~5。基准平均奖励10。Food Collector 是理解**网格感知传感器Grid Sensor与混合观测向量 视觉**的典型环境。40×40 的网格感知对应 Runtime/Sensors/GridSensorBase.cs 一类的实现用离散网格编码周围对象类别而非原始像素降低视觉观测的学习难度。仓库根目录还提供了预训练模型 Project/Assets/ML-Agents/Examples/GridFoodCollector.onnx训练配置 config/ppo/FoodCollector.yaml 中对应的 behavior 名为GridFoodCollectorhidden_units: 256、num_layers: 1、max_steps: 2000000。视觉版本配置见 config/ppo/VisualFoodCollector.yaml。Hallway记忆与延迟决策环境设置Agent 需要在一间屋子里获取信息、记住它然后利用该信息移动到正确目标。目标移动到与屋内方块颜色一致的目标。智能体1 个 Agent。奖励函数独立奖励移动到正确目标 1移动到错误目标 -0.1存在性惩罚Existential penalty每步 -0.0003。行为参数向量观测30 维对应局部射线检测对象、目标与墙动作1 个离散分支4 个动作旋转与前进/后退移动。Float Properties无。基准平均奖励0.7。Hallway 是长时记忆Long-term Memory任务的代表Agent 先看到方块颜色再在走廊中行进后选择目标天然需要时序记忆。config/ppo/Hallway.yaml 在network_settings中配置了memory块sequence_length: 64、memory_size: 128即 LSTM 循环神经网络文档还指出若想进一步强化探索可以在此 YAML 中添加curiosity奖励信号参考 config/ppo/Pyramids.yaml 中curiosity: {gamma: 0.99, strength: 0.02, network_settings: {hidden_units: 256}}的写法。Hallway 的三种训练配置PPO、SAC、imitation分别位于 config/ppo/Hallway.yaml、config/sac/Hallway.yaml、config/imitation/Hallway.yaml。Soccer Twos2v2 足球多智能体组环境设置4 个 Agent 进行 2v2 足球对战。目标将球踢入对方球门同时阻止球进入己方球门。智能体两个不同的多智能体组Multi Agent Group每组 2 个 Agent行为参数为SoccerTwos。奖励函数组依赖球进入对方球门时奖励(1 - accumulated time penalty)其中accumulated time penalty每次固定更新时累加(1 / MaxStep)并在回合开始时重置为 0球进入己方球门 -1。行为参数向量观测336 维——前方 120° 内分布 11 条射线、后方 90° 内分布 3 条射线每条检测 6 类对象并附带距离前向射线贡献 264 维、后向 72 维经 3 次观测堆叠stacking组成动作3 个离散分支前后移动、侧向移动、旋转视觉观测无。Float Properties2 个ball_scale球的三维缩放。默认 7.5建议范围 4~10gravity重力大小。默认 9.81建议范围 6~20。Strikers Vs. Goalie2v1 足球变体环境设置2v1 足球变体。目标前锋Striker将球踢入对方球门守门员Goalie阻止球进入球门。智能体两个不同的多智能体组——一组 2 名前锋另一组 1 名守门员。行为参数分别为Striker与Goalie。前锋奖励函数组依赖球进入对方球门 1存在性惩罚每步 -0.001。守门员奖励函数组依赖球进入球门 -1存在性奖励每步 0.001。行为参数前锋向量观测294 维——前方 120° 内 11 条射线、后方 90° 内 3 条射线每条检测 5 类对象并附带距离前向 231 维、后向 63 维3 次观测堆叠前锋动作3 个离散分支前后移动、侧向移动、旋转守门员向量观测738 维——360° 内 41 条射线每条检测 4 类对象并附带距离3 次观测堆叠守门员动作3 个离散分支视觉观测无。Float Properties2 个ball_scale默认 7.5建议 4~10与gravity默认 9.81建议 6~20。Soccer Twos 与 Strikers Vs. Goalie 共同演示了MA-POCA多智能体课程式优化训练器在多智能体组场景下的用法对应配置 config/poca/SoccerTwos.yaml 与 config/poca/StrikersVsGoalie.yaml。MA-POCA 通过组奖励 个体智能体奖励的区分Dependent/Independent 奖励让同组智能体学会协作如守门员站桩、前锋配合进攻。观测堆叠stacking机制对应 Runtime/Sensors/StackingSensor.cs通过将历史观测帧拼接为固定维度输入为缺乏显式速度信息的离散控制任务提供时序上下文。Walker26 自由度人形机器人环境设置基于物理的人形智能体拥有 26 个自由度DOF对应髋、胸、脊柱、头、大腿、小腿、脚、臂、前臂与手的关节。目标在不摔倒的前提下向目标方向移动身体。智能体10 个独立 Agent共享行为参数。奖励函数独立奖励几何式乘积式奖励身体速度与目标速度匹配度归一化 0~1头部朝向与目标方向对齐度归一化 0~1。行为参数向量观测243 个变量对应每个肢体的位置、旋转、速度、角速度以及目标方向动作39 个连续动作对应各关节的目标旋转角与作用力强度视觉观测无。Float Properties4 个gravity重力大小。默认 9.81建议范围未标注hip_mass髋部质量。默认 8建议范围 7~28chest_mass胸部质量。默认 8建议范围 3~20spine_mass脊柱质量。默认 8建议范围 3~20。基准平均奖励2500。Walker 与 Crawler/Worm 同属几何奖励 关节驱动系列但复杂度最高26 自由度、39 维连续动作是对 PPO/SAC 连续控制能力的压力测试。训练配置见 config/ppo/Walker.yaml 与 config/sac/Walker.yaml。Pyramids稀疏奖励下的分层任务环境设置Agent 需要按下按钮生成金字塔再导航过去将其推倒最后移动到顶部金砖。目标移动到生成金字塔顶部的金砖。智能体1 个 Agent。奖励函数独立奖励移动到金砖 2每步扣 0.001。行为参数向量观测148 维对应局部射线检测开关、砖块、金砖与墙外加一个表示开关状态的变量动作1 个离散分支4 个动作旋转与前后移动。Float Properties无。基准平均奖励1.75。Pyramids 是稀疏奖励 课程探索的示范任务。config/ppo/Pyramids.yaml 中同时配置了extrinsic与curiosity两个奖励信号curiosity: {gamma: 0.99, strength: 0.02, network_settings: {hidden_units: 256}, learning_rate: 0.0003}hidden_units达到 512、max_steps: 10000000说明这类多阶段任务需要大规模探索。此外 config/ppo/PyramidsRND.yaml 提供了 RND随机网络蒸馏内在奖励的替代方案可供对比不同内在奖励机制的效果。Match 3消消乐自定义传感器与执行器环境设置简易消消乐游戏。匹配的棋子被消除剩余棋子下落顶部随机生成新棋子并有一定概率为特殊棋子。目标最大化消除棋子的得分。智能体多个独立 Agent。奖励函数独立奖励每消除 1 个普通棋子 0.01特殊棋子价值 2 倍或 3 倍。行为参数无传统意义上的观测/动作——观测与动作分别由传感器Sensor与执行器Actuator自定义定义。Float Properties无。基准平均奖励视觉观测 39.5向量观测 38.5简单启发式随机合法移动34.2贪心启发式选择得分最高的合法移动37.0。Match 3 专门演示了自定义传感器与自定义执行器机制观测通过Match3Sensor类见 Runtime/Integrations/Match3 目录描述棋盘状态动作通过Match3Actuator描述交换哪两个棋子而非标准的向量/视觉观测与连续/离散动作。因此其观测与动作空间维度随棋盘尺寸变化只能通过传感器/执行器组件注册。训练配置见 config/ppo/Match3.yaml并配套 Integrations-Match3.md 的详细集成文档。Sorter变长观测的排序任务环境设置Agent 位于铺有编号瓷砖1~20 随机取值的圆形房间中每回合瓷砖随机重置。Agent 访问过某瓷砖后该瓷砖变绿。目标按升序访问所有瓷砖。智能体1 个 Agent。奖励函数存在性惩罚每步 -0.0002访问正确瓷砖 1访问错误瓷砖 -1。行为参数向量观测4 维2 个位置浮点 2 个朝向浮点变长观测Variable Length Observations1~20 个实体每个瓷砖一个每个实体 22 个观测——前 20 个为该瓷砖数值的 One-Hot 编码第 21、22 个为瓷砖相对 Agent 的位置第 23 个为是否已访问1/0动作3 个离散分支前后移动、侧向移动、旋转。Float Properties1 个num_tiles采样的最大瓷砖数量。默认 2建议范围 1~20。基准平均奖励取决于瓷砖数量。Sorter 的教学重点是变长观测Variable Length Observation环境中实体的数量瓷砖数每回合可能不同无法用固定维度向量描述。解决方案是 Runtime/Sensors/BufferSensor.cs 与 Runtime/Sensors/BufferSensorComponent.cs 实现的缓冲传感器——观测数量动态变化但单实体维度固定由网络对实体特征做聚合。对应原理详见 variable-length-observation 图示 与 Custom-GridSensors.md。Cooperative Push Block多智能体协作推箱环境设置与 Push Block 类似但需要多智能体协作小方块 1 个 Agent 即可推入价值 1中方块需 2 个 Agent 推入价值 2大方块需全部 3 个 Agent 推入价值 3。目标将所有方块推入目标区。智能体3 个 Agent处于同一个多智能体组Multi Agent Group。奖励函数组奖励Group Reward形式的存在性惩罚每步 -0.0001推入方块 1、2 或 3以组奖励形式发放。行为参数观测空间单个 Grid Sensor为每种方块尺寸、目标、墙与其他 Agent 使用独立标签tag动作1 个离散分支7 个动作顺时针/逆时针转向、四个面方向移动、不动。Float Properties无。基准平均奖励11组奖励。Dungeon Escape协作逃脱地牢环境设置Agent 与一条龙被困在地牢中必须协作逃生。要取得钥匙其中一个 Agent 必须找到并击杀巨龙自我牺牲巨龙掉落钥匙供其他 Agent 使用其他 Agent 拾取钥匙打开地牢门。如果耗时过长巨龙会从传送门逃走环境重置。目标打开地牢门并离开。智能体3 个 Agent 处于同一个多智能体组另有 1 条按固定路线移动的巨龙。奖励函数任一 Agent 成功开门并离开地牢全体获得 1 组奖励。行为参数观测空间Ray Perception Sensor为墙、其他 Agent、门、钥匙、巨龙与巨龙传送门分别设置标签外加 1 个表示是否持有钥匙的向量观测动作1 个离散分支7 个动作转向、四方向移动、不动。Float Properties无。基准平均奖励1.0组奖励。Cooperative Push Block 与 Dungeon Escape 是MA-POCA 多智能体协作的高级示例配置见 config/poca/PushBlockCollab.yaml 与 config/poca/DungeonEscape.yaml。Dungeon Escape 尤其展示了牺牲式协作一个 Agent 自我牺牲换取群体收益这一高难度涌现行为组奖励设定迫使 MA-POCA 在全体成功的稀疏信号下学习角色分工。环境对照速查与训练配置索引环境场景文件Project/Assets/ML-Agents/Examples/下观测 / 动作类型基准平均奖励关键训练配置config/下BasicBasic/Scenes/Basic.unity向量 1 / 离散 30.93ppo/Basic.yaml3DBall3DBall/Scenes/3DBall.unity含 Hard/Visual 变体向量 8 / 连续 2100ppo/3DBall.yaml、ppo/3DBallHard.yaml、ppo/Visual3DBall.yamlGridWorldGridWorld/Scenes/GridWorld.unity视觉 One-Hot 目标 / 离散 50.8ppo/GridWorld.yamlPush BlockPushBlock/Scenes/PushBlock.unity射线 70 / 离散 74.5ppo/PushBlock.yaml、sac/PushBlock.yamlWall JumpWallJump/Scenes/WallJump.unity向量 74 / 4 离散分支0.8ppo/WallJump.yaml、ppo/WallJump_curriculum.yamlCrawlerCrawler/Scenes/Crawler.unity向量 172 / 连续 203000ppo/Crawler.yaml、sac/Crawler.yaml、imitation/Crawler.yamlWormWorm/Scenes/Worm.unity向量 64 / 连续 9800ppo/Worm.yaml、sac/Worm.yamlFood CollectorFoodCollector/Scenes/FoodCollector.unity含 Visual 变体向量 53 网格 / 连续 3 离散 210ppo/FoodCollector.yaml、ppo/VisualFoodCollector.yamlHallwayHallway/Scenes/Hallway.unity向量 30 / 离散 40.7ppo/Hallway.yaml可加 curiosity、sac/Hallway.yaml、imitation/Hallway.yamlSoccer TwosSoccer/Scenes/SoccerTwos.unity向量 336 / 3 离散分支—poca/SoccerTwos.yamlStrikers Vs. GoalieSoccer/Scenes/StrikersVsGoalie.unity向量 294/738 / 3 离散分支—poca/StrikersVsGoalie.yamlWalkerWalker/Scenes/Walker.unity向量 243 / 连续 392500ppo/Walker.yaml、sac/Walker.yamlPyramidsPyramids/Scenes/Pyramids.unity向量 148 / 离散 41.75ppo/Pyramids.yamlcuriosity、ppo/PyramidsRND.yamlMatch 3Match3/Scenes/Match3.unity自定义传感器/执行器39.5视觉等ppo/Match3.yamlSorterSorter/Scenes/Sorter.unity向量 4 变长 / 3 离散分支视瓷砖数而定—可选Cooperative Push BlockPushBlock/Scenes/CoopPushBlock.unityGrid Sensor / 离散 711组奖励poca/PushBlockCollab.yamlDungeon EscapeDungeonEscape/Scenes/DungeonEscape.unityRay Perception 向量 1 / 离散 71.0组奖励poca/DungeonEscape.yaml说明部分研究型示例如 Soccer Twos、Sorter 等属于Optional范畴官方不保证提供配套的预训练模型表中训练配置列给出的是仓库config目录下实际存在的 YAML 文件。所有.onnx预训练模型均位于对应示例目录的TFModels子文件夹内可直接通过mlagents-learn的--resume或推理模式加载验证。如何基于示例环境进一步深入学习设计新环境以 Basic/3DBall 为最小骨架参考 Learning-Environment-Create-New.md 逐步实现自己的场景奖励、观测、动作设计规范见 Learning-Environment-Design-Agents.md。端到端训练流程完整的分步式示例见 Sample.md3DBall 实战训练命令与参数语义见 Training-ML-Agents.md 与 Training-Configuration-File.md。进阶特性入口动作掩码GridWorld、观测堆叠Soccer 系列、LSTM 记忆Hallway、内在奖励Pyramids、变长观测Sorter、自定义传感器/执行器Match 3、多智能体组与 MA-POCASoccer/Strikers/Coop Push Block/Dungeon Escape分别对应 Runtime/Actuators、Runtime/Sensors、Runtime/Integrations/Match3 与 ml-agents/mlagents/trainers 等目录下的实现。提交自己的环境若你基于这些示例开发了新环境并希望贡献回社区请参照 CONTRIBUTING.md 的贡献指南。这套示例环境覆盖了从单智能体离散控制、连续控制、视觉感知、记忆决策到多智能体协作的完整谱系既是 ML-Agents 官方特性的活体演示也是开展强化学习研究与工程落地的可靠起点。【免费下载链接】ml-agentsThe Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.项目地址: https://gitcode.com/gh_mirrors/ml/ml-agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价