| tags: | |
| - unity-ml-agents | |
| - deep-reinforcement-learning | |
| - reinforcement-learning | |
| - ML-Agents-Huggy | |
| library_name: ml-agents | |
| # PPO Agent for Huggy 🐶 | |
| 这是一个使用 **Unity ML-Agents** 训练的强化学习模型。该模型训练了一个叫 **Huggy** 的蓝色小狗机器人,它的目标是学会在环境中准确地移动并“抱住”目标(通常是玩家的手)。 | |
| ## 训练成果展示 | |
| * **算法**: PPO (Proximal Policy Optimization) | |
| * **训练步数**: 2,000,000 steps | |
| * **平均奖励 (Mean Reward)**: ~3.8 - 4.0 (已收敛) | |
| ## 模型描述 | |
| 该 Agent 使用了深度神经网络(3层,每层 512 个隐藏单元)来处理环境观测。 | |
| - **观测空间 (Observation Space)**: 包含 Huggy 的关节位置、速度以及目标物体的相对位置。 | |
| - **动作空间 (Action Space)**: 连续动作,控制 Huggy 各个腿部关节的力矩。 | |
| ## 使用方法 | |
| 要在 Unity 中使用此模型: | |
| 1. 安装 [Unity ML-Agents Toolkit](https://github.com/Unity-Technologies/ml-agents)。 | |
| 2. 下载本仓库中的 `Huggy.onnx` 文件。 | |
| 3. 将 `.onnx` 文件拖入 Unity 项目。 | |
| 4. 在 Huggy 对象的 `Behavior Parameters` 组件中,将该文件拖入 `Model` 字段。 | |
| 5. 按下 Play 键观察效果。 | |
| ## 训练配置 (Hyperparameters) | |
| ```yaml | |
| trainer_type: ppo | |
| hyperparameters: | |
| batch_size: 2048 | |
| buffer_size: 20480 | |
| learning_rate: 0.0003 | |
| beta: 0.005 | |
| epsilon: 0.2 | |
| lambd: 0.95 | |
| num_epoch: 3 | |
| learning_rate_schedule: linear | |
| network_settings: | |
| normalize: true | |
| hidden_units: 512 | |
| num_layers: 3 |