zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

(《机器学习》完整版系列)第16章 强化学习——16.12 逆强化学习(逆是指回到条件中)

机器学习 系列 条件 16 强化 完整版
2023-09-11 14:14:53 时间

提示:
现在,强化学习任务的条件中,奖赏函数未知,用线性函数(近似地)表达奖赏函数(其参数未知)。逆强化学习是指学习的内容是强化学习任务某条件。
基于“人类专家具有最优性”这一假定,以及多目标优化理论,交替地迭代出最优奖赏函数。

逆强化学习

现在,强化学习任务的条件 E = ⟨ X , A , P , R ⟩ E=\langle X,A,P,R\rangle E=X,A,P,R中,奖赏函数 R R R未知,如何处理?

我们曾用线性函数(近似地)表达了值函数【西瓜书式(16.32)】,这里我们用线性函数(近似地)表达奖赏函数,为更一般,我们将状态设为多元的,用向量 x \boldsymbol{x} x表示,奖赏函数为
R ( x ) = w T x \begin{align} R(\boldsymbol{x})=\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x} \tag{16.95} \end{align} R(x)=wTx(16.95)
其中,不妨设 x ∈ [ 0 , 1 ] k \boldsymbol{x}\in [0,1] ^k x[0,1]k(分量压缩到[0,1]区间),也不妨设 ∣ ∣ w ∣ ∣ 2 ⩽ 1 ||\boldsymbol{w}||_2\leqslant 1 ∣∣w21(否则可乘以一个系数使其满足所设)。

将式(16.95)代入状态值函数【西瓜书式(16.5)】( R ( x t ) R(\boldsymbol{x}_t) R(xt)取代 r t + 1 r_{t+1} rt+1),则 γ \gamma γ型累积奖赏为【西瓜书式(16.37)】,简记为
ρ w π = w T x ‾ π \begin{align} \rho_{\boldsymbol{w}} ^{\pi}=\boldsymbol{w}^{\mathrm{T}}\overline{\boldsymbol{x}}^{\pi} \tag{16.96} \end{align} ρwπ=wTxπ(16.96)
其中,称 x ‾ π \overline{\boldsymbol{x}}^{\pi} xπ π {\pi} π的特征向量
x ‾ π = E [ ∑ t = 0 + ∞ γ t x t ] \begin{align} \overline{\boldsymbol{x}}^{\pi}=\mathbb{E} \left[\sum_{t=0}^{+\infty }\gamma ^t \boldsymbol{x}_t\right] \tag{16.97} \end{align} xπ=E[t=0+γtxt](16.97)

若已知策略 π \pi π,则可对其进行蒙特卡罗试验,采样得到其轨线集 { τ i π } i = 1 m \{\tau^{\pi} _i\}_{i=1}^m {τiπ}i=1m,其中, τ i π = ( x 1 π , x 2 π , ⋯   , x n i π ) {\tau^{\pi} _i}=(\boldsymbol{x}^{\pi}_1,\boldsymbol{x}^{\pi}_2,\cdots,\boldsymbol{x}^{\pi}_{n_i}) τiπ=(x1π,x2π,,xniπ)为第 i i i条决策轨线,它的长度为 n i {n_i} ni,则式(16.97)中的期望可用平均来近似,即
x ‾ π ≈ E [ ∑ t = 0 n γ t x t ] (足够大的 n ) ≈ 1 m ∑ i = 1 m ∑ t = 0 n i γ t x t π \begin{align} \overline{\boldsymbol{x}}^{\pi} & \approx \mathbb{E} \left[\sum_{t=0}^{n }\gamma ^t \boldsymbol{x}_t\right]\quad \text{(足够大的$n$)}\notag \\ & \approx \frac{1}{m}\sum_{i=1}^m\sum_{t=0}^{n_i}\gamma ^t{\boldsymbol{x}^{\pi}_t} \tag{16.98} \end{align} xπE[t=0nγtxt](足够大的nm1i=1mt=0niγtxtπ(16.98)

我们把问题转化为:借助人类专家决策的范例,求式(16.95)中“真实”的 w ∗ w^* w及以对应的最优策略 π w ∗ ∗ \pi ^*_{w^*} πw

将人类专家的策略记为 e e e,并视它为最优策略 π w ∗ ∗ \pi ^*_{w^*} πw的近似(即假定:基于 w ∗ \boldsymbol{w}^* w人类专家 e e e具有最优性)。 虽然不知道 e e e是什么样,但已收集到它的一些轨线(范例集) { τ i e } i = 1 m \{\tau^{e} _i\}_{i=1}^m {τie}i=1m,则
对应于式(16.96)、式(16.98)有
ρ w e = w T x ‾ e x ‾ e = 1 m ∑ i = 1 m ∑ t = 0 n i γ t x t e \begin{align} \rho_{\boldsymbol{w}} ^{e} & =\boldsymbol{w}^{\mathrm{T}}\overline{\boldsymbol{x}}^{e} \tag{16.99} \\ \overline{\boldsymbol{x}}^{e} & =\frac{1}{m}\sum_{i=1}^m\sum_{t=0}^{n_i}\gamma ^t{\boldsymbol{x}^{e}_t} \tag{16.100} \end{align} ρwexe=wTxe=m1i=1mt=0niγtxte(16.99)(16.100)

再比较机器策略 π \pi π与人类专家策略 e e e二者间的奖赏,差距为
ρ w e − ρ w π = w T ( x ‾ e − x ‾ π ) \begin{align} \rho _{\boldsymbol{w}}^e-\rho _{\boldsymbol{w}}^{\pi } & =\boldsymbol{w}^{\mathrm{T}}(\overline{\boldsymbol{x}}^e-\overline{\boldsymbol{x}}^{\pi }) \tag{16.101} \end{align} ρweρwπ=wT(xexπ)(16.101)
其中,特征向量 x ‾ e , x ‾ π \overline{\boldsymbol{x}}^e,\overline{\boldsymbol{x}}^{\pi} xe,xπ分别为式(16.100)、式(16.98)。
另外,式中右侧的 ( x ‾ e − x ‾ π ) (\overline{\boldsymbol{x}}^e-\overline{\boldsymbol{x}}^{\pi }) (xexπ)不视为 w \boldsymbol{w} w的函数。

(1)给定 w 0 \boldsymbol{w}_0 w0,对其进行一次改进,分三步:

1.给定 w 0 \boldsymbol{w}_0 w0,按“有模型”( E = ⟨ X , A , P , R ⟩ ,   R ( x ) = w 0 T x E=\langle X,A,P,R\rangle ,\ R(\boldsymbol{x})=\boldsymbol{w}_0^{\mathrm{T}}\boldsymbol{x} E=X,A,P,R, R(x)=w0Tx)方式进行训练,得到最优解 π w ∗ \pi ^*_{\boldsymbol{w}} πw
记为 π ′ \pi ' π

2.由策略 π ′ \pi ' π,进行蒙特卡罗采样,按式(16.98)产生对应的特征向量 x ‾ π ′ \overline{\boldsymbol{x}}^{\pi '} xπ

3.对于已有 e , π ′ e,\pi ' e,π而言,再“逆”过来看:应该如何改进 w \boldsymbol{w} w?就是尽力寻找“真实”的 w ∗ \boldsymbol{w}^* w

由于“基于 w ∗ \boldsymbol{w}^* w人类专家 e e e具有最优性”,即 e e e获得的奖赏最大,因此, w ∗ \boldsymbol{w}^* w应能最大化奖赏的差距,即最大化间隔(类似SVM时的理念)
w ∗ = arg ⁡ max ⁡ w ( ρ w e − ρ w π ′ ) = arg ⁡ max ⁡ w w T ( x ‾ e − x ‾ π ′ ) (由式(16.101)) \begin{align} \boldsymbol{w} ^* & =\mathop{\arg\max}\limits_{\boldsymbol{w}}(\rho ^e_{\boldsymbol{w}}-\rho ^{\pi '}_{\boldsymbol{w}})\notag \\ & =\mathop{\arg\max}\limits_{\boldsymbol{w}}\boldsymbol{w}^{\mathrm{T}}(\overline{\boldsymbol{x}}^e-\overline{\boldsymbol{x}}^{\pi '})\quad \text{(由式(16.101))} \tag{16.102} \end{align} w=wargmax(ρweρwπ)=wargmaxwT(xexπ)(由式(16.101)(16.102)

由式(16.102),本次训练 w \boldsymbol{w} w的目标为
max ⁡ w w T ( x ‾ e − x ‾ π ′ ) s . t . ∣ ∣ w ∣ ∣ ⩽ 1 \begin{align} & \mathop{\max}\limits_{\boldsymbol{w}}\boldsymbol{w}^{\mathrm{T}}(\overline{\boldsymbol{x}}^e-\overline{\boldsymbol{x}}^{\pi '}) \tag{16.103} \\ & \quad \mathrm{s.t.}\qquad ||\boldsymbol{w}||\leqslant 1 \notag \end{align} wmaxwT(xexπ)s.t.∣∣w∣∣1(16.103)
由此即得到优化的 w ∗ \boldsymbol{w} ^* w

(2)现在考虑有 j j j个进程同时并发地按(1)进行训练:第 i i i个进程给定的 w \boldsymbol{w} w w i − 1 \boldsymbol{w}_{i-1} wi1(错开一位 i − 1 i-1 i1是为了与式(16.107)对应),对其改进,得到的 w ∗ \boldsymbol{w} ^* w记为 w i ∗ \boldsymbol{w}_i ^* wi,训练出的 π ′ \pi ' π记为 π i \pi _i πi,对应的特征向量 x ‾ π i \overline{\boldsymbol{x}}^{\pi_i} xπi记为 x ‾ i \overline{\boldsymbol{x}}_i xi,由式(16.103),则有一组目标
max ⁡ w w T ( x ‾ e − x ‾ i ) s . t . ∣ ∣ w ∣ ∣ ⩽ 1 ,   i = 1 , 2 , ⋯   , j \begin{align} & \mathop{\max}\limits_{\boldsymbol{w}}\boldsymbol{w}^{\mathrm{T}}(\overline{\boldsymbol{x}}^e-\overline{\boldsymbol{x}}_i) \tag{16.104} \\ & \quad \mathrm{s.t.}\qquad ||\boldsymbol{w}||\leqslant 1 ,\ \quad i=1,2,\cdots,j \notag \end{align} wmaxwT(xexi)s.t.∣∣w∣∣1, i=1,2,,j(16.104)
其中, x ‾ i \overline{\boldsymbol{x}}_i xi是第 i i i个进程按(1)的步骤1、2,由给定的 w i − 1 \boldsymbol{w}_{i-1} wi1得到。

然而,各 w i ∗ \boldsymbol{w}_i ^* wi并不相同,如何将它们“合成”一个呢?办法是在它们训练过程中(而不是训练之后)采取“互相牵就”而达到一种平衡,即有一个总控,它“力图”使这些目标同时满足,这即是多目标优化,如图 16.13所示。
图 16.13 多目标优化

图 16.13 多目标优化

由多目标优化理论,在一定的条件下(假设满足该条件),多目标式(16.104)可以转化为单目标(一个优化式)
max ⁡ w min ⁡ i ∈ { 1 , 2 , ⋯   , j } w T ( x ‾ e − x ‾ i )   s . t . ∣ ∣ w ∣ ∣ ⩽ 1 \begin{align} & \mathop{\max}\limits_{\boldsymbol{w}}\mathop{\min}\limits_{i\in \{1,2,\cdots,j\}}\boldsymbol{w}^{\mathrm{T}}(\overline{\boldsymbol{x}}^e-\overline{\boldsymbol{x}}_i) \tag{16.105} \\ & \ \mathrm{s.t.}\qquad ||\boldsymbol{w}||\leqslant 1 \notag \end{align} wmaxi{1,2,,j}minwT(xexi) s.t.∣∣w∣∣1(16.105)
观察式(16.105)知,它只需要一个特征向量集 X ‾ = { x ‾ i } i = 1 j \overline{\boldsymbol{X}}=\{\overline{\boldsymbol{x}}_i\}_{i=1}^j X={xi}i=1j即可(从 min ⁡ {\min} min号下的约束即可知),
产生的最优解为
w ∗ = arg ⁡ max ⁡ w min ⁡ x ‾ i ∈ X ‾ w T ( x ‾ e − x ‾ i )   s . t . ∣ ∣ w ∣ ∣ ⩽ 1 \begin{align} & \boldsymbol{w}^*=\mathop{\arg\max}\limits_{\boldsymbol{w}}\mathop{\min}\limits_{\overline{\boldsymbol{x}}_i\in \overline{\boldsymbol{X}}}\boldsymbol{w}^{\mathrm{T}}(\overline{\boldsymbol{x}}^e-\overline{\boldsymbol{x}}_i) \tag{16.106} \\ & \ \mathrm{s.t.}\qquad ||\boldsymbol{w}||\leqslant 1 \notag \end{align} w=wargmaxxiXminwT(xexi) s.t.∣∣w∣∣1(16.106)

(3)递进地改进 w \boldsymbol{w} w

逐步改进的 w \boldsymbol{w} w形成一个序列
( w 0 , w 1 , w 2 , ⋯   , w j − 1 , ⋯   ) \begin{align} (\boldsymbol{w}_0,\boldsymbol{w}_1,\boldsymbol{w}_2,\cdots,\boldsymbol{w}_{j-1},\cdots) \tag{16.107} \end{align} (w0,w1,w2,,wj1,)(16.107)
设当前已有该序列的前 j j j项:基于这 j j j w i \boldsymbol{w}_i wi依(2)的方法产生一个新的最优解 w ∗ \boldsymbol{w}^* w(即由式(16.106)所得),它作为第 j + 1 j+1 j+1个,记为 w j \boldsymbol{w}_{j} wj。 对于这个 w j \boldsymbol{w}_{j} wj,依(1)的第1步产生 π ′ \pi ' π,记为 π j + 1 \pi _{j+1} πj+1;依(1)的第2步产生对应的特征向量 x ‾ π ′ \overline{\boldsymbol{x}}^{\pi '} xπ,记为 x ‾ j + 1 \overline{\boldsymbol{x}} _{j+1} xj+1,将其加入到特征向量集 X ‾ \overline{\boldsymbol{X}} X中,又可依(2)的式(16.106)产生新的 w ∗ \boldsymbol{w}^* w(第 j + 2 j+2 j+2个),这就形成了递进地改进 w \boldsymbol{w} w,也即由 w \boldsymbol{w} w π \pi π交替迭代。 如图 16.14 所示。

图 16.14 交替迭代

又由式(16.106),得到结束条件为:给定阈值 ϵ \epsilon ϵ,当满足如下条件时停机:
max ⁡ w min ⁡ x ‾ i ∈ X ‾ w T ( x ‾ e − x ‾ i ) < ϵ \begin{align} & \mathop{\max}\limits_{\boldsymbol{w}}\mathop{\min}\limits_{\overline{\boldsymbol{x}}_i\in \overline{\boldsymbol{X}}}\boldsymbol{w}^{\mathrm{T}}(\overline{\boldsymbol{x}}^e-\overline{\boldsymbol{x}}_i)<\epsilon \tag{16.108} \end{align} wmaxxiXminwT(xexi)<ϵ(16.108)

综上,可得交替迭代算法:

1.由人类专家决策的范例集,计算人类专家策略的特征向量 x ‾ e \overline{\boldsymbol{x}}^e xe

2.初始化交替迭代的起点: j = 1 j=1 j=1,任取 w 0 \boldsymbol{w}_0 w0按(1)的第1步训练出 π 1 \pi_1 π1(或直接取随机策略作为 π 1 \pi_1 π1),再由 π 1 \pi_1 π1得到其特征向量 x ‾ 1 \overline{\boldsymbol{x}}_1 x1,即(1)的第2步,由此初始化特征向量集 X ‾ = { x ‾ 1 } \overline{\boldsymbol{X}}=\{\overline{\boldsymbol{x}}_1\} X={x1}

3.利用已知特征向量集 X ‾ \overline{\boldsymbol{X}} X,训练 w j \boldsymbol{w}_{j} wj,即式(16.106);

4.由 w j \boldsymbol{w}_{j} wj按(1)的第1步训练出 π j + 1 \pi_{j+1} πj+1

5.由 π j + 1 \pi_{j+1} πj+1按(1)的第2步,通过蒙特卡罗采样求出其特征向量 x ‾ j + 1 \overline{\boldsymbol{x}}_{j+1} xj+1,并将其加入到特征向量集,即 X ‾ = X ‾ ∪ { x ‾ j + 1 } \overline{\boldsymbol{X}}=\overline{\boldsymbol{X}}\cup \{\overline{\boldsymbol{x}}_{j+1}\} X=X{xj+1}

6.判断是否结束:若满足式(16.108),则结束算法并返回最新的结果,即 w j \boldsymbol{w}_{j} wj π j + 1 \pi_{j+1} πj+1

7.递进: j = j + 1 j=j+1 j=j+1,回到第3步继续迭代。

算法中还用到了“利用-探索”技术,其中,第3步即为“利用”,第4-5步即为“探索”。

这即为迭代式逆强化学习算法【西瓜书图16.15】。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:16.11 直接模仿学习
下一篇:1、向量与矩阵