逆向强化学习
什么是逆向强化学习
强化学习时求累计回报期望最大时的最优策略,在求解过程中的奖励函数是人为指定的,而奖励函数的设置与最后获得最优的策略有很大关联,而在很多复杂任务中,回报函数是很难定下来的
指定回报函数的方法:
- 从人的示例中学到隐形的回报函数
而逆向强化学习就是从专家示例中学到回报函数
逆向强化学习的分类
主要分为两类:
- 最大边际形式化:包括学徒学习(AL)、MMP方法、结构化分类、神经逆向强化学习,但是这种方法无法解决歧义的问题,很多时候不存在单独的回报函数使得专家示例行为既是最优又比其他行为好很多,或者有很多不同的回报函数使得出现相同的专家策略。
- 基于概率模型的形式化:她可以解决歧义性问题
基于最大边际的方法
学徒学习
学徒学习:智能体从专家示例中学到回报函数,使得在该回报函数下所得到的最优策略在专家示例策略附近
回报函数R(s)一般都是状态函数,因此可以利用函数逼近的方法,对其进行参数逼近
R
(
s
)
=
w
⋅
φ
(
s
)
R(s) = w·φ(s)
R(s)=w⋅φ(s)
其中φ(s)是基底函数,可以是多项式,也可以是傅里叶基底,IRL的目标就是求系统w,用一个策略的特征期望来判断这个策略与专家策略的相近程度,通过给定专家轨迹,IRL尝试策略
π
^
\hat\pi
π^,计算期望,如果两个期望相差小于定义的ε,则接受这个策略。
根据值函数定义,策略
π
^
\hat\pi
π^的值函数为:
E
s
0
D
[
V
π
(
s
0
)
]
=
E
[
∑
t
=
0
∞
γ
t
R
(
s
t
)
∣
π
]
=
w
⋅
E
[
∑
t
=
0
∞
γ
t
φ
(
s
t
)
∣
π
]
E_{s_0 D}[V^\pi(s_0)] = E[\sum^∞_{t=0}\gamma^tR(s_t)|\pi] = {w}\cdot{E[\sum^∞_{t=0}\gamma^tφ(s_t)|\pi}]
Es0D[Vπ(s0)]=E[∑t=0∞γtR(st)∣π]=w⋅E[∑t=0∞γtφ(st)∣π]
专家策略的特征期望:
μ
^
E
=
1
m
∑
i
=
1
m
∑
t
=
0
∞
γ
t
φ
(
s
t
(
i
)
)
\hat\mu_E = \frac{1}{m}\sum_{i=1}^m\sum^∞_{t=0}\gamma^tφ(s_t^{(i)})
μ^E=m1∑i=1m∑t=0∞γtφ(st(i))
总结:学徒逆向强化学习方法分为两步,第一步在已经迭代得到的最优策略中,利用最大边际方法求出当前的回报函数的参数值;第二步利用求出的回报函数的参数值进行正向强化学习方法求得当前最优的策略,然后重复第一步。
为了寻找最优策略π~接近专家策略. 使两者的策略值函数E(V)接近, 即特征期望μ接近:
∣
∣
E
[
Σ
t
=
0
∞
γ
t
R
(
s
t
)
∣
π
E
−
E
[
Σ
t
=
0
∞
γ
t
R
(
s
t
)
∣
π
^
]
∣
∣
=
∣
∣
w
T
μ
(
π
^
)
−
w
T
μ
E
∣
∣
≤
∥
w
∥
2
∥
μ
(
π
)
−
μ
E
∥
2
≤
1
⋅
ϵ
=
ϵ
|| E[Σ^∞_{t=0}γ^tR(s_t)|π_E−E[Σ^∞_{t=0}γ^tR(s_t)|\hatπ]∣∣=∣∣w^Tμ(\hatπ)−w^Tμ_E∣∣≤∥w∥_2∥μ(π~)−μ_E∥_2≤1⋅ϵ=ϵ
∣∣E[Σt=0∞γtR(st)∣πE−E[Σt=0∞γtR(st)∣π^]∣∣=∣∣wTμ(π^)−wTμE∣∣≤∥w∥2∥μ(π )−μE∥2≤1⋅ϵ=ϵ
最大熵拟强化学习
在概率论中,熵是不确定性的度量,不确定性越大,熵越大,在区间固定时,均匀分布的熵最大,因为选择每个点的概率相同,不确定性很大。
最大熵原理
在学习概率模型时,在所有满足约束的概率分布中,熵最大的模型是最好的模型,因为他没有对未知做任何主观假设。
条件分布P(Y|X)的熵:
H
(
P
)
=
−
∑
x
,
y
P
(
y
,
x
)
l
o
g
P
(
y
∣
x
)
=
−
∑
x
,
y
P
(
x
)
^
P
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
H(P) = -\sum_{x,y}P(y,x)logP(y|x) = -\sum_{x,y}\hat{P(x)}P(y|x)logP(y|x)
H(P)=−∑x,yP(y,x)logP(y∣x)=−∑x,yP(x)^P(y∣x)logP(y∣x)
从概率模型的角度建模逆向强化学习,也就是存在一个潜在的概率分布,在这个概率分布下,产生了专家轨迹,也就是已知专家轨迹,求产生这个轨迹分布的概率模型。
∑
P
a
t
h
P
(
ζ
i
)
f
ζ
i
=
f
^
\sum_{Path}P(ζ_i)f_{ζ_i} = \hat{f}
∑PathP(ζi)fζi=f^
- f:特征期望
-
f
^
:专家特征期望
\hat{f}:专家特征期望
f^:专家特征期望
在满足方程的所有概率分布中,熵最大的概率分布可以避免歧义性的问题
一个分布的熵越是最大化,就越能有效地最小化选择最差策略的概率,越能将预测风险最小化。
理论推导
先贴一个看到很全面的推导最大熵模型 Maximum Entropy Model
现在要优化问题的原型:
m
i
n
P
∈
C
∑
x
,
y
P
(
x
)
^
P
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
min_{P\in{C}}\sum_{x,y}\hat{P(x)}P(y|x)logP(y|x)
minP∈C∑x,yP(x)^P(y∣x)logP(y∣x)
s
.
t
.
∑
P
a
t
h
P
(
ζ
i
)
f
ζ
i
=
f
^
s.t. \sum_{Path}P(ζ_i)f_{ζ_i} = \hat{f}
s.t.∑PathP(ζi)fζi=f^
∑
y
P
(
y
∣
x
)
=
1
\sum_y P(y|x) = 1
∑yP(y∣x)=1
现在是一个带有约束条件的最优化问题,通过引入拉格朗日乘子将其转化为无约束的优化问题,定义拉格朗日函数L(P,w)
L
(
P
,
w
)
=
−
H
(
P
)
+
w
0
(
1
−
∑
y
P
(
y
∣
x
)
)
+
∑
i
=
1
n
w
i
(
E
P
~
(
f
i
)
−
E
p
(
f
i
)
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
+
w
0
(
1
−
∑
y
P
(
y
∣
x
)
)
+
∑
i
=
1
n
w
i
(
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
−
∑
x
,
y
P
~
(
x
)
p
(
y
∣
x
)
f
(
x
,
y
)
)
\begin{aligned} L(P,w) &= -H(P) + w_0\left (1-\sum_yP(y|x) \right ) + \sum^n_{i=1}w_i(E _{\widetilde{P}}(f_i) - E_p(f_i))\\ &=\sum_{x,y} \widetilde{P}(x)P(y|x)logP(y|x) + w_0\left (1-\sum_yP(y|x) \right ) + \sum^n_{i=1}w_i\left (\sum_{x,y}\widetilde{P}(x ,y)f(x,y) -\sum_{x,y}\widetilde{P}(x)p(y|x)f(x,y) \right ) \end{aligned}
L(P,w)=−H(P)+w0(1−y∑P(y∣x))+i=1∑nwi(EP
(fi)−Ep(fi))=x,y∑P
(x)P(y∣x)logP(y∣x)+w0(1−y∑P(y∣x))+i=1∑nwi(x,y∑P
(x,y)f(x,y)−x,y∑P
(x)p(y∣x)f(x,y))
由于是求极小值,因此拉格朗日函数必须要满足约束条件,满足后
L
(
P
,
w
)
=
m
a
x
L
(
P
,
w
)
L(P,w) = maxL(P,w)
L(P,w)=maxL(P,w),为了方便处理将其转化为极大极小问题:
min
P
∈
C
max
w
L
(
P
,
w
)
\min_{P \in C} \max_w L(P,w)
minP∈CmaxwL(P,w)
对偶后发现,极大极小与极小极大问题等价:
min
P
∈
C
max
w
L
(
P
,
w
)
=
m
a
x
w
m
i
n
P
∈
C
L
(
P
,
w
)
\min_{P \in C} \max_w L(P,w) = max_{w}min_{P \in C}L(P,w)
minP∈CmaxwL(P,w)=maxwminP∈CL(P,w)
先求内部极小问题,得到的是一个关于w的函数:
Ψ
(
w
)
=
min
P
∈
C
L
(
P
,
w
)
=
L
(
P
w
,
w
)
\Psi(w) = \min_{P \in C} L(P,w) = L(P_w,w)
Ψ(w)=minP∈CL(P,w)=L(Pw,w) 其中Pw可以记做:
P
w
=
a
r
g
min
P
∈
C
L
(
P
,
w
)
=
P
w
(
y
∣
x
)
P_w = arg \min_{P \in C}L(P,w) = P_w(y|x)
Pw=argminP∈CL(P,w)=Pw(y∣x),要求解P的最小值Pw,只需要对P(y|x)进行求导,令导数得0即可
∂
L
(
P
,
w
)
∂
P
(
y
∣
x
)
=
∑
x
,
y
P
~
(
x
)
(
l
o
g
P
(
y
∣
x
)
+
1
)
−
∑
y
w
0
−
∑
x
,
y
(
P
~
(
x
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
=
∑
x
,
y
P
~
(
x
)
(
l
o
g
P
(
y
∣
x
)
+
1
−
w
0
−
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
=
0
⇒
P
(
y
∣
x
)
=
e
x
p
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
+
w
0
−
1
)
=
e
x
p
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
e
x
p
(
1
−
w
0
)
\begin{aligned} \frac{\partial L(P,w) }{\partial P(y|x)} &= \sum_{x,y}\widetilde{P}(x)(logP(y|x)+1)-\sum_yw_0-\sum_{x,y}\left ( \widetilde{P}(x)\sum_{i=1}^nw_if_i(x,y) \right ) \\ &= \sum_{x,y}\widetilde{P}(x)\left ( logP(y|x)+1-w_0-\sum_{i=1}^n w_if_i(x,y) \right ) = 0 \\ \Rightarrow \\ P(y|x) &= exp \left ( \sum_{i=1}^n w_if_i(x,y) +w_0-1 \right ) = \frac{exp\left(\sum_{i=1}^n w_if_i(x,y) \right )}{exp(1-w_0)} \end{aligned}
∂P(y∣x)∂L(P,w)⇒P(y∣x)=x,y∑P
(x)(logP(y∣x)+1)−y∑w0−x,y∑(P
(x)i=1∑nwifi(x,y))=x,y∑P
(x)(logP(y∣x)+1−w0−i=1∑nwifi(x,y))=0=exp(i=1∑nwifi(x,y)+w0−1)=exp(1−w0)exp(∑i=1nwifi(x,y))
由于
∑
y
P
(
y
∣
x
)
=
1
\sum_yP(y|x) = 1
∑yP(y∣x)=1 可以得到:
e
x
p
(
1
−
w
0
)
=
∑
y
e
x
p
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
exp(1-w_0) = \sum _y exp \left ( \sum_{i=1}^n w_if_i(x,y) \right )
exp(1−w0)=∑yexp(∑i=1nwifi(x,y))
令
Z
w
(
x
)
=
e
x
p
(
1
−
w
0
)
Z_w (x) = exp(1-w_0)
Zw(x)=exp(1−w0)
这里 fi(x,y) 代表特征函数,wi 代表特征函数的权值,对内部极小化得到关于w的函数,现在对外部最大化,就可以得到最优解:
w
∗
=
a
r
g
max
w
Ψ
(
w
)
w^* = arg \max_w \Psi(w)
w∗=argmaxwΨ(w),将Pw(y|x)代入
Ψ
(
w
)
\Psi(w)
Ψ(w)中
Ψ
(
w
)
=
∑
x
,
y
P
~
(
x
)
P
w
(
y
∣
x
)
l
o
g
P
w
(
y
∣
x
)
+
∑
i
=
1
n
w
i
(
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
−
∑
x
,
y
P
~
(
x
)
P
w
(
y
∣
x
)
f
(
x
,
y
)
)
=
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
+
∑
x
,
y
P
~
(
x
)
P
w
(
y
∣
x
)
(
l
o
g
P
w
(
y
∣
x
)
−
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
=
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
+
∑
x
,
y
P
~
(
x
)
P
w
(
y
∣
x
)
l
o
g
Z
w
(
x
)
=
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
+
∑
x
P
~
(
x
)
l
o
g
Z
w
(
x
)
∑
y
P
w
(
y
∣
x
)
=
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
+
∑
x
P
~
(
x
)
l
o
g
Z
w
(
x
)
\begin{aligned} \Psi(w) &=\sum_{x,y}\widetilde{P}(x)P_w(y|x)logP_w(y|x) + \sum^n_{i=1}w_i\left (\sum_{x,y}\widetilde{P}(x ,y)f(x,y) -\sum_{x,y}\widetilde{P}(x)P_w(y|x)f(x,y) \right )\\ &= \sum_{x,y} \widetilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y) +\sum_{x,y}\widetilde{P}(x)P_w(y|x)\left (logP_w(y|x) - \sum_{i=1}^nw_if_i(x,y) \right) \\ &=\sum_{x,y} \widetilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y) +\sum_{x,y}\widetilde{P}(x)P_w(y|x)logZ_w(x)\\ &=\sum_{x,y} \widetilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y) +\sum_x\widetilde{P}(x)logZ_w(x)\sum_yP_w(y|x)\\ &=\sum_{x,y} \widetilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y) +\sum_x\widetilde{P}(x)logZ_w(x)\\ \end{aligned}
Ψ(w)=x,y∑P
(x)Pw(y∣x)logPw(y∣x)+i=1∑nwi(x,y∑P
(x,y)f(x,y)−x,y∑P
(x)Pw(y∣x)f(x,y))=x,y∑P
(x,y)i=1∑nwifi(x,y)+x,y∑P
(x)Pw(y∣x)(logPw(y∣x)−i=1∑nwifi(x,y))=x,y∑P
(x,y)i=1∑nwifi(x,y)+x,y∑P
(x)Pw(y∣x)logZw(x)=x,y∑P
(x,y)i=1∑nwifi(x,y)+x∑P
(x)logZw(x)y∑Pw(y∣x)=x,y∑P
(x,y)i=1∑nwifi(x,y)+x∑P
(x)logZw(x)
最后得到最终求解问题:
max
p
∈
C
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
+
∑
x
P
~
(
x
)
l
o
g
Z
w
(
x
)
\max_{p \in C} \sum_{x,y} \widetilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y) +\sum_x\widetilde{P}(x)logZ_w(x)
maxp∈C∑x,yP
(x,y)∑i=1nwifi(x,y)+∑xP
(x)logZw(x)