离线强化学习
真机试错又慢又贵,还会弄坏东西,可是机器人往往已经攒下了大量日志:遥操作示教、旧控制器的运行记录、以前的实验。离线强化学习只用这样一份固定的数据集学策略,一次也不和环境交互。难点在于:Q 函数对数据里从没出现过的动作只能外推,而 \(\max_a\) 偏偏会去挑这些被高估的动作,又没有新数据来纠正它。本节在浏览器里现场训练一个推箱子任务上的五种学习器:天真的离线 Q-learning 怎样把价值吹到不可能的高度、把箱子推倒;策略约束(BCQ、TD3+BC)、保守 Q-learning(CQL)和隐式 Q-learning(IQL)怎样各自让策略留在数据附近;离线 RL 什么时候比行为克隆强,以及怎样从离线训练过渡到在线微调。
1为什么机器人需要它
20.4 节的 PPO 和 SAC 都要边学边试:策略产生新数据,新数据改进策略。在仿真里这没问题,一台 GPU 上可以同时跑几千个环境;可在真机上,每一次试错都花时间、要人看着,还可能摔坏机器人或打翻物体。与此同时,机器人领域的数据并不少:遥操作示教(22.3 节)、旧控制器跑过的日志、以前项目里的失败和成功记录。能不能只用这份已有的数据,不再和环境交互,就学出一个比数据里的行为更好的策略?这就是离线强化学习(offline RL,早期也叫 batch RL)。
它和22.1 节的行为克隆(BC)用的是同一种数据,区别在于目标:BC 模仿数据里的动作,最多做到数据的平均水平;离线 RL 利用数据里的奖励,挑出好的动作、把不同轨迹里好的片段拼起来,有机会超过收集数据的人或控制器。
听起来只要把 20.2 节的 DQN 或 20.4 节的 SAC 拿来,在固定的回放缓冲区上训练就行了(它们本来就是 off-policy 的)。可实际上这样训练出来的策略往往很差,甚至比随便哪个数据里的行为都差。原因是一种特殊的分布偏移(16.2 节):学到的策略会去选数据里从未出现过的动作,Q 函数对这些动作的估计只是网络的外推,而且往往被高估。在线 RL 里,策略试一下就会发现"原来没那么好";离线时,这个错误永远得不到纠正。本节的主线就是这个问题,以及三类对策。
全篇用同一个任务:机械臂沿桌面把一个高高的箱子推向目标线。状态 \(s\in[0,1]\) 是箱子的位置(0 是起点,到 1 就成功),动作 \(a\in[0,1]\) 是推的速度指令,每一步箱子前进 \(0.3a\),奖励是每步 \(-1\)(越快到越好),折扣 \(\gamma=0.9\)。但推得太快(\(a>0.75\))箱子会倒:回合结束,奖励 \(-21\)。数据来自两位操作员共 40 个回合:一位谨慎(速度约 0.2),一位熟练(约 0.48),两人都从不推得快于 0.55。最优策略是始终以 0.75 推,5 步到达;数据里最快的 0.55 需要 7 步,谨慎的速度 0.2 需要 17 步。
2直觉:网络在没见过的地方只能外推
先把问题缩到一步:只推一次,结果 \(y\) 是箱子前进的距离(\(a\le0.75\) 时就是 \(a\)),推倒了是 \(-1\)。数据是 24 次推箱子,速度都在 \([0.05,0.55]\) 里。我们用 5 个随机初始化不同的小网络(ReLU MLP)去拟合 \(\hat Q(a)\approx\mathbb E[y\mid a]\),再选 \(\hl{f1max}{\arg\max_a\hat Q(a)}\)。这就是离线 RL 里"先估计价值、再取最大"这一步的缩影。
在数据覆盖的范围里,五个网络都拟合得很好,彼此几乎一样。到了数据外面,它们只能各自外推:ReLU 网络大致会把数据里的趋势"越快越好"线性延伸出去,于是 \(\arg\max\) 毫不犹豫地选 \(a=1\),箱子倒了。注意网络并没有"出错":它在有数据的地方都是对的,错的是我们拿它去回答一个数据根本没有信息的问题,而 \(\max\) 恰好会找到误差最偏高的那个地方。
一个朴素的对策是悲观:既然 5 个网络在数据外分歧很大,就按下置信界 \(\hl{f1lcb}{\hat\mu(a)-k\,\hat\sigma(a)}\) 来选(\(\hat\mu,\hat\sigma\) 是 5 个网络的均值和标准差,21.3 节会细讲集成),不确定的地方先打折。
- 保持默认数据和种子,把悲观系数 \(k\) 加大,直到绿色的选择回到数据范围里(不超过右端 0.05 以上),并且真实前进距离至少 0.45,而直接取最大仍落在数据外。种子 1 大约需要 \(k=1.5\)。
- 把数据的右端拖到 0.9 以上,让数据里也有几次推倒的记录。重新拟合后,即使 \(k=0\),直接取最大也落在 0.75 附近,前进距离至少 0.6:数据覆盖是比任何技巧都可靠的解药,但离线时你没法自己去收集它。
离线 RL 的根本困难不是"网络拟合得不好",而是优化器会主动寻找估计误差。数据里没有的动作,估计值可以偏高也可以偏低,但 \(\max\) 只会把偏高的那些挑出来。监督学习只在测试分布上出错;离线 RL 是策略自己选择去测试分布外的地方。
3动手:天真的离线 Q-learning
现在回到多步的推箱子任务。最直接的做法是 20.2 节的拟合 Q 迭代 / DQN:网络 \(Q_\theta(s,a)\),目标网络 \(Q_{\theta^-}\) 是它缓慢更新的副本,每次从固定数据集 \(\mathcal D\) 里抽 32 条转移 \((s,a,r,s')\),回归到
动作是连续的,这里的 \(\max\) 和 \(\arg\max\) 在 21 个候选速度 \(0,0.05,\dots,1\) 上取。问题出在 \(\hl{maxa}{\max_{a'}}\):它会查询 \(a'>0.55\) 或 \(a'<0.05\) 这些数据里没有的动作。这些地方的 \(Q\) 只是外推值,一旦偏高,它就进入目标 \(y\),再通过下一次回归传给前一个状态,一步步往回累积。在线学习时,策略会真的去执行这些动作、看到真实的后果;离线时,没有任何数据会把它拉回来。
下图左边是 \(Q_\theta(s,a)\) 的热力图(横轴箱子位置,纵轴推速),右边比较两个数:学习器对起点 \(s=0\) 的自我评估 \(Q(0,\pi(0))\),和它的策略在真实环境里从 \(s=0\) 跑一遍得到的实际回报。每一步的奖励都不超过 \(-1\),所以任何 \(Q\) 都不可能高于 \(-1\);最优策略的回报是 \(V^\star(0)=-4.10\)。
- 按"训练"(离线)至少 1000 次迭代,直到自我评估比实际回报高出 5 以上。默认种子在第 1000 次迭代时,学习器认为起点值 \(+1.6\)(比任何可能的值都高),实际回报却是 \(-9.85\):它在原地不动。
- 离线训练 1000 次以上、策略失败时(推倒箱子或停在原地),按"运行策略"看机械臂怎么做。默认种子在第 1500 次迭代左右开始以 1.00 的速度推,第一步就把箱子推倒;换个种子,失败的方式可能变成"一动不动":误差往哪边偏是随机的,被 \(\max\) 挑中是必然的。
- 切换到"在线"(每次迭代用当前策略真实走一步,20% 的概率随机选速度),继续训练,直到策略在 8 步以内到达目标。默认种子大约需要 1100 到 1600 次在线迭代,看看计数器上一共推倒了多少个箱子(通常在 50 到 150 之间)。
在线 RL 有一个自动纠错回路:高估某个动作 → 去执行它 → 看到真实回报 → 估计被拉下来。离线 RL 切断了这个回路,于是 20.2 节讲过的最大化偏差不再是一个小偏差,而是会经由自举一步步累积、没有上限的错误。在线模式能修好它,代价是真实的失败(推倒的箱子):这正是我们一开始想用离线数据避免的东西。
4三类对策:约束策略、压低价值、只在样本内学习
既然问题出在"查询数据外的动作",对策也围绕它展开,大致分三类:
- 策略约束 / 行为正则:只允许策略选择离数据中行为 \(\pi_\beta\) 不远的动作。BCQ(Fujimoto 等,2019)先用一个生成模型拟合 \(\pi_\beta\),只在它采样出的候选动作里(加小扰动)取最大;TD3+BC(Fujimoto 与 Gu,2021)更简单:在 TD3(20.4 节)的 actor 目标里加一项 BC 损失,\(\max_\pi\ \lambda Q(s,\pi(s))-\hl{bcterm}{(\pi(s)-a)^2}\),\(\lambda=\alpha/\overline{|Q|}\)。
- 保守价值:直接修改 Q 的训练目标,把数据外动作的值压下去。CQL(Kumar 等,2020)在 TD 损失外加 \(\alpha\big(\log\sum_a e^{Q(s,a)}-Q(s,a_{\mathcal D})\big)\):压低所有动作的"软最大值",同时抬高数据里实际出现过的动作。
- 样本内学习:干脆不查询数据外的动作。IQL(Kostrikov 等,2022)用一个状态价值网络 \(V(s)\) 代替 \(\max_{a'}Q(s',a')\),\(V\) 只用数据里的 \((s,a)\) 通过期望分位回归(expectile,第 5 节)学成"数据里好动作的价值",最后用优势加权的 BC 提取策略。整个过程中 Q 只在数据里的动作上被训练和读取。
下图在同一份数据、同一个网络结构上训练这四种学习器(BC 作为基线)。换方法或改滑块会从头重新训练。
- 找一种方法和设置,使策略不推倒箱子、在 8 步以内到达(BC 要 14 步;数据里最快的 0.55 要 7 步)。提示:IQL 默认设置训练约 2000 次,或 CQL 取 \(\alpha=0.1\) 训练约 2000 次。
- 把 CQL 的 \(\alpha\) 调到 1 或以上,训练至少 2000 次:策略比 BC 还慢(超过 14 步,默认种子是 18 步)。太保守的 CQL 会退化成"选数据里最常见的动作",而最常见的是谨慎操作员的慢速。
- 把 TD3+BC 的 \(\alpha\) 调到 2.5 或以上,训练至少 1500 次:在默认种子上策略失败(停在原地)。BC 项太弱时,actor 会顺着 Q 的外推梯度走出数据,又回到了 FIG 2 的问题。
切到"误差"视图会发现:三种对策都没有把数据外的 Q 修正确,倒箱子区域的值仍然高估了大约 7 到 20。它们做的是另一件事:不让策略去利用这些错误。TD3+BC 把 actor 拴在数据上,CQL 把数据外的值相对压低,IQL 根本不去读它们。每一种都有一个旋钮在"像 BC 一样稳"与"像 RL 一样敢"之间取舍,而且旋钮的合适位置要看数据。
5第二、第三视角:期望分位回归,以及离线 RL 与 BC
IQL 怎样在不取 max 的情况下"取 max"
IQL 想要的是"在数据里出现过的动作中,最好的那个值",即 \(\max_{a\in\operatorname{supp}\pi_\beta(\cdot\mid s)}Q(s,a)\),但不能真的对 \(a\) 取最大(那会查询数据外的动作)。它的做法是对同一状态下数据里各个动作的 \(Q(s,a_i)\) 做期望分位回归:最小化非对称平方损失
\(\tau=0.5\) 时它就是普通的平方损失,最优解是均值;\(\tau\) 越接近 1,\(v\) 低于样本(\(u_i>0\))受的罚越重,\(V_\tau\) 就越往上推,逼近数据里的最大值,却永远不会超过它,因为它只是这些样本的一个加权平均。下图用 40 个示意的 \(Q\) 值代表推箱子任务某一状态下数据中各动作的价值(数值范围取自这个任务,七成来自谨慎操作员,三成来自熟练操作员)。
- 把 \(\tau\) 调到 0.8 以上,然后拖动琥珀色圆圈去找损失的最低点(与 \(V_\tau\) 相差不到 0.05)。注意最低点在均值的右边:低估一个样本的代价是高估的 \(\tau/(1-\tau)\) 倍。
- 把 \(\tau\) 推到 0.99 以上:\(V_\tau\) 离数据里的最大值不到 0.25,但仍在它左边,离红线(外推值)还远。
离线 RL 什么时候比 BC 强?
IQL 的策略提取 \(\max_\pi\mathbb E_{\mathcal D}\big[e^{\beta(Q(s,a)-V(s))}\log\pi(a\mid s)\big]\) 本身就是加权的 BC:\(\beta=0\) 时就是 BC(FIG 3 里把 IQL 的 \(\beta\) 拉到 0,结果与 BC 一模一样,14 步)。另一个更简单的基线是过滤式 BC:只保留回报最高的 20% 回合,再做 BC。如果好行为都集中在某些完整的回合里,过滤式 BC 就够了;离线 RL 的独特之处在于能逐条转移地判断好坏,把散落在不同回合中的好片段拼起来。下图比较两种数据:一种是两位操作员各自完整地推完一个回合;另一种是同一位操作员在每一步都随机地快或慢。
- 选"整回合",熟练比例取 0.2 到 0.5 之间,按"运行":过滤式 BC 和 IQL 相差不超过 1 步,都比 BC 快至少 5 步。好行为整回合地出现时,挑回合就够了。
- 选"每步切换",比例取 0.1 到 0.4 之间,再运行:IQL 比过滤式 BC 至少快 2 步。每个回合都是快慢混杂的,按回合过滤挑不出好动作,按转移加权才行。
分布偏移视角:学到的策略的状态–动作分布 \(d^\pi\) 离开了数据分布 \(d^{\pi_\beta}\),16.2 节的重要性权重 \(d^\pi/d^{\pi_\beta}\) 在数据外是无穷大,所以任何对 \(Q^\pi\) 的估计都没有依据。不确定性视角:数据外的 \(Q\) 不是"错的",而是"未知的";离线 RL 要对未知保持悲观(FIG 1 的下置信界,CQL 的压低)。约束优化视角:在"离数据不远"的约束下最大化回报,BC 是约束最紧的一端,天真的离线 Q-learning 是没有约束的另一端,各种方法的旋钮就是约束的松紧。
6再看数学
提示:把鼠标悬停在公式中带底色的符号上,对应的图元素会被高亮(FIG 1 的曲线与数据点,FIG 2、FIG 3 的数据点、策略曲线、倒箱区域与误差视图,FIG 4 的损失曲线与 \(V_\tau\))。
问题设定
MDP 与 20.1 节相同:状态 \(s\)、动作 \(a\)、转移 \(P(s'\mid s,a)\)、奖励 \(r\)、折扣 \(\gamma\)。区别只在于我们拿到的是一份固定数据集 \(\hl{data}{\mathcal D=\{(s_i,a_i,r_i,s_i')\}}\),由某个(通常未知、可能是多个人或控制器混合的)行为策略 \(\pi_\beta\) 收集,目标仍是最大化 \(J(\pi)=\mathbb E_\pi\big[\sum_t\gamma^tr_{t+1}\big]\),但训练中不能再收集任何数据。推箱子任务里,会推倒箱子的动作 \(\hl{tip}{a>0.75}\) 正是数据里从未出现过的。
外推误差为什么会累积
设每次回归后,\(\hat Q\) 与真实贝尔曼目标 \(\mathcal T\hat Q\) 在所有 \((s,a)\) 上相差至多 \(\delta\)(最大范数)。贝尔曼最优算子 \(\mathcal T\) 是 \(\gamma\)-压缩(6.12 节),于是
在线学习时,策略会访问的地方就有数据,\(\delta\) 是一个统计误差,随数据增多而变小。离线时,\(\delta\) 在数据外的动作上没有任何约束,可以是网络外推出的任意大小;而 \(\hl{maxa}{\max_{a'}}\) 让 \(\hat Q\) 的每一个目标都包含其中最偏高的那个:\(\mathbb E[\max_a(Q+\varepsilon_a)]\ge\max_a Q\)(20.2 节的最大化偏差)。上界里的 \(1/(1-\gamma)\) 说明误差会沿时间放大:\(\gamma=0.9\) 时最多 10 倍。FIG 2 里的价值膨胀就是这样来的。
策略约束:BCQ 与 TD3+BC
一般形式是带约束的策略改进:\(\max_\pi\mathbb E_{s\sim\mathcal D}\big[\mathbb E_{a\sim\pi}Q(s,a)\big]\) s.t. \(D\big(\pi(\cdot\mid s)\,\|\,\pi_\beta(\cdot\mid s)\big)\le\epsilon\),\(D\) 可以是 KL、MMD(BEAR,Kumar 等,2019)或"只在 \(\pi_\beta\) 的样本中选"(BCQ)。TD3+BC 把约束换成罚项,确定性 actor 的目标是
除以 \(\overline{|Q|}\) 让 \(\alpha\) 与奖励的尺度无关(论文默认 \(\alpha=2.5\),并把状态标准化)。但 \(\alpha\) 真正平衡的是 \(\partial Q/\partial a\) 和 BC 项的梯度,它的合适值仍取决于任务:在推箱子任务里 Q 对动作很敏感,\(\alpha=0.5\) 较好,2.5 已经太大(FIG 3)。FIG 3 的实现还把分母限制为至少 1,以免训练初期 \(Q\approx0\) 时 \(\lambda\) 过大,并且省略了 TD3 的双 Q 和目标策略平滑。\(\alpha\to0\) 时就是 BC,\(\alpha\to\infty\) 时就是不加约束的离线 TD3。
保守 Q-learning(CQL)
CQL 的 Q 损失是
第一项对 \(Q(s,\cdot)\) 的梯度是 \(\alpha\big(\operatorname{softmax}Q(s,\cdot)-\pi_\beta(\cdot\mid s)\big)\):值偏高、但在数据里少见的动作(softmax 权重大于 \(\pi_\beta\))被压低,常见的动作被抬高。若只看这一项(\(\alpha\to\infty\)),平衡点是 \(\operatorname{softmax}Q=\pi_\beta\),即 \(Q(s,a)=\log\pi_\beta(a\mid s)+c(s)\):\(\arg\max\) 变成了数据中最常见的动作。这就是 FIG 3 里 \(\alpha\ge1\) 的 CQL 比 BC 还慢的原因:七成数据来自谨慎的操作员。论文证明在表格、精确备份的情形下,足够大的 \(\alpha\) 使学到的策略价值成为真实价值的下界;用网络和采样近似时只能说"大致悲观",FIG 3 的自我评估有时略低于、有时略高于实际回报。
隐式 Q-learning(IQL)
IQL 的三个损失都只用数据里的 \((s,a)\):
\(\tau\to1\) 时 \(V(s)\to\max_{a\in\operatorname{supp}\pi_\beta(\cdot\mid s)}Q(s,a)\),于是 \(L_Q\) 近似地学到"在数据支撑内行动的最优 Q"(在确定性转移下精确成立;随机转移下,过大的 \(\tau\) 会把"运气好的转移"也当成动作的功劳,所以论文用 0.7 到 0.9)。\(\tau=0.5\) 时 \(V\) 是 \(\pi_\beta\) 下的平均,IQL 退化为"一步"方法:评估行为策略,再做一次改进(Brandfonbrener 等,2021)。策略提取是优势加权回归(AWR,Peng 等,2019):\(\beta=0\) 是 BC,\(\beta\) 越大越只模仿优势大的动作。FIG 3 用确定性策略和平方误差代替 \(-\log\pi\),相当于固定方差的高斯策略。
从离线到在线
离线训练出的策略最多只能做到"数据支撑内的最好":推箱子任务里是 0.55 的 7 步,而不是 0.75 的 5 步。要更进一步,只能回到环境里试。直接把离线策略接上在线 RL 有两个常见问题:保守方法(如 CQL)的 Q 被压得过低,一开始收集到的真实回报比它"想象的"高,Q 被大幅修正时策略会先变差一段("遗忘"一段,再学回来),Cal-QL(Nakamoto 等,2023)通过校准保守值、使其不低于行为策略的价值来缓解;而不加约束的方法又会去试那些被高估的危险动作(FIG 2 的在线模式,代价是推倒的箱子)。实践中常见的做法:用同一种算法继续训练(IQL、AWAC 在微调时表现平稳),把离线数据留在回放缓冲区里与在线数据按比例混合采样(RLPD,Ball 等,2023),并在真机上限制探索的幅度。
7机器人中的它
- 大规模抓取:QT-Opt。Kalashnikov 等(CoRL 2018)在多台真实机械臂上收集了数十万次抓取尝试,大部分训练数据来自以前的策略(离线),只有一部分来自当前策略的在线收集,用连续动作的 Q-learning(用 CEM 在动作上取最大,6.11 节)学出基于视觉的闭环抓取。它说明了离线数据的价值,也说明了在动作上取最大的难处。
- 从多任务机器人数据预训练。PTR(Kumar 等,RSS 2023)用 CQL 在一个大规模多任务机器人数据集上预训练,再用少量新任务的示教微调,学新任务所需的数据显著少于从头训练。Q-Transformer(Chebotar 等,CoRL 2023)把每个动作维度离散化、逐维自回归地输出 Q 值,在大规模真机示教与自主采集的数据上做离线 RL,并加了保守正则。
- 基准与经验。D4RL(Fu 等,2020)是离线 RL 最常用的基准,除了 MuJoCo 运动任务,还包括 Adroit 灵巧手和 Franka 厨房任务,数据集刻意分成"专家 / 中等 / 随机 / 回放"等不同质量。robomimic(Mandlekar 等,CoRL 2021)在机械臂操作任务上系统比较了 BC 与离线 RL:在人类示教数据上,带历史的 BC(BC-RNN)很难被超过;离线 RL 在质量参差的机器生成数据上更有优势。这和 FIG 5 的结论一致:数据越好、越"整齐",BC 越够用。
- 离线到在线的真机强化学习。先用示教和旧数据预训练、再在真机上少量在线微调,是真机 RL 的主流路线之一。SERL(Luo 等,ICRA 2024)这类真机 RL 软件以 RLPD 式的"离线数据与在线数据混合采样"为核心,从少量示教出发在真实机械臂上学习电路板装配、线缆布线等操作任务(23.1 节)。
- 软件。d3rlpy(Seno 与 Imai)实现了 BCQ、CQL、IQL、TD3+BC 等算法;CORL(Tarasov 等)提供单文件的参考实现与基准结果;D4RL 的数据集现由 Farama 基金会的 Minari 维护。
什么时候用离线 RL?经验法则:数据里有奖励(或能事后标注),质量参差不齐,而且你需要比数据更好的行为;如果数据都是熟练的示教,先试 BC 及其变体(22.2 节的 ACT、Diffusion Policy)。另一个选择是条件化的序列模型,比如以目标回报为条件的 Decision Transformer(Chen 等,NeurIPS 2021),它把离线 RL 变成有条件的 BC。
离线 RL 的"分布外动作"在真机上有非常具体的含义:从没有人试过的高速、从没有人用过的抓取角度、从没有出现过的力。它们恰恰也是最可能损坏硬件的动作。所以离线 RL 的保守性不只是统计上的谨慎,也是安全上的谨慎;反过来,想超越数据,就要接受在线微调时付出的那部分真实代价,并用速度限幅、力矩限制和人工接管把它控制住。
8常见误区
学习器对自己的评估正是最不可信的东西:天真的方法会高估(FIG 2 的蓝线比绿线高出十几),保守的方法又会偏低。要评价离线策略,只能在环境里真跑(仿真或受控的真机测试),或者用专门的离策略评估(OPE)方法,而它们本身在分布外也不可靠。
CQL 的 \(\alpha\)、TD3+BC 的 \(\alpha\)、IQL 的 \(\tau\) 和 \(\beta\) 都很关键(FIG 3:同一种方法,旋钮换一下就从 8 步变成失败)。论文里的数字常常是在环境里试了很多组超参后选出来的。真正离线时没有这个机会,要么准备一个可用的评估途径,要么选对超参不敏感的方法和保守的默认值。
过度保守会把离线 RL 变成对最常见行为的模仿,而最常见的行为往往不是最好的:FIG 3 里 \(\alpha=1\) 的 CQL 比 BC 还慢。保守的目的是不去利用未知,不是不去利用数据里已经证明好的动作。
离线 RL 能做的是在数据的支撑内重新组合(选好的动作、拼好的片段),不能凭空知道 0.75 比 0.55 更好:这需要有人试过 0.75。如果数据里关键的动作或状态完全没有覆盖,任何算法都无能为力(FIG 1 的覆盖任务),这时该做的是补数据或在线微调。
离线 RL 需要每条转移都有奖励,而且奖励要和你真正想要的东西一致;示教数据往往没有奖励,事后用规则或分类器标注时,标注的偏差会直接变成策略的偏差。还要注意终止标志(成功、失败和超时截断不同:超时不应当作终止)、状态与奖励的归一化,以及数据里的动作是否和部署时的控制频率、动作空间一致。
9小练习
10延伸阅读
- S. Levine, A. Kumar, G. Tucker & J. Fu, Offline Reinforcement Learning: Tutorial, Review, and Perspectives on Open Problems, arXiv:2005.01643, 2020 — 最好的入门综述:分布偏移、策略约束、保守方法与开放问题
- D. Ernst, P. Geurts & L. Wehenkel, Tree-Based Batch Mode Reinforcement Learning, JMLR 2005; M. Riedmiller, Neural Fitted Q Iteration, ECML 2005 — 拟合 Q 迭代:batch RL 的经典形式
- S. Lange, T. Gabel & M. Riedmiller, Batch Reinforcement Learning, in Reinforcement Learning: State-of-the-Art, Springer, 2012 — 深度学习之前的 batch RL 综述
- S. Fujimoto, D. Meger & D. Precup, Off-Policy Deep Reinforcement Learning without Exploration, ICML 2019 — BCQ,并提出"外推误差"这个概念
- A. Kumar, J. Fu, M. Soh, G. Tucker & S. Levine, Stabilizing Off-Policy Q-Learning via Bootstrapping Error Reduction, NeurIPS 2019 — BEAR:用 MMD 约束策略的支撑
- A. Kumar, A. Zhou, G. Tucker & S. Levine, Conservative Q-Learning for Offline Reinforcement Learning, NeurIPS 2020 — CQL 及其下界性质
- S. Fujimoto & S. S. Gu, A Minimalist Approach to Offline Reinforcement Learning, NeurIPS 2021 — TD3+BC:一行 BC 项的强基线
- I. Kostrikov, A. Nair & S. Levine, Offline Reinforcement Learning with Implicit Q-Learning, ICLR 2022 — IQL:期望分位回归与优势加权的策略提取
- X. B. Peng, A. Kumar, G. Zhang & S. Levine, Advantage-Weighted Regression: Simple and Scalable Off-Policy Reinforcement Learning, arXiv:1910.00177, 2019; A. Nair, A. Gupta, M. Dalal & S. Levine, AWAC: Accelerating Online Reinforcement Learning with Offline Datasets, arXiv:2006.09359, 2020 — 加权回归式的策略提取与离线到在线
- D. Brandfonbrener, W. F. Whitney, R. Ranganath & J. Bruna, Offline RL Without Off-Policy Evaluation, NeurIPS 2021 — "一步"方法为什么常常就够了
- A. Kumar, J. Hong, A. Singh & S. Levine, When Should We Prefer Offline Reinforcement Learning Over Behavioral Cloning?, ICLR 2022 — 离线 RL 与 BC 的比较(对应 FIG 5)
- J. Fu, A. Kumar, O. Nachum, G. Tucker & S. Levine, D4RL: Datasets for Deep Data-Driven Reinforcement Learning, arXiv:2004.07219, 2020 — 最常用的离线 RL 基准
- A. Mandlekar et al., What Matters in Learning from Offline Human Demonstrations for Robot Manipulation, CoRL 2021 — robomimic:机械臂操作上 BC 与离线 RL 的系统比较
- D. Kalashnikov et al., QT-Opt: Scalable Deep Reinforcement Learning for Vision-Based Robotic Manipulation, CoRL 2018; Y. Chebotar et al., Q-Transformer: Scalable Offline Reinforcement Learning via Autoregressive Q-Functions, CoRL 2023 — 大规模真机数据上的(离线)Q-learning
- P. J. Ball, L. Smith, I. Kostrikov & S. Levine, Efficient Online Reinforcement Learning with Offline Data, ICML 2023; M. Nakamoto et al., Cal-QL: Calibrated Offline RL Pre-Training for Efficient Online Fine-Tuning, NeurIPS 2023 — RLPD 与 Cal-QL:从离线到在线