教孩子骑自行车,你绝不会先让他背牛顿定律。他只需要看着路、感觉重心(状态),决定蹬腿还是捏闸(动作),然后发现自己骑得稳不稳(奖励)。摔上几十跤,他忽然就学会了——这个“摔出来的智慧”,正是强化学习(RL)教机器人做复杂控制的核心逻辑。机器人先在“数字操场”(仿真环境)里摔上几百万跤,再用“随机路况”(域随机化)练出抗摔能力,通过“糖果规则”(奖励函数)和“教练示范”(模仿学习),一步步走向真实的工厂和客厅。这篇文章,带你完整走一遍“从操场到马路”的旅程。

岗位关联

机器人控制是强化学习最典型的落地场景,掌握仿真训练与 sim2real 迁移的整套方法论,是进入具身智能与机器人研发行业的关键入场券。

目录
  1. 可视化演示
  2. 入门第一课:状态、动作与奖励
  3. 仿真训练场:在数字操场摔个够
  4. 跨越现实鸿沟:sim2real 与域随机化
  5. 奖励设计艺术:给机器人定规矩
  6. 模仿学习加速:先看教练怎么骑
  7. 实战部署优化:从操场骑向真实世界
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

演示Sim-to-Real迁移挑战、奖励函数安全约束设计、模仿学习加速训练收敛三大场景,点击按钮切换模式。

本节配有交互动效(进入视口后自动加载,约 3KB)。

Sim-to-Real迁移挑战 仿真环境训练→真实部署存在现实差距 域随机化提升策略对未知环境的鲁棒性 π_real ≈ π_sim(域随机化) 摩擦/质量/延迟等参数随机采样

入门第一课:状态、动作与奖励

教孩子骑自行车,你从不说“先背牛顿定律”。他只需要看着路、感觉重心(状态),决定蹬腿还是捏闸(动作),然后感受自己骑得好不好(奖励)。强化学习教机器人控制,用的正是这套“观察-决策-打分”的循环。

机械臂和四足机器人也一样:装在关节里的编码器与力传感器就是它的“眼睛”,读出的关节角度、角速度叫做状态;它输出的每一路电机力矩叫做动作。RL 不告诉机器人每一步该做什么,只不断调整它的决策规则——策略——让累计奖励越来越大。

机器人控制任务可分成机械臂抓取、四足行走、人形平衡三类,共同点是高维、连续、强耦合。传统控制需要人类推导精确的动力学方程,RL 则把它变成“最大化期望累计奖励”的优化问题:

老骑手的“肌肉记忆”,其实就是这样一套被千万次试错优化过的策略:看到坑洼就减速,车身倾斜就修正。RL 做的,不过是把这份“摔出来的智慧”写进神经网络。

J(θ)=Eτ∼πθ[∑t=0Tγtrt]\displaystyle J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{T} \gamma^{t} r_t \right]
这个公式说的是:机器人的全部目标,就是让一整段“骑行过程”里每一步小奖励加起来的期望最大。θ 是策略参数,γ 是折扣因子。
  1. 策略 πθ策略是“看到什么状态就做什么动作”的决策规则,θ 是它的参数,训练就是不断修改 θ。
    πθ(at∣st)\pi_\theta(a_t \mid s_t)
  2. 轨迹 τ从起步到结束,机器人经历的所有状态和动作连起来是一条轨迹。
    τ=(s0,a0,s1,a1,…,sT,aT)\tau = (s_0, a_0, s_1, a_1, \dots, s_T, a_T)
  3. 折扣奖励和把每一步奖励 r_t 加起来,但远期奖励要打折扣 γ^t,因为未来的事越来越不确定。
    ∑t=0Tγtrt\sum_{t=0}^{T} \gamma^{t} r_t
  4. 期望最大化环境有随机性,目标是让所有可能轨迹的累计奖励平均最大。
    θ∗=arg⁡max⁡θJ(θ)\theta^{*} = \arg\max_{\theta} J(\theta)

仿真训练场:在数字操场摔个够

孩子学车先找操场:地面软、没车、摔了不疼。真机试错一次就可能是撞坏货架、烧毁电机。所以工程师先在“数字操场”——仿真环境里让机器人摔个够。

MuJoCo、Isaac Gym 这类仿真平台,把重力、摩擦、碰撞定律写进程序。机器人每输出一个动作,仿真器就按物理公式算出下一时刻的状态、给出奖励分数。一个晚上能模拟好几年的走路经验,成本几乎为零。

训练循环是“观测→决策→执行→反馈”四拍子。四足机器人有 12 个关节,每个关节要输出力矩,动作空间是 12 维;状态空间则包含几十个关节角度、角速度与姿态量。策略在这些高维空间里逐步摸索,靠的是策略梯度:

在操场摔过几百次的孩子,肌肉会记住“什么姿势不会摔”;在仿真里跑过几千万步的机器人,网络也记住了“什么力矩序列不会倒”。但操场终究不是马路——跨出仿真,真正的考验才开始。

∇θJ(θ)=Eτ[∑t=0T∇θlog⁡πθ(at∣st) Gt]\displaystyle \nabla_\theta J(\theta) = \mathbb{E}_{\tau} \left[ \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t \mid s_t) \, G_t \right]
策略梯度的直觉是“事后诸葛亮”:一条轨迹跑完,如果总回报好,就把这条轨迹上出现过的动作概率调高;回报差,就调低。
  1. 对数概率梯度它表示“让策略在某个状态更倾向于某个动作”的调整方向。
    ∇θlog⁡πθ(at∣st)\nabla_\theta \log \pi_\theta(a_t \mid s_t)
  2. 回报 G_t从第 t 步开始,之后所有折扣奖励的总和,衡量“这一步之后过得好不好”。
    Gt=rt+γrt+1+γ2rt+2+⋯G_t = r_t + \gamma r_{t+1} + \gamma^2 r_{t+2} + \cdots
  3. 期望计算把所有可能的轨迹都考虑进来求平均,避免单次随机波动误导更新。
    Eτ[ ⋅ ]\mathbb{E}_{\tau}[\,\cdot\,]
  4. 梯度上升沿着梯度方向更新参数,让累计奖励期望一步步变大。
    θ←θ+α∇θJ(θ)\theta \leftarrow \theta + \alpha \nabla_\theta J(\theta)

跨越现实鸿沟:sim2real 与域随机化

孩子在操场骑得再溜,一上柏油路也发慌:摩擦不同、风不一样、路面还有小石子。仿真和现实之间同样存在这种“看不见的差距”,工程师叫它 sim2real gap。

一条务实的路是域随机化:训练时把仿真参数当成“可调的路况”随机打乱——质量 ±20%、摩擦 ±30%、电机响应延迟 ±10 毫秒。机器人见惯了各种参数组合,真机上那点偏差反而显得“稀松平常”。

想更精细,还可以做系统辨识:记录真机运动数据,反过来标定仿真参数,让“数字操场”尽量复刻“真马路”。训练完成的策略还必须回到真实环境做迁移评测。域随机化的训练目标,是让策略在所有可能环境上平均表现最优:

见过大风大浪的孩子换条路照样骑;在随机化世界里打磨过的策略,搬到现实也不易翻车。这就是 sim2real 的哲学:与其猜现实的底细,不如让机器人提前见遍所有可能的现实。

θ∗=arg⁡max⁡θEξ∼Ξ[J(θ,ξ)]\displaystyle \theta^{*} = \arg\max_{\theta} \mathbb{E}_{\xi \sim \Xi} \left[ J(\theta, \xi) \right]
这里的 ξ 是每次训练时随机抽取的环境参数组合,Ξ 是参数的范围分布。公式的意思是:别只练一种路况,要把每种路况都练到平均最优。
  1. 随机参数 ξ每次开一局新训练,都从分布里抽一组物理参数,比如摩擦系数。
    ξ∼Ξ\xi \sim \Xi
  2. 特定环境下的表现在参数为 ξ 的环境中,策略 θ 能拿到的累计奖励。
    J(θ,ξ)J(\theta, \xi)
  3. 先平均再最优先对所有可能的环境求期望,再找出让期望最大的 θ。
    θ∗=arg⁡max⁡θEξ∼Ξ[J(θ,ξ)]\theta^{*} = \arg\max_{\theta} \mathbb{E}_{\xi \sim \Xi}[J(\theta, \xi)]

奖励设计艺术:给机器人定规矩

如果你只对孩子说“骑到终点给十颗糖”,他很可能会推着车走过去——糖到手了,骑术没练到。机器人也一样,奖励函数有漏洞,它一定钻空子,这叫 reward hacking。

稀疏奖励只在任务完成时给分,目标纯粹但探索太慢;稠密奖励每一步根据距离打分,学得快却容易诱导走捷径。折中的办法是奖励塑形:额外加一个“势能差”,离目标更近就加分,更远就减分。

安全约束同样要注入奖励——摔倒扣分、靠近危险区重罚。但塑形不能乱加,否则最优策略会被改写。势函数塑形有理论保证:

聪明家长的反馈是即时的:骑正了夸一句,歪了提醒一声,但大奖永远在终点。奖励塑形正是如此——它只加速学习,不偷换目标。

r′(s,a,s′)=r(s,a)+γΦ(s′)−Φ(s)\displaystyle r'(s, a, s') = r(s, a) + \gamma \Phi(s') - \Phi(s)
直觉是:比上一刻更靠近目标,就奖励“进步”;更远了,就惩罚“倒退”。这条公式最妙的地方是——不管 Φ 怎么设,最优策略不会改变,只是学得更快。
  1. 原始奖励 r(s, a)环境本身给的分数,比如到终点 +10、每步 -1。
    r(s,a)r(s, a)
  2. 势能函数 Φ衡量“当前位置离目标多近”,越近 Φ 值越大。
    Φ(s)\Phi(s)
  3. 势差项下一步的势能折现后减去当前势能,正数表示这一步有进步。
    γΦ(s′)−Φ(s)\gamma \Phi(s') - \Phi(s)
  4. 塑形后奖励原始奖励加上势差,就是机器人实际感知到的奖励。
    r′=r+γΦ(s′)−Φ(s)r' = r + \gamma \Phi(s') - \Phi(s)

模仿学习加速:先看教练怎么骑

有的孩子光靠摔是学不会的,父母会先扶着他跑几圈,让他找到正确动作的节奏。机器人也有这样的“教练”:人类专家通过遥控操作,录下一段段行云流水的示范。

行为克隆是最直接的模仿:把专家的“状态-动作”对当作训练数据,让策略照着学。但它的软肋是分布偏移——机器人一旦偏离专家轨迹,就会掉进“教练从没示范过的状态”,寸步难行。

DAgger 专门治这个病:机器人边执行边把陌生状态实时交给专家纠偏,让演示数据越滚越全。实战中更常用两段式:先行为克隆练一个“基本会骑”的预训练模型,再用 RL 微调。行为克隆的优化目标是最小化负对数似然:

扶着车把的手总会松开。模仿学习让机器人站在教练的肩膀上起步,省掉最痛苦的早期探索;RL 微调则负责处理教练没教过的意外——就像孩子终究要独自面对路上的一切。

L(θ)=−E(s,a)∼Ddemolog⁡πθ(a∣s)\displaystyle \mathcal{L}(\theta) = -\mathbb{E}_{(s, a) \sim \mathcal{D}_{\text{demo}}} \log \pi_\theta(a \mid s)
意思是:对专家做过的每个动作,机器人都要尽量提高“它在同样状态下选这个动作”的概率,相当于把教练的示范刻进肌肉记忆。
  1. 演示数据集专家示范时记录下来的所有“状态-动作”配对。
    Ddemo={(s1,a1),(s2,a2),… }\mathcal{D}_{\text{demo}} = \{(s_1, a_1), (s_2, a_2), \dots\}
  2. 对数似然策略给专家动作打的“概率分”,越高说明模仿得越像。
    log⁡πθ(a∣s)\log \pi_\theta(a \mid s)
  3. 负号取期望加负号把“最大化概率”变成“最小化损失”,并平均到所有演示样本。
    −E(s,a)∼Ddemo[log⁡πθ(a∣s)]-\mathbb{E}_{(s, a) \sim \mathcal{D}_{\text{demo}}}[\log \pi_\theta(a \mid s)]

实战部署优化:从操场骑向真实世界

孩子终于独立上路,可路上有斜坡、有雨天、有红绿灯。机器人部署到现实世界同样要过五关斩六将:机械臂抓取、四足行走、人形平衡,全是前面所有技巧的“总装现场”。

机械臂抓取靠视觉定位物体位姿,RL 策略把位姿映射成关节力矩轨迹;四足行走把仿真里练出的鲁棒步态搬到草地、碎石与楼梯;人形机器人的几十个关节高维协调,重心与足底接触力管理是核心难点。

工程化还要盯三件事:推理延迟要压到控制周期以内(否则算完就摔了)、异常时切回保守控制器兜底、用一个硬指标验收迁移效果:

从操场到马路、从晴天到风雨,孩子长成独当一面的骑手;机器人也从仿真走进仓库、园区与客厅——这正是强化学习在机器人控制领域最动人的注脚。

Task Success=1N∑i=1NI[第 i 次任务达成]\displaystyle \text{Task Success} = \frac{1}{N} \sum_{i=1}^{N} \mathbb{I}[ \text{第 } i \text{ 次任务达成} ]
在真实环境里跑 N 次任务,成功记 1、失败记 0,求平均就是成功率。这是衡量 sim2real 迁移效果最硬的一把尺子。
  1. N 次独立试验把策略放到真实环境里重复执行 N 次同种任务。
    i=1,2,…,Ni = 1, 2, \dots, N
  2. 指示函数任务达成记 1,未达成记 0。
    I[successi]\mathbb{I}[\text{success}_i]
  3. 平均值所有试验的平均值就是成功率,取值在 0 到 1 之间。
    1N∑i=1NI[⋅]\frac{1}{N} \sum_{i=1}^{N} \mathbb{I}[\cdot]

AI 应用场景

机械臂分拣(仓储物流)

阶段:仿真训练 + sim2real 迁移 + 部署推理

解决的问题:传统机械臂靠人工示教,只能分拣固定位置的货物;商品形状千变万化,人工编程不现实。RL 策略在仿真里学会“看位姿→算力矩→抓取”的泛化能力,再经域随机化迁移到真实分拣线。

具体案例:某电商仓库的机械臂每天处理上万件包裹,先用 Isaac Gym 仿真训练抓取策略,加入光照、摩擦、物体形状随机化,再部署到 12 台机械臂上,抓取成功率从 82% 提升到 97%。

四足机器人巡检(园区与变电站)

阶段:仿真场景构建 + 域随机化训练 + 真机评测

解决的问题:无人机在室内和地下管道飞不了,轮式机器人爬不了楼梯。四足机器人需要在不平整地面保持平衡,纯靠人工写步态控制律几乎不可能覆盖所有地形。

具体案例:某电力公司用四足机器人巡检变电站,工程师在仿真里随机化地面摩擦与坡度,训练出鲁棒步态策略,迁移到真机后能在草地、碎石、楼梯间稳定行走,续航比人工遥控提升 3 倍。

人形机器人平衡控制(研究前沿)

阶段:高层动作生成 + RL 底层控制 + 安全兜底

解决的问题:人形机器人重心高、自由度多,手写平衡控制器难维护。RL 将“保持直立”建模为连续控制任务,用奖励函数惩罚倾斜,让网络自动学会步态切换与扰动恢复。

具体案例:某实验室人形机器人结合模仿学习和 RL:先用真人动作捕捉数据预训练,再在仿真中对随机推搡做 RL 强化,实现在被侧向撞击后 0.3 秒内恢复平衡。

Python 演示

python68 行
import numpy as np  class RobotTrack:    """Robot moving on a 1D track, target is the rightmost cell."""     def __init__(self, length=10):        self.length = length        self.pos = 0        self.target = length - 1     def reset(self):        self.pos = 0        return self.pos     def step(self, action):        move = action - 1  # 0:left 1:stay 2:right        self.pos = max(0, min(self.length - 1, self.pos + move))        if self.pos == self.target:            return self.pos, 10.0, True        return self.pos, -1.0, False  class QLearningAgent:    """Q-table agent that records value of each state-action pair."""     def __init__(self, state_count, action_count, alpha=0.5, gamma=0.9, epsilon=0.2):        self.q = np.zeros((state_count, action_count))        self.alpha = alpha        self.gamma = gamma        self.epsilon = epsilon        self.action_count = action_count     def choose_action(self, state):        if np.random.random() < self.epsilon:            return np.random.randint(self.action_count)        return int(np.argmax(self.q[state]))     def update(self, s, a, r, s_next, done):        best_next = 0.0 if done else np.max(self.q[s_next])        td_target = r + self.gamma * best_next        self.q[s, a] += self.alpha * (td_target - self.q[s, a])  def main():    env = RobotTrack(length=10)    agent = QLearningAgent(state_count=10, action_count=3)    episode_rewards = []    for ep in range(300):        s = env.reset()        total_reward = 0.0        done = False        while not done:            a = agent.choose_action(s)            s_next, r, done = env.step(a)            agent.update(s, a, r, s_next, done)            s = s_next            total_reward += r        episode_rewards.append(total_reward)        if (ep + 1) % 50 == 0:            avg = np.mean(episode_rewards[-50:])            print("Episodes %d, avg reward of last 50: %.2f" % (ep + 1, avg))    print("Training done. Q-table:")    print(agent.q)  if __name__ == "__main__":    main()
目的:训练一个一维“机器人”沿轨道走到终点。它只能用左移、原地、右移三个动作,任务是学会最短路径——这就是最简化的机器人控制 Q-learning 演示。
  1. self.q = np.zeros((state_count, action_count))给每个“状态-动作”组合准备一个价值格子,初始都是 0
  2. if np.random.random() < self.epsilon:以 epsilon 的概率随机选动作,保证机器人还在“探险”而不是死守旧经验
  3. return int(np.argmax(self.q[state]))绝大多数时候选 Q 值最大的动作,即当下认为最优的决策
  4. td_target = r + self.gamma * best_next目标价值 = 眼前奖励 + 对未来最佳价值的折扣估计
  5. self.q[s, a] += self.alpha * (td_target - self.q[s, a])用“预期与现实的差”一点点修正 Q 值,这就是学习发生的地方
  6. if (ep + 1) % 50 == 0:每 50 回合打印一次平均奖励,观察训练是否收敛
  7. print("Episodes %d, avg reward of last 50: %.2f" % (ep + 1, avg))早期平均奖励是负的,学会直奔终点后会稳步上升

常见误区

误区“我在 MuJoCo 里已经把机器狗练得健步如飞了,直接烧录到真机,它应该也能健步如飞吧?”

正解仿真里的摩擦力、电机延迟、传感器噪声和现实永远有偏差,这就是 sim2real gap。直接迁移轻则步态变形,重则摔坏硬件。必须做域随机化(训练时随机打乱物理参数)或系统辨识(用真实数据标定仿真),再在真实环境评测成功率。就像孩子在操场骑得再溜,上马路前也要先适应柏油路的摩擦。

为何常见:仿真画面和真机视频一眼看上去很像,人脑容易忽略那些看不见的物理差异——而摩擦力、延迟、噪声恰恰是控制成败的关键。

误区“奖励就是动力,我把每一步的正奖励都调大,机器人应该更有干劲吧?”

正解奖励过大会诱发 reward hacking——机器人找到“骗奖励”的漏洞,比如原地抖动蒙混传感器,而不是真正完成任务。安全约束需要靠惩罚项(摔倒、越界扣分)来实现,正奖励与惩罚要平衡设计。孩子要是发现“装摔倒”能多拿糖,一定天天装摔。

为何常见:直觉上“动力越大越努力”,但强化学习优化的是“奖励信号”而不是“任务本身”,一旦信号有漏洞,策略就会投机取巧。

误区“强化学习最省心,给个环境让机器人自己跑就行,不用做任何设计。”

正解奖励函数怎么定、动作空间怎么设置、仿真环境怎么建模、要不要用模仿学习预热——处处是人类知识的注入。纯靠随机试错,样本量动辄上亿步,真机根本承受不起。RL 是“人类设计学习目标 + 机器人优化目标”的分工。

为何常见:“让 agent 自己学”的宣传太深入人心,让人忽略了 RL 工程里大部分工作是环境建模、奖励设计和数据管道。

误区“我已经录了上千条专家演示,让网络照着重放,机器人不就会了吗?”

正解行为克隆本质是监督学习,只在专家演示覆盖的状态里有效。机器人一旦稍偏离轨迹,落入“没见过的状态”就会连锁出错——这就是分布偏移。用 DAgger 在线纠偏,或行为克隆预训练后再做 RL 微调,才能覆盖长尾情况。

为何常见:监督学习在图像、文本领域太成功,容易让人忽略控制任务的特殊性:动作会影响下一步看到的状态,误差会自我放大。

误区“既然要应对现实的不确定性,把仿真参数随机范围拉到最大,策略一定最鲁棒。”

正解参数扰动范围过大会让任务难到无法学习,机器人根本学不到有效策略;范围太小又起不到迁移效果。得按真实偏差的合理范围精心设计 ξ 的分布,并做消融实验验证。

为何常见:“越随机越鲁棒”听起来很有道理,但忽略了“可学习性”与“鲁棒性”的权衡——难度过高的环境会让训练完全不收敛。

面试题

Q1. 强化学习里“状态(state)”最接近下面哪个生活类比?

单选题 · easy

  • A.骑行中看到的道路与自身重心感← 正确答案
  • B.家长给与的糖果奖励数量
  • C.自行车把手的材质类型
  • D.孩子每天骑车练习的时长

答案:A。状态是机器人决策时的全部观察信息,就像骑车时眼前的路况与身体重心感觉;糖果奖励对应的是奖励信号,把手材质和练习时长都不影响即时决策。

Q2. 为什么实际机器人训练往往先在仿真环境里进行?

单选题 · easy

  • A.可以低成本大规模试错积累经验← 正确答案
  • B.仿真结果完全等同真实世界结果
  • C.仿真训练不需要设计任何奖励函数
  • D.仿真环境完全不需要遵循物理定律

答案:A。真机试错成本高、速度慢且可能损坏设备;仿真把物理定律写进程序,可以千万步地快速试错。但仿真不等于现实(sim2real gap),奖励函数也照样需要设计。

Q3. 域随机化训练是让策略在怎样的目标下表现最优?

单选题 · mid

  • A.在仿真参数的随机分布上取期望最优← 正确答案
  • B.在单一最精确的仿真参数下表现最优
  • C.在真实环境中不经过训练直接达到最优
  • D.在某个固定难度最大的环境中表现最优

答案:A。域随机化每次训练都从参数分布 Ξ 里抽一组物理参数,目标是让机器人对“所有可能环境”的平均表现最好,而不是赌某一个参数。这样搬到现实时才不会因参数偏差而失灵。

Q4. 势能奖励塑形 r'=r+γΦ(s')−Φ(s) 的最大优点是什么?

单选题 · mid

  • A.不改变最优策略且能加速学习收敛← 正确答案
  • B.一定会让奖励总数变得更大更稳定
  • C.可以让机器人彻底告别稀疏奖励
  • D.能完全消除传感器噪声带来的影响

答案:A。势函数塑形加的只是“相对进步”的提示:比刚才更接近目标就加分。理论保证这种势差项不改变最优策略,只是让梯度信号更稠密,从而学习收敛更快。

Q5. DAgger 算法主要解决行为克隆的什么问题?

单选题 · mid

  • A.专家演示数据数量严重不足的困境
  • B.状态分布偏移导致越走越偏的问题← 正确答案
  • C.神经网络在训练集上过拟合的问题
  • D.奖励函数过于稀疏难以收敛的问题

答案:B。行为克隆只会“照抄”专家见过的状态;一旦机器人执行时偏离轨迹,就会进入没见过的状态,连锁出错。DAgger 让机器人边走边请专家对陌生状态给出示范,持续补全分布覆盖。

Q6. 策略梯度中 ∇θlogπθ(at|st)Gt 的直观含义是什么?

单选题 · hard

  • A.对高回报轨迹动作调高其出现概率← 正确答案
  • B.对全部动作一律调高其出现概率
  • C.让策略直接复刻专家演示的全部动作
  • D.直接计算出每个时刻的最优动作

答案:A。Gt 是该步之后累计的折扣回报。回报高,梯度就让这个动作的概率变大;回报低,就变小。这就像孩子记住“那次颠簸后马上捏闸”的经验,对好经验的动作给予强化。

Q7. 关于“行为克隆预训练 + 强化学习微调”的说法正确的是?

单选题 · hard

  • A.预训练给出较好起点而 RL 修正偏差← 正确答案
  • B.预训练会让策略固定而无法继续学习
  • C.RL 微调必然丢失全部预训练的能力
  • D.两者只能选其一且完全不能结合使用

答案:A。行为克隆先在专家数据上“会个大概”,但专家覆盖不到的状态仍是盲区;RL 微调在仿真或真实环境中补全这些盲区。两者组合是机器人控制中性价比最高的训练范式。

Q8. 以下哪些属于 sim2real 迁移的常用手段?

多选题 · mid

  • A.训练时随机化仿真物理参数← 正确答案
  • B.用真实数据反标定仿真参数← 正确答案
  • C.完全放弃仿真只在真机训练
  • D.迁移前先在真实环境做评测← 正确答案

答案:ABD。域随机化(A)和系统辨识(B)从“仿真侧”缩小差距,迁移评测(D)从“验证侧”把关。C 完全放弃仿真在真机重训,成本高且样本量根本不够,不是工程常用手段。

Q9. 关于机器人控制中的奖励安全约束,下列说法正确的是?

多选题 · mid

  • A.摔倒或靠近危险区应设置惩罚项← 正确答案
  • B.稠密奖励一定比稀疏奖励更安全
  • C.势能塑形理论上不改变最优策略← 正确答案
  • D.正奖励数值越大机器人就越安全

答案:AC。危险的“反面体验”必须编码成惩罚,机器人才能学会回避;势能塑形有理论保证,不会带偏最优解。而稠密奖励也可能诱导钻空子,奖励越大越容易引发 reward hacking。

Q10. 强化学习机器人控制在实际工程部署中的挑战包括?

多选题 · hard

  • A.仿真与现实物理参数不一致← 正确答案
  • B.训练过程需要的样本量巨大← 正确答案
  • C.推理延迟过高难以实时控制← 正确答案
  • D.奖励函数设计好之后不能修改

答案:ABC。sim2real 偏差、样本效率、实时推理都是部署路上的硬骨头;但奖励函数完全可以根据迭代反馈调整,不存在“设计好就不能改”的限制,D 是典型误解。