状态:草稿(2026-10-18),实测。 数字是通过笔记本(Apple M1 Max,macOS 26.5)上的 Python 3.9.6 和 numpy 2.0.2 直接计算的模拟值。 原始数据与代码:工作目录
measure/robot-arm-basics/rl/中的ttenv.py,ppo.py,exp_rl.py,结果out/rl/rew_*,out/rl/hyb_*,out/rl/ppo_base_*。 所有训练均使用 3 个随机种子,评估使用未参与训练的 1,000 个球。没有实际的机器人实验(未进行硬件实测)。参考资料查阅于 2026-10-18。 编写规则:以实测数据为基础,无法测量的标注为“未实测”,未确认的标注为“未确认”。
目录
1. 直觉:照章办事
强化学习智能体并不理解设计者的意图,它只知道如何最大化奖励的总和。如果告诉它“击中球即得奖励”,它就会寻找最简单的方法来击中球,而不在乎这个方法是否能把球打进球台。这种利用奖励与真实意图之间偏差的现象被称为奖励黑客攻击(reward hacking)。Amodei 等人(2016)将其列为 AI 安全的具体五个问题之一。
动作空间(action space)也是同样重要的设计。我们可以让策略每 10 ms 决定一次关节加速度,也可以让它只决定一次“何时、以多大力量”击球,其余交由第 1~10 篇中的经典方法处理。前者自由度高但需要学习的内容多,后者学习速度快但如果经典部分存在缺陷则会受其局限。
2. 五种奖励
全部采用直接控制(每 10 ms 关节加速度),PPO 默认设置(第 12 篇),共 19,200 个回合。
| 名称 | 奖励 | 意图 |
|---|---|---|
| 稀疏 | 击入对方球台得 1,否则得 0 | 完全符合期望 |
| 塑形(默认) | 击中得 0.3,进球得 +1,越接近目标(y = 0.9 m)最高奖励 +0.5,未击中则按球拍与球的最近距离扣分(最多 −0.5) | 在训练初期提供引导 |
| 塑形 + 极限惩罚 | 在上述基础上,关节触及极限的每一步扣 −0.05 | 安全 |
| 仅击中 | 击中球即得 1 | 黑客攻击实验 |
| 球速 | 击中后的球速 ÷ 10 | 黑客攻击实验(“用力打肯定好”) |
训练时使用奖励,但 评估时始终采用同一标准,即“是否击入对方球台”。因为在改变了奖励的实验中,直接对比奖励数值是没有意义的。
3. 实测:奖励
| 奖励 | 成功率中位数(最小~最大) | 击中球比例 | 触及关节极限的回合 | 击中球速中位数 |
|---|---|---|---|---|
| 稀疏 | 86.8% (75.4~90.7) | 92~96% | 5~48% | 5.2 m/s |
| 塑形(默认) | 82.9% (76.8~90.9) | 88~94% | 4~79% | 5.3~5.6 m/s |
| 塑形 + 极限惩罚 | 89.2% (77.9~90.3) | 84~92% | 5~8% | 5.3~5.5 m/s |
| 仅击中 | 0.0% (0.0~8.9) | 98~99% | 100% | 9~28 m/s |
| 球速 | 0.0% (0.0~0.0) | 98% | 100% | 28.6 m/s |
3.1 奖励黑客攻击
“仅击中”和“球速”在奖励指标上取得了巨大成功:球拍击中了 98% 的球,“球速”策略将球以平均 28.6 m/s 的速度击出。然而,几乎没有球落入对方球台。这两种策略在所有回合中都将关节操纵到了极限。因为让球拍以最快速度运动更容易触及球并且球速更快。如果是在现实机器人中,这将是一个每次击球都会撞击关节限位器的策略。
教训很简单: 应当通过真正的目标来评估,而不是看奖励数值;如果奖励上升而目标没有变化,就应当怀疑发生了黑客攻击。
3.2 稀疏奖励与塑形奖励
塑形奖励通常被推荐为“训练初期的引导”,但在本问题中,稀疏奖励(86.8%)的表现甚至略高于塑形奖励(82.9%)(由于只有 3 个种子,差异在误差范围内)。推测原因有二:第一,随机策略也有 1.5% 的成功率(第 11 篇),因此在每轮 64 个回合中,总会有一两个回合收到成功信号。既然成功并非极其罕见,也就不太需要过多的引导。第二,“击中得 0.3”这样的中间奖励会教导智能体“击中但出界”好于“没击中”,从而引入了与目标略有偏差的方向。塑形奖励在成功极为罕见的问题中(例如从一开始就用 7 自由度机械臂进行扣杀)才能发挥价值,即便在那种情况下,也必须精心设计以避免与目标产生背离(未实测)。
3.3 关节极限惩罚
仅凭一项惩罚,触及极限的回合比例就从 4%~79% 下降到了 5%~8% 且成功率并未下降(89.2%)。第 12 篇的默认策略触及极限,并不是因为需要触及极限,而是因为 没有被告知不要触及极限。还有一种观点认为,安全条件最好作为约束而不是奖励来处理,这样更加稳妥。现实中的机器人除了惩罚外,还会在控制器端设置硬件限位。
4. 行动空间:直接控制与混合控制
直接控制与第 11 篇完全相同。每个回合大约有 100 次决策,时机、轨迹和球拍角度都需要策略自行摸索。
混合控制在第一步仅选择两个数字:接触角度的修正量 $\Delta\varphi$($\pm0.15$ rad)以及击球瞬间的球拍角速度 $\dot{\varphi}_c$($0\sim8$ rad/s)。其余部分采用经典方法。利用飞行模型(第 6 篇)预测球进入球拍圆弧的位置和时间,生成以该速度到达该位置的 5 次多项式轨迹(第 8 篇)并直接执行。作为强化学习问题,它简化为单步决策(上下文强盗问题)。每次迭代使用 64 个球进行 120 次迭代(共 7,680 个球)的训练。
我们尝试了两种预测器:一种是像第 6 篇“B 模型”那样不考虑旋转的预测器,另一种是考虑旋转的预测器。
| 行动空间 | 成功率中位数(最小~最大) | 首次超过 40% 的球数(种子中位数) | 触及关节极限的回合 |
|---|---|---|---|
| 直接控制(塑形奖励) | 82.9% (76.8~90.9) | 5,120 | 4~79% |
| 混合控制,不考虑旋转的预测器 | 46.3% (36.1~48.0) | 1,920 | 0~0.7% |
| 混合控制,考虑旋转的预测器 | 65.6% (39.0~73.8) | 1,280 | 0.3~0.9% |
无学习的基准线为:混合动作空间的最优常数动作 46%,不考虑旋转模型的网格规划器 40%,通过真实结果选出的网格上限 85%(第 11 篇)。
4.1 阅读所得
- 混合方法速度很快。 成功率超过 40% 时,直接控制消耗了 5,120 个球(种子中位数),而混合方法仅需 1,280~1,920 个球。由于每 640 个球进行一次评估,因此这是一个相对粗略的测量值。这是因为它只需要学习两个数字。 Tebbe 等人(2021)也在摘要中提到,仅将击球瞬间的球拍状态(方向、速度)作为动作,在无需预训练的情况下,200 个回合内即可获得准确的结果。
- 但它受限于经典部分的局限性。 使用不考虑旋转预测器的混合方法无法超越最优常数动作(46%)。因为如果预测的接触点不准确,仅靠 $\Delta\varphi \pm0.15$ rad 的修正甚至无法触及球。当让预测器考虑旋转后,成功率上升到了 66%。 混合方法的性能由经典部分的质量决定。 这与第 10 篇中“只有当方程缩小了未知范围时,学习才是廉价的”是同一个道理。
- 混合方法很安全。 由于轨迹是在极限范围内规划的,触及极限的回合比例低于 1%。而在没有惩罚的情况下,直接控制最高可达 79%。
- 混合方法的训练过程会出现波动。 考虑旋转的混合方法在训练过程中的评估成功率在 10%~81% 之间晃动,若取最终值,其中一个种子只有 39%。在强盗问题中,每次迭代的 64 个球是一个噪声很大的样本。我们遵循了报告“最终结果”而非“表现最好的瞬间”的规则(第 15 篇)。
- 直接控制之所以能接近混合控制的上限(85%)附近,我们推测是因为直接控制能够在 1 个自由度内更自由地组合击球角度和速度(例如挥拍过程中的减速)。
4.2 实际系统的选择
| 系统 | 学习所选择的内容 |
|---|---|
| Büchler 等人 2022 (v1) | 8 个肌肉的压力变化(最低层级) |
| D'Ambrosio 等人 2023 | 默认 8 个关节速度,还对比了球拍位置 3 + 法线 2 的任务空间动作 |
| D'Ambrosio 等人 2024 | 技能策略为关节速度(50 Hz),之上的高层控制器从 17 个技能中选择一个 |
| Tebbe 等人 2021 | 击球瞬间的球拍状态(方向、速度) |
越往下越依赖经典部分(轨迹、逆运动学、球预测)。我们建议首个开源硬件机器人从混合控制起步以获得样本效率与安全性,在暴露出经典部分的弱点(旋转预测)之后,再对其进行修正或通过学习加以扩展。
5. 局限性
- 塑形奖励的系数(0.3, 0.5, 0.05)只测试了一组。使用其他系数可能会得到不同的结果(未实测)。
- 混合方法的策略输入仅包含初始观测,未将预测的接触点信息输入其中。如果加入该信息可能会有所改善(未实测)。
- 由于只有 3 个种子,相似设置之间(稀疏与塑形、默认与惩罚)的差异在统计上无法区分。
6. 总结
- 奖励是表达期望的唯一途径。如果对“击中”或“用力”给予奖励,就会产生击中 98% 但进球 0% 的策略。应当始终以真实目标进行评估。
- 在本问题中,仅靠稀疏奖励就足够了。塑形奖励是专门针对成功极其罕见的情况而准备的工具。
- 必须明确提及安全才能守住底线。仅凭一项关节极限惩罚,极限碰撞次数就减少了十倍。
- 只学习击球参数的混合方法既快速又安全,但受限于经典部分的缺陷。将预测器更换为考虑旋转的预测器后,成功率从 46% 提升到了 66%。
蒂蒂小结: “只要击中球就表扬”,结果机器人把球全击中了却一个也没打进去!表扬必须只给真正想要的结果!
参考
所有资料查阅于 2026-10-18。
- Amodei 等人,Concrete Problems in AI Safety, arXiv:1606.06565,摘要。
- Tebbe, Krauch, Gao, Zell, Sample-efficient Reinforcement Learning in Robotic Table Tennis, arXiv:2011.03275(ICRA 2021), 摘要。
- D'Ambrosio 等, arXiv:2309.03315(动作空间对比), arXiv:2408.03906(技术策略与高级控制器)。
- Büchler 等, arXiv:2006.05935 v1。