无监督的(元)强化学习总结
DIAYN
全名‘Diversity Is All You Need: Learning skills without a reward function’。关键词:learning skills without reward function; pretrained skills for downstream tasks; hierarchically to solve tasks;
一句话总结核心思想:通过无监督(无奖励信号)的方法学习有用的skills作为一种有效的预训练机制来克服RL中的探索和样本效率问题。
Key Idea
学习目标:由于未知reward function,目标不能再是传统的最大化累计奖励回报,而是要求学习的所有skills相互之间有区别性,同时所有skills共同探索大部分状态空间。具体来说,我们想训练一些skills,这些skills能覆盖绝大多数可能的行为(比如跑、跳、走,而不是单一动作)。这样针对一个任务时,如果’跑‘这个行为无用,那么其他skills下表现的行为,如“走”,“跳”等就和之前的行为具有差异性,因此可能更有用处。
注意:这里的skills的可判别性与最大化多样性是不同的。每一个skill对应一个隐条件策略 π ( a ∣ s , z ) \pi(a|s,z) π(a∣s,z),隐变量 z z z就是skill的语义意义。轻微的状态上的差异就可以导致skills是可判别的(后面会说到,skill指定访问状态),却不能说明 π ( a ∣ s , z ) \pi(a|s,z) π(a∣s,z)是多样性的。所以我们的要学习的skills目标就是既可判别,又多样性。
Formulation
智能体的策略的学习可以分为两个阶段,DIAYN主要是无监督阶段学习有用的skills,使这些skills在有了task reward后的监督阶段能更容易地最大化累计奖励回报这一监督信号。
目标函数基于以下思想:
- 想让skill指定智能体访问的状态,这样不同的skills就访问不同的states,从而达到可判别性;
- 第一条中用states而不是actions判别skills,因为外部观察者看不到不影响环境的动作(状态不同肉眼可见,动作不同肉眼未必可见),也就无法判别动作是否不同,即skills是否不同;
- 为了提高探索性,同时促进skills的多样性,通过学习尽可能随机action的skills;
这样具备高熵(多样性)且具有可判别性的skills,不同的skills之间探索不同部分的状态空间,这样就避免由于动作随机性导致进入无法区分的状态。所以利用信息论概念和以上思想,目标函数满足:
- 最大化状态空间 S S S和skills的互信息: I ( S ; Z ) I(S;Z) I(S;Z)(针对上述第一条),也就是说我们可以从状态推断skill;
- (针对上述第二条)最大化 I ( S ; Z ) I(S;Z) I(S;Z)的同时,确保不是用动作来区分skills,(已知 S S S的条件下)最小化 A A A和skills之间的互信息: I ( A ; Z ∣ S ) I(A;Z|S) I(A;Z∣S);
- (针对上述第三条)通过最大熵策略强迫skills保持多样性,同时将所有skills π ( a ∣ s , z ) \pi(a|s,z) π(a∣s,z)关于先验 p ( z ) p(z) p(z)的期望看做一个混合策略 π ( a ∣ s ) = E z ∼ p ( z ) [ π ( a ∣ s , z ) ] \pi(a|s)=\mathbb{E}_{z\sim p(z)}[\pi (a|s,z)] π(a∣s)=Ez∼p(z)[π(a∣s,z)],那么通过最大化混合策略的熵 H [ A ∣ S ] \mathcal{H}[A|S] H[A∣S]来保证skills的多样性。
所以最终的目标公式化:
F
(
θ
)
=
I
(
S
;
Z
)
+
H
[
A
∣
S
]
−
I
(
A
;
Z
∣
S
)
=
(
H
[
Z
]
−
H
[
Z
∣
S
]
)
+
H
[
A
∣
S
]
−
(
H
[
A
∣
S
]
−
H
[
A
∣
S
,
Z
]
)
=
H
[
Z
]
−
H
[
Z
∣
S
]
+
H
[
A
∣
S
,
Z
]
\begin{aligned} \mathcal{F}(\theta)&=I(S;Z)+\mathcal{H}[A|S]-I(A;Z|S)\\ &=(\mathcal{H}[Z]-\mathcal{H}[Z|S])+\mathcal{H}[A|S]-(\mathcal{H}[A|S]-\mathcal{H}[A|S,Z])\\ &=\mathcal{H}[Z]-\mathcal{H}[Z|S]+\mathcal{H}[A|S,Z] \end{aligned}
F(θ)=I(S;Z)+H[A∣S]−I(A;Z∣S)=(H[Z]−H[Z∣S])+H[A∣S]−(H[A∣S]−H[A∣S,Z])=H[Z]−H[Z∣S]+H[A∣S,Z]
其中
θ
\theta
θ是策略参数。上式第一项要求先验
p
(
Z
)
p(Z)
p(Z)的熵最大,取均匀分布保证熵最大;第二项要求条件熵
H
[
Z
∣
S
]
\mathcal{H}[Z|S]
H[Z∣S]尽可能小,也就是说
Z
Z
Z和
S
S
S的相关性要大,已知
S
S
S的3条件下
Z
Z
Z的不确定性小,即给定状态容易推断skill;第三项则是保证skill策略的多样性,最大熵;由于里面涉及到
p
(
z
∣
s
)
p(z|s)
p(z∣s)不好计算,用一个推断网络
q
ϕ
(
z
∣
s
)
q_\phi(z|s)
qϕ(z∣s)估计这个后验。那么得到目标函数的一个下界:
F
(
θ
)
=
H
[
Z
]
−
H
[
Z
∣
S
]
+
H
[
A
∣
S
,
Z
]
=
H
[
A
∣
S
,
Z
]
+
E
z
∼
p
(
z
)
,
s
∼
π
(
z
)
[
log
p
(
z
∣
s
)
]
−
E
z
∼
p
(
z
)
[
log
p
(
z
)
]
≥
H
[
A
∣
S
,
Z
]
+
E
z
∼
p
(
z
)
,
s
∼
π
(
z
)
[
log
q
ϕ
(
z
∣
s
)
−
log
p
(
z
)
]
=
G
(
θ
,
ϕ
)
\begin{aligned} \mathcal{F}(\theta)&=\mathcal{H}[Z]-\mathcal{H}[Z|S]+\mathcal{H}[A|S,Z]\\ &=\mathcal{H}[A|S,Z]+\mathbb{E}_{z\sim p(z),s\sim\pi(z)}[\log p(z|s)]-\mathbb{E}_{z\sim p(z)}[\log p(z)]\\ &\geq \mathcal{H}[A|S,Z]+\mathbb{E}_{z\sim p(z),s\sim\pi(z)}[\log q_\phi(z|s)-\log p(z)]=\mathcal{G}(\theta,\phi)\\ \end{aligned}
F(θ)=H[Z]−H[Z∣S]+H[A∣S,Z]=H[A∣S,Z]+Ez∼p(z),s∼π(z)[logp(z∣s)]−Ez∼p(z)[logp(z)]≥H[A∣S,Z]+Ez∼p(z),s∼π(z)[logqϕ(z∣s)−logp(z)]=G(θ,ϕ)观察上式,第一项
H
[
A
∣
S
,
Z
]
\mathcal{H}[A|S,Z]
H[A∣S,Z]就是策略熵,后面一项就可以看做是强化学习的伪奖励信号:
r
z
(
s
,
a
)
=
log
q
ϕ
(
z
∣
s
)
−
log
p
(
z
)
r_z(s,a)=\log q_\phi(z|s)-\log p(z)
rz(s,a)=logqϕ(z∣s)−logp(z)这样加上熵系数
α
\alpha
α,目标函数
F
(
θ
)
\mathcal{F}(\theta)
F(θ)就是SAC算法的目标函数。所以原文就是使用SAC来学习skill。
UML
论文全名’Unsupervised Meta-Learning for Reinforcement Learning‘
一句话总结就是利用上面的DIAYN+MAML进行元学习,先用DIAYN学习判别器 q ϕ q_\phi qϕ,然后利用多个不同的采样 z z z训练MAML的元策略。
(Off-Policy) DADS
第一篇论文全名’Dynamic-Aware Unsupervised Discovery of Skills‘.简称DADS,在此基础上作者提出一种off-policy版本的DADS,提高了学习效率。
Key Idea:
从DIAYN算法目标函数看,其实最后核心就是最大化一个互信息
I
(
S
;
Z
)
I(S;Z)
I(S;Z),和一个条件策略最大熵
H
(
A
∣
S
,
Z
)
\mathcal{H}(A|S,Z)
H(A∣S,Z)。而条件策略最大熵可以放在SAC这种算法框架下解决。DADS关注的是第一部分互信息与状态转移矩阵model的联系。即:
I
(
S
′
;
Z
∣
S
)
I(S';Z|S)
I(S′;Z∣S)与DIAYN中学习一个特定行为策略探索不同部分的状态空间不同,DADS是针对不同行为学习不同环境model,从而使每个特定行为只在一个小范围的状态空间执行动作。除了DIAYN中的skill策略
π
(
a
∣
s
,
z
)
\pi(a|s,z)
π(a∣s,z),这里还定义了一个’skill-dynamics‘:
q
(
s
′
∣
s
,
z
)
q(s'|s,z)
q(s′∣s,z),来预测给定真实模型
p
p
p和不同的skill情况下,从状态
s
s
s转移到
s
′
s'
s′的概率。
上述的互信息目标可以化简为:
I
(
s
′
;
z
∣
s
)
=
H
(
z
∣
s
)
−
H
(
z
∣
s
′
,
s
)
=
H
(
s
′
∣
s
)
−
H
(
s
′
∣
s
,
z
)
\begin{aligned} I(s';z|s)&=\mathcal{H}(z|s)-\mathcal{H}(z|s',s)\\ &=\mathcal{H}(s'|s)-\mathcal{H}(s'|s,z) \end{aligned}
I(s′;z∣s)=H(z∣s)−H(z∣s′,s)=H(s′∣s)−H(s′∣s,z)这里面上面的变形理解为给定一个transition从
s
→
s
′
s\rightarrow s'
s→s′,我们能知道多少关于
z
z
z的信息。下面的变形理解为最大化真实环境transition的多样性(
H
(
s
′
∣
s
)
\mathcal{H}(s'|s)
H(s′∣s)),同时最大化
z
z
z和
s
′
s'
s′的共享信息量(
−
H
(
s
′
∣
z
,
s
)
-\mathcal{H}(s'|z,s)
−H(s′∣z,s))。所以优化这个目标就可以看做是在给定skill隐变量
z
z
z的情况下,使得transition可预测;同时编码一个多样性的skill变量
z
z
z(也即是transition多样性)。这里选择下面的化简,因为可以和skill-dynamic联系上,方便后面的model-based control。那么就可以进一步的化简得到目标互信息的变分下界:
I
(
s
′
;
z
∣
s
)
=
E
z
,
s
,
s
′
∼
p
[
log
p
(
s
′
∣
s
,
z
)
p
(
s
′
,
s
)
]
≥
E
z
,
s
,
s
′
∼
p
[
log
q
ϕ
(
s
′
∣
s
,
z
)
p
(
s
′
,
s
)
]
\begin{aligned} I(s';z|s)&=\mathbb{E}_{z,s,s'\sim p}\left[\log\frac{p(s'|s,z)}{p(s',s)}\right]\\ &\geq\mathbb{E}_{z,s,s'\sim p}\left[\log\frac{q_\phi(s'|s,z)}{p(s',s)}\right]\\ \end{aligned}
I(s′;z∣s)=Ez,s,s′∼p[logp(s′,s)p(s′∣s,z)]≥Ez,s,s′∼p[logp(s′,s)qϕ(s′∣s,z)]这里的联合分布
p
(
z
,
s
,
s
′
)
=
p
(
z
)
p
(
s
∣
z
)
p
(
s
′
∣
s
,
z
)
p(z,s,s')=p(z)p(s|z)p(s'|s,z)
p(z,s,s′)=p(z)p(s∣z)p(s′∣s,z),其中的
p
(
s
∣
z
)
p(s|z)
p(s∣z)是skill策略
π
(
a
∣
s
,
z
)
\pi(a|s,z)
π(a∣s,z)下的稳态分布,而
p
(
s
′
∣
s
,
z
)
=
∫
p
(
s
′
∣
s
,
a
)
π
(
a
∣
s
,
z
)
d
a
p(s'|s,z)=\int p(s'|s,a)\pi(a|s,z)da
p(s′∣s,z)=∫p(s′∣s,a)π(a∣s,z)da,这个积分很难求,所以用一个变分函数
q
ϕ
q_\phi
qϕ来估计。
到这里就和DIAYN的优化类似了(DIAYN中的
s
s
s换成
s
′
∣
s
s'|s
s′∣s),优化
ϕ
\phi
ϕ即最大化似然函数
E
p
(
z
,
s
,
s
′
)
[
log
q
ϕ
(
s
′
∣
s
,
z
)
]
\mathbb{E}_{p(z,s,s')}[\log q_\phi(s'|s,z)]
Ep(z,s,s′)[logqϕ(s′∣s,z)];优化条件策略则构建一个伪奖励信号:
r
z
(
s
,
a
,
s
′
)
=
log
q
ϕ
(
s
′
∣
s
,
z
)
−
log
p
(
s
′
∣
s
)
r_z(s,a,s')=\log q_\phi(s'|s,z)-\log p(s'|s)
rz(s,a,s′)=logqϕ(s′∣s,z)−logp(s′∣s)这里多了个不好计算的
log
p
(
s
′
∣
s
)
\log p(s'|s)
logp(s′∣s),所以对其进行估计:
p
(
s
′
∣
s
)
=
∫
p
(
s
′
∣
s
,
z
)
p
(
z
∣
s
)
d
z
≈
∫
q
ϕ
(
s
′
∣
s
,
z
)
p
(
z
)
d
z
≈
1
L
∑
i
=
1
L
q
ϕ
(
s
′
∣
s
,
z
i
)
p(s'|s)=\int p(s'|s,z)p(z|s)dz\approx\int q_\phi(s'|s,z)p(z)dz\approx\frac{1}{L}\sum^L_{i=1}q_\phi(s'|s,z_i)
p(s′∣s)=∫p(s′∣s,z)p(z∣s)dz≈∫qϕ(s′∣s,z)p(z)dz≈L1∑i=1Lqϕ(s′∣s,zi),带入上式,有:
r
z
(
s
,
a
,
s
′
)
=
log
q
ϕ
(
s
′
∣
s
,
z
)
∑
i
=
1
L
q
ϕ
(
s
′
∣
s
,
z
i
)
+
log
L
r_z(s,a,s')=\log\frac{q_\phi(s'|s,z)}{\sum^L_{i=1}q_\phi(s'|s,z_i)}+\log L
rz(s,a,s′)=log∑i=1Lqϕ(s′∣s,zi)qϕ(s′∣s,z)+logL到这里后面的东西就和DIYAN差不多了,训练的时候仍然使用最大熵策略。
off-policy版本
在此基础上作者在另一篇论文’Emergent Real-world Robotic Skills via Unsupervised Off-policy RL‘提出一种off-policy改进方法,大大提高训练效率和效果。其核心就是在训练skill-dynamic模型参数
ϕ
\phi
ϕ的时候引入off-policy数据,回顾优化的最大似然目标:
J
(
q
ϕ
)
=
E
z
,
s
,
s
′
∼
p
[
log
q
ϕ
(
s
′
∣
s
,
z
)
]
=
∫
p
(
z
)
p
(
s
∣
z
)
p
(
s
′
∣
s
,
z
)
log
q
ϕ
(
s
′
∣
s
,
z
)
d
z
d
s
d
s
′
=
∫
p
(
z
)
p
(
s
∣
z
)
π
(
a
∣
s
,
z
)
p
(
s
′
∣
s
,
a
)
log
q
ϕ
(
s
′
∣
s
,
z
)
d
z
d
s
d
s
′
\begin{aligned} J(q_\phi) &= \mathbb{E}_{z,s,s'\sim p}[\log q_\phi(s'|s,z)]\\ &=\int p(z)p(s|z)p(s'|s,z)\log q_\phi(s'|s,z)dzdsds'\\ &=\int p(z)p(s|z)\pi(a|s,z)p(s'|s,a)\log q_\phi(s'|s,z)dzdsds'\\ \end{aligned}
J(qϕ)=Ez,s,s′∼p[logqϕ(s′∣s,z)]=∫p(z)p(s∣z)p(s′∣s,z)logqϕ(s′∣s,z)dzdsds′=∫p(z)p(s∣z)π(a∣s,z)p(s′∣s,a)logqϕ(s′∣s,z)dzdsds′现在我们假设使用behavior policy的off-policy数据来训练这个目标函数,那么对应的联合分布可表示为
p
π
c
(
z
,
s
,
s
′
)
=
∫
p
(
z
)
p
c
(
s
∣
z
)
π
c
(
a
∣
s
,
z
)
p
(
s
′
∣
s
,
a
)
d
a
p^{\pi_c}(z,s,s')=\int p(z)p_c(s|z)\pi_c(a|s,z)p(s'|s,a)da
pπc(z,s,s′)=∫p(z)pc(s∣z)πc(a∣s,z)p(s′∣s,a)da那么上式改写为:
J
(
q
ϕ
)
=
∫
p
(
z
)
p
c
(
s
∣
z
)
π
c
(
a
∣
s
,
z
)
p
(
s
′
∣
s
,
a
)
p
(
s
∣
z
)
π
(
a
∣
s
,
z
)
p
c
(
s
∣
z
)
π
c
(
a
∣
s
,
z
)
log
q
ϕ
(
s
′
∣
s
,
z
)
d
z
d
s
d
a
d
s
′
=
E
z
,
s
,
a
,
s
′
∼
p
π
c
[
p
(
s
∣
z
)
π
(
a
∣
s
,
z
)
p
c
(
s
∣
z
)
π
c
(
a
∣
s
,
z
)
log
q
ϕ
(
s
′
∣
s
,
z
)
]
\begin{aligned} J(q_\phi) &=\int p(z)p_c(s|z)\pi_c(a|s,z)p(s'|s,a)\frac{p(s|z)\pi(a|s,z)}{p_c(s|z)\pi_c(a|s,z)}\log q_\phi(s'|s,z)dzdsdads'\\ &=\mathbb{E}_{z,s,a,s'\sim p^{\pi_c}}\left[\frac{p(s|z)\pi(a|s,z)}{p_c(s|z)\pi_c(a|s,z)}\log q_\phi(s'|s,z)\right] \end{aligned}
J(qϕ)=∫p(z)pc(s∣z)πc(a∣s,z)p(s′∣s,a)pc(s∣z)πc(a∣s,z)p(s∣z)π(a∣s,z)logqϕ(s′∣s,z)dzdsdads′=Ez,s,a,s′∼pπc[pc(s∣z)πc(a∣s,z)p(s∣z)π(a∣s,z)logqϕ(s′∣s,z)]利用重要性采样的方法使用off-policy数据,那么导数为:
∇
ϕ
J
(
q
ϕ
)
=
E
[
p
(
s
∣
z
)
π
(
a
∣
s
,
z
)
p
c
(
s
∣
z
)
π
c
(
a
∣
s
,
z
)
∇
ϕ
log
q
ϕ
(
s
′
∣
s
,
z
)
]
≃
1
B
q
∑
i
=
1
B
q
[
π
(
a
i
∣
s
i
,
z
i
)
π
c
(
a
i
∣
s
i
,
z
i
)
∇
ϕ
log
q
ϕ
(
s
′
∣
s
,
z
)
]
≃
1
B
q
∑
i
=
1
B
q
[
w
i
∇
ϕ
log
q
ϕ
(
s
′
∣
s
,
z
)
]
\begin{aligned} \nabla_\phi J(q_\phi) &=\mathbb{E}\left[\frac{p(s|z)\pi(a|s,z)}{p_c(s|z)\pi_c(a|s,z)}\nabla_\phi \log q_\phi(s'|s,z)\right]\\ &\simeq\frac{1}{B_q}\sum^{B_q}_{i=1}\left[\frac{\pi(a_i|s_i,z_i)}{\pi_c(a_i|s_i,z_i)}\nabla_\phi \log q_\phi(s'|s,z)\right]\\ &\simeq\frac{1}{B_q}\sum^{B_q}_{i=1}\left[w_i\nabla_\phi \log q_\phi(s'|s,z)\right]\\ \end{aligned}
∇ϕJ(qϕ)=E[pc(s∣z)πc(a∣s,z)p(s∣z)π(a∣s,z)∇ϕlogqϕ(s′∣s,z)]≃Bq1i=1∑Bq[πc(ai∣si,zi)π(ai∣si,zi)∇ϕlogqϕ(s′∣s,z)]≃Bq1i=1∑Bq[wi∇ϕlogqϕ(s′∣s,z)]这里忽略难解的
p
(
s
∣
z
)
p
c
(
s
∣
z
)
\frac{p(s|z)}{p_c(s|z)}
pc(s∣z)p(s∣z),并且利用clipping系数
w
i
=
c
l
i
p
(
π
(
a
i
∣
s
i
,
z
i
)
π
c
(
a
i
∣
s
i
,
z
i
)
,
1
α
,
α
)
w_i=clip(\frac{\pi(a_i|s_i,z_i)}{\pi_c(a_i|s_i,z_i)},\frac{1}{\alpha},\alpha)
wi=clip(πc(ai∣si,zi)π(ai∣si,zi),α1,α).
Planning using skill-dynamic
分层决策,上层用planning方法(CEM)规划出下一步的skill-dynamic,然后根据skill-dynamic对应的condition策略进行下层的动作选择。
DDL
论文全称’Dynamic Distance Learning for Semi-Supervised and Unsupervised skill discovery‘
仍然是无监督(直接的奖励信号)的强化学习,但实际上和DIAYN和DADS一样,仍然要学习一个奖励函数提供强化学习算法需要的奖励或反馈(强化)信号。
Key Idea:
只针对goal-reaching任务,学习一个dynamic distance function去生成有效的reward shaping代替人为设计的奖励函数。所以整个的算法可以分为两大部分,即Distance evaluation和Policy Improvement。
distance evaluation
实际上dynamic distance function
d
ψ
π
(
s
,
s
′
)
d^\pi_\psi(s,s')
dψπ(s,s′)是用来量化两个状态之间transition的步数(距离)的函数,那么这个函数模型的训练用一种自监督回归的方法来拟合数据。
首先定义一个和策略有关的dynamical distance
d
π
(
s
i
,
s
j
)
d^\pi(s_i, s_j)
dπ(si,sj),它代表在策略
π
\pi
π下从状态
s
i
s_i
si转移到
s
j
s_j
sj的平均步数。在一个轨迹内两种状态之间的距离就定义为:
d
π
(
s
,
s
′
)
=
E
π
∼
π
∣
s
i
=
s
,
s
j
=
s
′
,
j
≥
i
[
∑
t
=
1
j
−
1
γ
t
−
i
c
(
s
t
,
s
t
+
1
)
]
d^\pi(s,s')=\mathbb{E}_{\pi\sim\pi|s_i=s,s_j=s',j\geq i}[\sum^{j-1}_{t=1}\gamma^{t-i}c(s_t, s_{t+1})]
dπ(s,s′)=Eπ∼π∣si=s,sj=s′,j≥i[t=1∑j−1γt−ic(st,st+1)]这里其实也算是人为的设计状态之间距离定义,但不是直接设计距离函数。
c
(
s
t
,
s
t
+
1
)
c(s_t,s_{t+1})
c(st,st+1)定义为二值奖励函数,如果满足条件
s
t
=
s
,
s
t
+
1
=
s
′
s_t=s,s_{t+1}=s'
st=s,st+1=s′则距离为0,否则为1。通常在有限长度的轨迹中,选择
γ
=
1
\gamma=1
γ=1,那么上面的距离就是
j
−
i
j-i
j−i。
这里需要注意的几个点:这里定义的并不是真实的距离空间中距离,因为不满足三角不等式;同时直接是
j
−
i
j-i
j−i难道不考虑这之间还要连续的
<
s
,
s
′
>
<s,s'>
<s,s′>对吗?个人觉得可能是针对连续状态空间的话,这种情况基本不存在,所以就简化了。
有了这个距离定义的话就可以对每个轨迹中的状态对进行’标注‘,然后进行监督回归学习,目标函数:
L
d
(
ψ
)
=
1
2
=
E
π
∼
ρ
π
,
i
∼
[
0
,
T
]
,
j
∼
[
i
,
T
]
[
(
d
ψ
π
(
s
i
,
s
j
)
−
(
j
−
i
)
)
2
]
\mathcal{L}_d(\psi)=\frac{1}{2}=\mathbb{E}_{\pi\sim\rho_\pi,i\sim[0,T],j\sim[i,T]}\left[(d^\pi_{\psi}(s_i,s_j)-(j-i))^2\right]
Ld(ψ)=21=Eπ∼ρπ,i∼[0,T],j∼[i,T][(dψπ(si,sj)−(j−i))2]由于距离函数是一个和策略有关的量,所以这种方法的一个劣势就是只能用on-policy数据进行训练距离函数,但是他只是用来生成奖励信号的,所以策略的学习仍然可以用off-policy的方法,所以并不会减慢学习。
policy improvement
定义参数化策略
π
ϕ
\pi_\phi
πϕ,以到达
g
g
g为目标,用上一步学到的距离函数作为奖励函数来优化策略。原则上可以利用贪婪法,一步一步的通过选择最小化距离函数的动作来逼急目标。但是这未免太信赖学习到的距离函数了。所以将距离看做负奖励,应用强化学习方法最小化到达目标路径的累计距离:
L
π
(
ϕ
)
=
E
τ
∼
ρ
π
[
∑
t
=
0
∞
γ
t
d
ψ
π
(
s
t
,
g
)
]
\mathcal{L}_\pi(\phi)=\mathbb{E}_{\tau\sim\rho_\pi}\left[\sum^\infty_{t=0}\gamma^t d^\pi_\psi(s_t, g)\right]
Lπ(ϕ)=Eτ∼ρπ[t=0∑∞γtdψπ(st,g)]文中作者提到使用的是确定型环境,并且使用累积距离的方法比单步贪婪法更好的效果。