DARC 论文阅读

47 阅读10分钟

0 论文信息

  ICLR 的论文,感觉应该比之前读的 AAAI 的论文有意思一些,为了方便易懂一些继续把综述放上来,替代介绍部分。以及文中很喜欢用 dynamics (动力学) 一词来进行叙述,在此提前给出相应解释

dynamics (动力学) 通常指的是环境的状态转换规则。它描述了主体在与环境交互时,如何从一个状态转移到另一个状态,并且可以包括环境的物理规律、运动规则、随机性等因素。

  整篇文章看下来还是在利用对抗的思路在做,DaNN 永不为奴。

1 介绍

文中作者提出了一种在强化学习中进行领域自适应的简单、实用和直观的方法。文中的方法源自这样一个观点 : 主体在源领域的经验应该与它在目标领域的经验相似。基于强化学习的概率视角,作者通过修改奖励函数来补偿动态差异,从而实现这一目标。通过学习辅助分类器区分源领域转换和目标领域转换,可以简单地估计这个修改后的奖励函数。直观上,对于表明主体正在与源领域而不是目标领域进行交互的转换,主体会受到惩罚。严格来说,文中证明了只要源领域和目标领域满足一个轻量级的假设,将作者的方法应用于源领域就能够获得接近最优策略的目标领域。文中的方法适用于具有连续状态和动作的领域,并且不需要学习显式的动态模型。在离散和连续控制任务中,作者说明了文中方法的机制,并展示了它对于高维任务的可扩展性。

图 1. 文中的方法通过使用 (学习的) 修改的奖励函数在源域中练习来获得目标域的策略。

2 相关工作

  虽然该工作将专注于将领域自适应应用于强化学习,但作者首先回顾领域自适应中更一般的思想,并参考 Kouw 和 Loog (2019) 对该领域的最新综述。领域自适应的两种常见方法是重要性加权和与领域无关的特征。重要性加权方法 (例如,(Zadrozny, 2004; Cortes & Mohri, 2014; Lipton et al., 2018)) 估计目标域和源域下示例的似然比,并使用该比率对源域中的示例进行重新加权。与先前关于重要性加权的工作类似(Bickel et al., 2007; Sønderby et al., 2016; Mohamed & Lakshminarayanan, 2016; Uehara et al., 2016),文中的方法将使用分类器来估计概率比率。由于作者需要估计条件分布 (转移概率) 的密度比率,本方法将学习两个分类器。重要的是,该方法将使用密度比率的对数来修改奖励函数,而不是通过密度比率加权样本,因为后者在数值上通常不稳定 (参见 Schulman et al. 2017),并且在文中的实验中导致性能不佳。

  以前将领域适应应用于强化学习的方法包括基于系统识别、领域随机化和观测适应的方法。也许最成熟的方法是系统识别 (Ljung, 1999),它使用观测数据来调整模拟器的参数(Feldbaum, 1960; Werbos, 1989; Wittenmark, 1995; Ross & Bagnell, 2012; Tan et al., 2016; Zhu et al., 2017b; Farchy et al., 2013)。较新的工作成功地使用了这种策略来弥合模拟与现实之间的差距 (Chebotar et al., 2019; Rajeswaran et al., 2016)。与此密切相关的是在线系统识别和元学习的工作,它直接使用推断出的系统参数来更新策略 (Yu et al., 2017; Clavera et al., 2018; Tanaskovic et al., 2013; Sastry & Isidori, 1989)。然而,这些方法通常对环境模型或人工指定的潜在测试时动力学分布提出要求,而本文的方法将消除这些要求。另一种方法是领域随机化,它随机采样源域的参数,然后找到适用于这个随机环境的最佳策略 (Sadeghi & Levine, 2016; Tobin et al., 2017; Peng et al., 2018; Cutler et al., 2014)。虽然通常有效,但此方法对于随机化参数的选择以及从中采样这些模拟器参数的分布非常敏感。第三种方法是观测适应,它修改源域的观测,使其看起来与目标域中的观测类似 (Fernando et al., 2013; Hoffman et al., 2016; Wulfmeier et al., 2017a)。尽管该方法已成功应用于视频游戏 (Gamrian & Goldberg, 2018) 和机器人操作 (Bousmalis et al., 2018),但它忽视了源域和目标域可能遵从不同动力学条件的事实。

  最后,本文的工作类似于迁移学习 (Taylor & Stone, 2009) 和强化学习中的元学习的先前工作,但比大多数先前工作做出了较少严格的假设。例如,大多数关于元强化学习 (Killian et al., 2017; Duan et al., 2016; Mishra et al., 2017; Rakelly et al., 2019) 和一些关于迁移学习的工作 (Perkins et al., 1999; Tanaka & Yamamura, 2003; Sunmola & Wyatt, 2006) 假设主体具有许多源任务,这些源任务都从与目标任务相同的分布中抽取。Selfridge et al. (1985); Madden & Howley (2004) 假设了手动指定的任务课程,Ravindran & Barto (2004) 假设源域和目标域在局部具有相同的动力学,Sherstov & Stone (2005) 假设在源域中有用的动作集合与在目标域中有用的动作集合相同。本文的方法不需要这些假设,使其能够在这些先前的工作失败的情况下成功学习。例如,Sherstov & Stone (2005) 的假设在本文的损坏机器人的实验中被违反 : 在源域中移动关节的动作是有用的 (机器人的完全功能),但在目标域中是无用的 (该关节被禁用)。本文的方法将明显优于重要性加权基准线 (Lazaric, 2008)。与 Vemula et al. (2020) 不同,本文的方法不需要学习动力学模型,并适用于具有随机环境以及连续状态和动作的环境。本文的算法与 Wulfmeier et al. (2017b) 中的算法相似,但关键的算法差异使作者能够证明本文的方法在目标域中获得了接近最优策略,并在实证上表现出更好的性能。

  本文的方法的理论推导受到先前研究的启发,该研究将控制问题形式化为概率推断问题 (例如,(Toussaint, 2009; Rawlik et al., 2013; Levine et al., 2018))。基于模型的强化学习算法 (例如,(Deisenroth & Rasmussen, 2011; Hafner et al., 2018; Janner et al., 2019)) 和离策略强化学习算法 (例如,(Munos et al., 2016; Fujimoto et al., 2018; Dann et al., 2014; Dud ́ık et al., 2011)) 的目标类似,都旨在提高强化学习的样本效率,但它们利用源域加速学习。本文的方法适用于任何最大熵强化学习算法,包括在线策略 (Song et al., 2019),离线策略 (Abdolmaleki et al., 2018; Haarnoja et al., 2018) 和基于模型的 (Janner et al., 2019; Williams et al., 2015) 算法。在本文的实验中,作者将基于 SAC 并与基准进行比较。

3 DARC 方法

3.1 前置知识

  在本节中,大致介绍符号的表示并正式定义了强化学习的领域适应。文中的问题设置将考虑两个马尔可夫决策过程 (MDP) : Msource\mathcal{M}_{\text{source}} 代表源域 (例如,一个训练设施、模拟器或目标域的学习近似模型),而 Mtarget\mathcal{M}_{\text{target}} 代表目标域。作者假设这两个域具有相同的状态空间 S\mathcal{S}、动作空间 A\mathcal{A}、奖励函数 rr 和初始状态分布 p1(s1)p_1\left(s_1\right);这两个域之间唯一的区别在于动力学假设 psource(st+1st,at)p_{\text{source}}\left(s_{t+1} \mid s_t, a_t\right)ptarget(st+1st,at)p_{\text{target}}\left(s_{t+1} \mid s_t, a_t\right)。文中将学习一个由 θ\theta 参数化的马尔可夫策略 πθ(as)\pi_\theta(a \mid s)。本文的目标是学习一个策略 π\pi,使得在目标 MDP Mtarget\mathcal{M}{\text{target}} 上最大化折扣奖励的期望和,即最大化 Eπ,Mtarget[tγtr(st,at)]\mathbb{E}{\pi, \mathcal{M}_{\text{target}}}\left[\sum_t \gamma^t r\left(s_t, a_t\right)\right]。现在正式定义本文的问题设置 :

定义 1. 强化学习的领域适应 是利用源 MDP Msource\mathcal{M}_{\text{source}} 中的交互以及目标 MDP Mtarget\mathcal{M}_{\text{target}} 中的少量交互,获取在目标 MDP Mtarget\mathcal{M}_{\text{target}}上获得高奖励的策略。

  作者将假设在目标域中具有非零概率的每个转移在源域中也具有非零概率 :

ptarget(st+1st,at)>0psource(st+1st,at)>0for allst,st+1S,atA.\begin{align} p_{\text{target}}\left(s_{t+1} \mid s_t, a_t\right)>0 \Longrightarrow p_{\text{source}}\left(s_{t+1} \mid s_t, a_t\right)>0 \quad \text{for all}\quad s_t, s_{t+1} \in \mathcal{S}, a_t \in \mathcal{A} . \end{align}

  这个假设在重要性采样的工作中是常见的 (Koller & Friedman, 2009),反之则不一定成立:在源域中可能存在的转移不一定在目标域中可能存在。如果这个假设不成立,那么目标域的最优策略可能涉及在源域中不可能实现的行为,因此不清楚如何通过在源域中进行实践来学习接近最优的策略。

3.2 领域泛化的变分视角

  强化学习的概率推断解释 (Kappen, 2005; Todorov, 2007; Toussaint, 2009; Ziebart, 2010; Rawlik et al., 2013; Levine, 2018) 将奖励函数视为定义轨迹上的期望分布。主体的任务是通过以与其指数化奖励成比例的概率选择轨迹从该分布中进行采样。本节将在领域转移的背景下重新解释这个模型,展示通过修改奖励可以实现对动力学的领域适应。为了将这个模型应用于领域适应,文中定义 p(τ)p(\tau) 为目标域中轨迹的期望分布,

p(τ)p1(s1)(tptarget(st+1st,at))exp(tr(st,at))p(\tau) \propto p_1\left(s_1\right)\left(\prod_t p_{\text {target}}\left(s_{t+1} \mid s_t, a_t\right)\right) \exp \left(\sum_t r\left(s_t, a_t\right)\right)

  并且将 q(τ)q(\tau) 定义为主体在源域中的轨迹分布,

q(τ)=p1(s1)tpsource(st+1st,at)πθ(atst)q(\tau)=p_1\left(s_1\right) \prod_t p_{\text {source}}\left(s_{t+1} \mid s_t, a_t\right) \pi_\theta\left(a_t \mid s_t\right)

  如之前的前置知识所述,文中假设两个轨迹分布具有相同的初始状态分布。目标是学习一种在目标域动态下,源域的行为既有高回报又有高可能性的策略。文中通过最小化这两个分布之间的反向 KL 散度来达到这个目标 :

minπ(as)DKL(qp)=Epsource[tr(st,at)+Hπ[atst]+Δr(st+1,st,at)]+c\begin{align} \min _{\pi(a \mid s)} D_{\mathrm{KL}}(q \| p)=-\mathbb{E}_{p_{\text {source}}}\left[\sum_t r\left(s_t, a_t\right)+\mathcal{H}_\pi\left[a_t \mid s_t\right]+\Delta r\left(s_{t+1}, s_t, a_t\right)\right]+c \end{align}

  其中

Δr(st+1,st,at)logp(st+1st,at)logq(st+1st,at)\Delta r\left(s_{t+1}, s_t, a_t\right) \triangleq \log p\left(s_{t+1} \mid s_t, a_t\right)-\log q\left(s_{t+1} \mid s_t, a_t\right)

常数 ccP(τ)P(\tau) 的配分函数,它与策略和动力学无关。Δr\Delta r 是根据过渡概率定义的,在 3.3 节中,作者将展示如何通过学习分类器来估计 Δr\Delta r。因此,作者将文中的方法称为具有分类器奖励的域适应 (domain adaptation with rewards from classifiers, DARC),并将使用 πDARC\pi_{\text {DARC}}^* 来参考式 2 中最大化目标的策略。

  当源域的动力学和目标域的动力学相等时,修正项 Δr\Delta r 为零,本文恢复了最大熵强化学习 (Ziebart, 2010; Todorov, 2007)。奖励修正与之前的工作不同,之前的一些工作在奖励中添加了 logβ(as)\log\beta(a\mid s) 以使策略接近行为策略 β\beta (例如,Jaques et al. (2017); Abdolmaleki et al. (2018))。在源域的动力学与测试域的动力学不相等的情况下,这个目标与从源域采样的轨迹上的最大熵强化学习不同。相反,这个目标建议在奖励函数中添加一个校正项 Δr\Delta r,以解释源域的动力学和目标域的动力学之间的差异。校正项 Δr\Delta r 是非常直观的。如果转移 (st,at,st+1)(s_t,a_t,s_{t+1}) 在源域和目标域中具有相等的概率,则 Δr(st,at)=0\Delta r(s_t,a_t)= 0,因此不进行校正。对于在源域中可能性较高但在目标域中可能性较低的转移,Δr<0\Delta r<0,主体因为采取这些转移而受到惩罚,这被视为在源域中 "利用" 不准确性或差异。对于图 1 中的示例环境,通过环境中心的转移在目标域中被阻塞,但在源域中不被阻塞。对于这些转移,Δr<0\Delta r<0 将作为一个较大的惩罚,阻止主体者采取这些转移,而是学习绕过墙壁。

3.2.1 理论保障

  现在对于在源域最大化修改后的奖励 r+Δrr+\Delta r 进行分析,是否能够得到接近目标域的最优策略。文中的证明基于以下简化假设 :

假设 1. 令 π=argmaxπEp[r(st,at)]\pi^*=\arg \max _\pi \mathbb{E}_p\left[\sum r\left(s_t, a_t\right)\right] 为目标域中最大化奖励的策略。那么在源域和目标域中的期望奖励之间的差异最多为 2Rmaxϵ/22 R_{\max } \sqrt{\epsilon / 2} :

Epπ,source[r(st,at)]Eπ,ptarget[r(st,at)]2Rmaxϵ/2\left|\mathbb{E}_{p_{\pi^*, \text {source}}}\left[\sum r\left(s_t, a_t\right)\right]-\mathbb{E}_{\pi^*, p_{\text {target}}}\left[\sum r\left(s_t, a_t\right)\right]\right| \leq 2 R_{\max} \sqrt{\epsilon / 2}

  变量 RmaxR_{\max} 指的是任何轨迹的最大熵正则化回报。这个假设表明目标域中的最优策略仍然是源域的良好策略,并且其在两个域中的期望奖励相似。其实并不要求相反的情况成立 : 源域中的最优策略不需要在目标域中获得高回报。如果存在多个最优策略,只要求这个假设对其中一个成立即可。作者对于文中的主要结果进行陈述 :

定理 3.1. 令 πDARC\pi_{\text {DARC}}^* 为最大化源域中修改后 (熵正则化) 奖励的策略,π\pi^* 为最大化目标域中 (未修改的,熵正则化) 奖励的策略,并假设 π\pi^* 满足假设 1。则有以下结论 :

Eptarget,πDARC[r(st,at)+H[atst]]Eptarget,π[r(st,at)+H[atst]]4Rmaxϵ/2\mathbb{E}_{p_{\text {target}}, \pi_{\text {DARC}}^*}\left[\sum r\left(s_t, a_t\right)+\mathcal{H}\left[a_t \mid s_t\right]\right] \geq \mathbb{E}_{p_{\text {target}}, \pi^*}\left[\sum r\left(s_t, a_t\right)+\mathcal{H}\left[a_t \mid s_t\right]\right]-4 R_{\text {max}} \sqrt{\epsilon / 2}

3.3 具有学习奖励的强化学习的域泛化

图 2. DARC 算法的框架图 (见上面 Algorithm 1)

  前一节中对于基于模型的强化学习的变分视角表明,应该通过添加 Δr\Delta r 来修改源域中的奖励。在本节中,本文展示了如何在不学习显式动力学模型的情况下,通过开发一个实用的算法来估计 Δr\Delta r。为了估计 Δr\Delta r,文中将使用一对 (已学习的) 二元分类器,它们将推断转移是来自源域还是目标域。关键思想是转移概率与分类器概率之间通过贝叶斯规则相关联 :

p(targetst,at,st+1)=p(st+1st,at,target)=ptarget(st+1st,at)p(st,attarget)p(target)/p(st,at,st+1).p\left(\text {target} \mid s_t, a_t, s_{t+1}\right)=\underbrace{p\left(s_{t+1} \mid s_t, a_t, \text {target}\right)}_{=p_{\text {target}}\left(s_{t+1} \mid s_t, a_t\right)} p\left(s_t, a_t \mid \text {target}\right) p(\text {target}) / p\left(s_t, a_t, s_{t+1}\right) .

  文中通过另一个分类器 p(targetst,at)p\left(\text {target}\mid s_t, a_t\right) 估计右式中的项 p(st,attarget)p\left(s_t, a_t \mid\text {target}\right) :

p(st,attarget)=p(targetst,at)p(st,at)p(target)p\left(s_t, a_t \mid \text {target}\right)=\frac{p\left(\text {target} \mid s_t, a_t\right) p\left(s_t, a_t\right)}{p(\text {target})}

  将这些表达式代入文中对 Δr\Delta r 的定义中并进行简化,文中得到的 Δr\Delta r 的估计仅取决于这两个分类器的预测 :

Δr(st,at,st+1)=logp(targetst,at,st+1)logp(targetst,at)logp(sourcest,at,st+1)+logp(sourcest,at)\begin{aligned} \Delta r\left(s_t, a_t, s_{t+1}\right) & ={\color{orange} \log p\left(\operatorname{target} \mid s_t, a_t, s_{t+1}\right)}-{\color{blue} \log p\left(\operatorname{target} \mid s_t, a_t\right)} \\ & -{\color{orange} \log p\left(\text {source} \mid s_t, a_t, s_{t+1}\right)}+{\color{blue}\log p\left(\text {source} \mid s_t, a_t\right)} \end{aligned}

  橙色项是分类器在给定 st,at,st+1s_t,a_t,s_{t+1} 条件下的 logits 差异,而蓝色项是仅在给定 st,ats_t,a_t 条件下的分类器 logits 差异。直观地说,Δr\Delta r 回答了以下问题 : 对于预测转移来自源域还是目标域的任务,在观察到 st+1s_{t+1} 后,你可以表现得更好多少?本文通过将 Δr\Delta r 与互信息相关联。消融实验 (图 7) 证实了两个分类器对本文方法的成功至关重要。转移分类器的使用使得本文的方法在某种程度上类似于对抗性模仿学习 (Ho & Ermon, 2016; Fu et al., 2017)。虽然本文的方法并不解决模仿学习问题 (本文不假设能够访问任何专家经验),但可以解释为学习一种策略,使得源域中该策略观察到的动力学模仿目标域的动力学。

算法总结 文中的算法修改了现有的最大熵强化学习算法,额外学习了两个分类器 : qθSAS(targetst,at,st+1)q_{\theta_{\mathrm{SAS}}}\left(\text {target} \mid s_t, a_t, s_{t+1}\right)qθSA(targetst,at)q_{\theta_{\mathrm{SA}}}\left(\text {target} \mid s_t, a_t\right),分别由参数 θSAS\theta_{\mathrm{SAS}}θSA\theta_{\mathrm{SA}} 参数化,以最小化标准交叉熵损失。

SAS(θSAS)EDtarget[logqθSAS(targetst,at,st+1)]EDsource[logqθSA(sourcest,at,st+1)]SA(θSA)EDtarget[logqθSA(targetst,at)]EDsource[logqθSA(sourcest,at)]\begin{aligned} \ell_{\mathrm{SAS}}\left(\theta_{\mathrm{SAS}}\right) & \triangleq-\mathbb{E}_{\mathcal{D}_{\text {target}}}\left[\log q_{\theta_{\mathrm{SAS}}}\left(\operatorname{target} \mid s_t, a_t, s_{t+1}\right)\right]-\mathbb{E}_{\mathcal{D}_{\text {source}}}\left[\log q_{\theta_{\mathrm{SA}}}\left(\operatorname{source} \mid s_t, a_t, s_{t+1}\right)\right] \\ \ell_{\mathrm{SA}}\left(\theta_{\mathrm{SA}}\right) & \triangleq-\mathbb{E}_{\mathcal{D}_{\text {target}}}\left[\log q_{\theta_{\mathrm{SA}}}\left(\operatorname{target} \mid s_t, a_t\right)\right]-\mathbb{E}_{\mathcal{D}_{\text {source}}}\left[\log q_{\theta_{\mathrm{SA}}}\left(\operatorname{source} \mid s_t, a_t\right)\right] \end{aligned}

  文中的算法名为基于分类器的领域自适应奖励 (DARC),在算法 1 中进行了介绍,并在图 2 中进行了说明。为了简化符号表示,文中定义 θ(θSAS,θSA)\theta \triangleq\left(\theta_{\mathrm{SAS}}, \theta_{\mathrm{SA}}\right)(θ)SAS(θSAS)+SA(θSA)\ell(\theta) \triangleq \ell_{\mathrm{SAS}}\left(\theta_{\mathrm{SAS}}\right)+\ell_{\mathrm{SA}}\left(\theta_{\mathrm{SA}}\right)。在每次迭代中,文中从源域和 (较少频繁地) 目标域收集转移,并将转移存储在单独的重放缓冲区中。然后,本文从这两个缓冲区中随机抽取一批经验来更新分类器。作者使用分类器来修改源域中的奖励,并将最大熵强化学习应用于这些经验。本文使用 SAC (Haarnoja et al., 2018) 作为我们的最大熵强化学习算法,但强调 DARC 适用于任何最大熵强化学习算法 (例如,基于策略、离线策略和基于模型的算法)。在训练分类器时,本文添加高斯输入噪声以防止过度拟合于少量的目标域转移。

4 实验

  本文主要是从迁移学习进行探索,因此暂时略。