一个网格寻路任务:起点固定,目标在终点,用 Q-Learning 训练。为了加速收敛,有人加了塑形奖励:每一步如果 agent 离目标的曼哈顿距离比上一步小,就给 +0.1,否则给 0;到达目标额外给 +1 并终止。训练后发现 agent 学会了在目标附近来回横跳,平均累计奖励反而比直奔目标更高。请解释这个现象是怎么产生的,并写出你修正后的奖励公式和理由。
面试官在考什么
是否理解 agent 优化的到底是不是 '你想要的意图',以及势能式塑形这个具体判据。
回答框架 · 前两步
- 原因:塑形项不是势能差,而是 '距离减少就给 +0.1',来回振荡的过程中每一次接近都会加一次分,形成局部循环收益,agent 会发现刷分比真正到达终止更划算。
- 修正:用势能式塑形 F(s,s')=γΦ(s')−Φ(s),取 Φ(s)=-曼哈顿距离(可乘系数);这样任何闭路上沿途塑形之和为 0,不改变最优策略。
还有 2 条答案要点、 3 层追问、 5 个常见坑, 以及针对你简历的追问路径,在定制报告里。
同一能力域的其他题
- 你要给一个 3 台 AGV 的仓库分拣场景建 MDP:决策频率 1 Hz,一个班次 8 小时(28800 步),要求班次结束前清空所有任务。你初始定 γ=0.99。请回答两件事:(1) 你会不会改这个 γ,改成多少,依据是什么,改完会连带影响哪些训练环节;(2) 如果状态只记录“每台 AGV 当前坐标 + 是否空闲”,它在什么情况下不满足马尔可夫性,你打算怎么判断,并补哪些量。
- 你要给一个仓库机器人调度问题建 MDP:状态=(机器人位置, 剩余电量, 已取货任务集合)。位置是 50x50 网格,电量 0-100,任务列表最多 20 个。粗算状态空间约 2.6e11,动作空间 20(去某个货架)。单次环境 step 平均 0.5ms,你有 8 张卡并行采样。有人提出用表格型 Q-Learning 精确求解。请你估算并判断:这个方案是否可行?如果不可行,你会优先降低状态空间还是降低动作空间?为什么?
- 你在给一个补货场景建模成 MDP:决策周期 1 天,动作是每个 SKU 的补货量,奖励是「毛利 − 缺货惩罚 − 持有成本」。团队里有人主张状态直接塞过去 14 天的日销量序列,有人主张只放当前库存 + 未来 7 天需求预测。你怎么判断哪些信息必须进状态、哪些可以丢?给出你会做的验证实验和判断标准,并说明状态维度放大会付出什么代价。
- 一个 agent 在 1×4 的走廊里移动,状态记为 S1、S2、S3、S4,动作只有向左(L)和向右(R),在 S1 向左仍在 S1。每次状态转移的 reward 都是 -0.01;但转移到 S4 的那一次转移 reward 为 +1,并且回合立即终止。折扣因子 γ=0.9。请写出这个问题的 MDP 五元组(S、A、P、R、γ 的具体内容),并求出最优策略下 V*(S2) 的值,给出计算过程。
- 你用表格 Q-Learning 做一个离散库存补货问题,状态 200 个、动作 5 个,奖励是单步利润(可正可负)。学习率固定 0.1,ε 固定 0.2,跑了 10 万步以后发现 Q 值一直在某个区间来回震荡,贪心策略时好时坏。请说明:这算不算不收敛?可能的原因有哪些?你会按什么顺序排查和修?
- 场景:20 个货架的拣货路径优化,状态=(当前位置, 已拣货集合),动作=去下一个货架。状态约 2^20 * 21 ≈ 2200 万,动作 20。你用表格型 Q-Learning 训练 500 万步,发现部分状态的 Q 值来回震荡不收敛。请给出一个具体的排查顺序,并说明每一步你会看什么指标、怎么改。