Model-free : Keep Various Trajectories: Promoting Exploration of Ensemble Policies

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

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,azk)。策略的差异定义为分布间的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,azk)∣∣ρ(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,az)∣∣ρ(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ρ(zs,a)]=logN+Es,a[DKL(ρ(zs,a)∣∣qζ(zs,a))]+Es,a,z[logqζ(zs,a))]logN+Es,a,z[logqζ(zs,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(ρ(zs,a)∣∣qζ(zs,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(ρ(zs,a)∣∣qζ(zs,a))]=Es,a[ζlogqζ(zs,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ζ(zs,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ζ(zks,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ζ(zs,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=1NQi(s,πj(s))

伪代码

在这里插入图片描述

实验

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值