NIPS 2023
paper
利用对集成策略的多样化处理实现智能体的高效探索
Intro
集成模型被广泛应用于RL算法用于提升策略的鲁棒性或者防止价值过估计,但是在探索方面的研究。本文在利用集成策略模型,通过提高对被访问状态动作的多样性,进而提升智能体探索能力。状态-动作访问分布度量量化了使用特定策略时访问特定状态-动作对的频率。多样化的分布度量代表多样化的轨迹数据,这样有利于策略与价值的学习。
Method
Discrepancy Measure
考虑集成策略
{
π
1
,
π
2
,
⋯
,
π
N
}
\{\pi_1, \pi_2,\cdots,\pi_N\}
{π1,π2,⋯,πN}的中每个策略的状态动作分布度量为
ρ
π
k
\rho^{\pi_k}
ρπk,并采用一个基于隐变量
z
z
z的条件概率衡量:
ρ
π
k
(
s
,
a
)
=
ρ
(
s
,
a
∣
z
k
)
\rho^{\pi_k}(s,a)=\rho(s,a|z_k)
ρπk(s,a)=ρ(s,a∣zk)。策略的差异定义为分布间的KL散度:
D
K
L
[
ρ
π
k
∥
ρ
]
:
=
D
K
L
[
ρ
(
s
,
a
∣
z
k
)
∣
∣
ρ
(
s
,
a
)
]
\mathcal{D}_{\mathcal{KL}}[\rho^{\pi_k}\|\rho]:=\mathcal{D}_{\mathcal{KL}}\left[\rho(s,a|z_k)||\rho(s,a)\right]
DKL[ρπk∥ρ]:=DKL[ρ(s,a∣zk)∣∣ρ(s,a)]。进一步转化为熵之间的关系
E
z
[
D
K
L
(
ρ
(
s
,
a
∣
z
)
∣
∣
ρ
(
s
,
a
)
)
]
=
H
(
ρ
)
−
H
(
ρ
∣
z
)
=
H
(
z
)
−
H
(
z
∣
ρ
)
\mathbb{E}_z\left[\mathcal{D}_{\mathcal{KL}}\left(\rho(s,a|z)||\rho(s,a)\right)\right]=\mathcal{H}(\rho)-\mathcal{H}(\rho|z) = \mathcal{H}(z)-\mathcal{H}(z|\rho)
Ez[DKL(ρ(s,a∣z)∣∣ρ(s,a))]=H(ρ)−H(ρ∣z)=H(z)−H(z∣ρ)
其中z随机采样得到,因此对于其熵可以近似为
H
(
z
)
=
−
1
N
Σ
k
=
1
N
log
p
(
z
k
)
≈
log
N
\mathcal{H}(z)=-\frac{1}{N}\Sigma_{k=1}^{N}\log p(z_{k})\approx\log N
H(z)=−N1Σk=1Nlogp(zk)≈logN
H
(
z
)
−
H
(
z
∣
ρ
)
=
log
N
+
E
s
,
a
,
z
[
log
ρ
(
z
∣
s
,
a
)
]
=
log
N
+
E
s
,
a
[
D
K
L
(
ρ
(
z
∣
s
,
a
)
∣
∣
q
ζ
(
z
∣
s
,
a
)
)
]
+
E
s
,
a
,
z
[
log
q
ζ
(
z
∣
s
,
a
)
)
]
≥
log
N
+
E
s
,
a
,
z
[
log
q
ζ
(
z
∣
s
,
a
)
)
]
\begin{aligned} \mathcal{H}(z)-\mathcal{H}(z|\rho)& =\log N+\mathbb{E}_{s,a,z}[\log\rho(z|s,a)] \\ &=\log N+\mathbb{E}_{s,a}\left[\mathcal{D}_{\mathcal{KL}}(\rho(z|s,a)||q_{\zeta}(z|s,a))\right]+\mathbb{E}_{s,a,z}[\log q_{\zeta}(z|s,a))] \\ &\geq\log N+\mathbb{E}_{s,a,z}[\log q_{\zeta}(z|s,a))] \end{aligned}
H(z)−H(z∣ρ)=logN+Es,a,z[logρ(z∣s,a)]=logN+Es,a[DKL(ρ(z∣s,a)∣∣qζ(z∣s,a))]+Es,a,z[logqζ(z∣s,a))]≥logN+Es,a,z[logqζ(z∣s,a))]
最小化下界,因此最小化
E
s
,
a
[
D
K
L
(
ρ
(
z
∣
s
,
a
)
∣
∣
q
ζ
(
z
∣
s
,
a
)
)
]
\mathbb{E}_{s,a}[\mathcal{D}_{\mathcal{KL}}(\rho(z|s,a)||q_{\zeta}(z|s,a))]
Es,a[DKL(ρ(z∣s,a)∣∣qζ(z∣s,a))],该项的梯度等于
∇
ζ
E
s
,
a
[
D
K
L
(
ρ
(
z
∣
s
,
a
)
∣
∣
q
ζ
(
z
∣
s
,
a
)
)
]
=
−
E
s
,
a
[
∇
ζ
log
q
ζ
(
z
∣
s
,
a
)
]
\nabla_{\zeta}\mathbb{E}_{s,a}[\mathcal{D}_{\mathcal{KL}}(\rho(z|s,a)||q_{\zeta}(z|s,a))]=-\mathbb{E}_{s,a}[\nabla_{\zeta}\log q_{\zeta}(z|s,a)]
∇ζEs,a[DKL(ρ(z∣s,a)∣∣qζ(z∣s,a))]=−Es,a[∇ζlogqζ(z∣s,a)]加入到强化学习的优化目标中得到
π
∗
=
arg
max
π
∈
Π
J
(
π
)
+
α
E
(
s
,
a
,
z
)
∼
ρ
[
log
q
ζ
(
z
∣
s
,
a
)
)
]
\pi^*=\arg\max_{\pi\in\Pi}J(\pi)+\alpha\mathbb{E}_{(s,a,z)\sim\rho}[\log q_\zeta(z|s,a))]
π∗=argπ∈ΠmaxJ(π)+αE(s,a,z)∼ρ[logqζ(z∣s,a))]
强化学习算法采用TD3,其中策略以及价值网络为N个,对于每一个策略都采用如下梯度更新
∇
J
t
o
t
a
l
(
ϕ
k
)
=
E
s
∼
ρ
[
∇
a
(
Q
π
(
s
,
a
)
+
α
log
q
ζ
(
z
k
∣
s
,
a
)
)
∣
a
=
π
ϕ
k
(
s
)
∇
ϕ
k
π
ϕ
k
(
s
)
]
\nabla J_{total}(\phi_{k})=\mathbb{E}_{s\sim\rho}[\nabla_{a}(Q^{\pi}(s,a)+\alpha\log q_{\zeta}(z_{k}|s,a))|_{a=\pi_{\phi_{k}}(s)}\nabla_{\phi_{k}}\pi_{\phi_{k}}(s)]
∇Jtotal(ϕk)=Es∼ρ[∇a(Qπ(s,a)+αlogqζ(zk∣s,a))∣a=πϕk(s)∇ϕkπϕk(s)]
为了防止每一个step都要对所有策略优化而导致探索退化,文章采用一种循环优化方法,即随机选择一个策略进行优化。
同时,考虑当概率 q ζ q_{\zeta} qζ较小时,该梯度非常大。具有小概率的状态动作来推断相应的子策略 z k z_k zk意味着状态-动作很少被子策略 z k z_k zk访问,但经常被其他子策略访问。约束的目标是增加子策略的差异,而使其他子策略访问这个状态-动作将会减少差异。此外,对于具有大概率 q ζ q_{\zeta} qζ的状态动作,继续增加这个概率将阻止当前子策略探索其他可能的状态动作。因此,使用值裁剪进行约束: π ∗ = arg max π ∈ Π J ( π ) + α E s , a , z [ log clip ( q ζ ( z ∣ s , a ) , ϵ , 1 − ϵ ) ) ] \pi^{*}=\arg\operatorname*{max}_{\pi\in\Pi}J(\pi)+\alpha\mathbb{E}_{s,a,z}[\log\operatorname{clip}(q_{\zeta}(z|s,a),\epsilon,1-\epsilon))] π∗=argmaxπ∈ΠJ(π)+αEs,a,z[logclip(qζ(z∣s,a),ϵ,1−ϵ))]
对于Q值优化,采用随机选择批量N的值构成大小M的集合,集合中每个子集取均值,并选择其中的最小作为target估计
Q
t
a
r
g
e
t
=
r
(
s
,
a
)
+
γ
min
i
=
1
,
2
,
.
.
.
,
M
1
N
∑
j
=
1
N
Q
i
(
s
,
π
j
(
s
)
)
Q^{target}=r(s,a)+\gamma\min_{i=1,2,...,M}\frac{1}{N}\sum_{j=1}^{N}Q_{i}(s,\pi_{j}(s))
Qtarget=r(s,a)+γi=1,2,...,MminN1j=1∑NQi(s,πj(s))
伪代码

实验


本文提出了一种新的RL算法,通过集成多个策略并增强对状态-动作的多样性处理,以提升智能体的探索效率。使用KL散度和条件概率测量策略间差异,结合值裁剪技术来平衡探索与利用。实验部分展示了这种方法的有效性。
3235

被折叠的 条评论
为什么被折叠?



