(《机器学习》完整版系列)第16章 强化学习——16.12 逆强化学习(逆是指回到条件中)
提示:
现在,强化学习任务的条件中,奖赏函数未知,用线性函数(近似地)表达奖赏函数(其参数未知)。逆强化学习是指学习的内容是强化学习任务某条件。
基于“人类专家具有最优性”这一假定,以及多目标优化理论,交替地迭代出最优奖赏函数。
逆强化学习
现在,强化学习任务的条件 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
∣∣w∣∣2⩽1(否则可乘以一个系数使其满足所设)。
将式(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=0∑nγtxt](足够大的n)≈m1i=1∑mt=0∑niγ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=1∑mt=0∑niγ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(xe−xπ)(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 })
(xe−xπ)不视为
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(xe−xπ′)(由式(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(xe−xπ′)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}
wi−1(错开一位
i
−
1
i-1
i−1是为了与式(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(xe−xi)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}
wi−1得到。
然而,各
w
i
∗
\boldsymbol{w}_i ^*
wi∗并不相同,如何将它们“合成”一个呢?办法是在它们训练过程中(而不是训练之后)采取“互相牵就”而达到一种平衡,即有一个总控,它“力图”使这些目标同时满足,这即是多目标优化,如图 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(xe−xi) 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∗=wargmaxxi∈XminwT(xe−xi) 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,⋯,wj−1,⋯)(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.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}
wmaxxi∈XminwT(xe−xi)<ϵ(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、向量与矩阵
相关文章
- 机器学习模型跨平台上线
- 机器学习数学系列(4):参数估计
- 机器学习数学系列(1):机器学习与数学基础知识
- 机器学习入门06 - 训练集和测试集 (Training and Test Sets)
- 机器学习笔记 - 特殊类型的矩阵和向量
- 机器学习笔记 - 在IdenProf数据集上训练深度残差网络ResNet50
- 【玩转数据系列二】机器学习应用没那么难,这次教你玩心脏病预测
- ML:MLOps系列讲解之《设计机器学习驱动的(ML-powered)软件—我们想要解决的业务问题是什么?》解读
- Python:Python语言的简介(语言特点/pyc介绍/Python版本语言兼容问题(python2 VS Python3))、安装、学习路线(数据分析/机器学习/网页爬等编程案例分析)之详细攻略
- ML之回归预测:利用13种机器学习算法对Boston(波士顿房价)数据集【13+1,506】进行回归预测(房价预测)来比较各模型性能
- ML之DL:机器学习领域发展最快的分支【深度学习】的发展史及其重要性节点之详细攻略
- 使用机器学习代码的光热发电和风力涡轮机人工智能系统研究(Matlab代码实现)
- 【千呼万唤】李宏毅《机器学习》国语课程(2022)终于来了
- 太骚了,用 Excel 玩机器学习
- 9个超实用的机器学习数据集网址,都给你整理好啦(建议收藏)
- Andrew NG机器学习课程笔记系列之——机器学习之逻辑回归(Logistic Regression)
- 机器学习的大局观:使用神经网络和TensorFlow来对文本分类
- 基于机器学习的web异常检测——基于HMM的状态序列建模,将原始数据转化为状态机表示,然后求解概率判断异常与否
- 机器学习特征表达——日期与时间特征做离散处理(数字到分类的映射),稀疏类分组(相似特征归档),创建虚拟变量(提取新特征) 本质就是要么多变少,或少变多
- 机器学习笔记