Soft Actor-Critic 论文笔记

无模型深度强化学习算法(Model-free DRL)有两个主要缺点:

1.非常高的样本复杂性(需要与环境进行大量交互产生大量样本)
2.脆弱的收敛性(它的收敛性受超参数影响严重:学习率,探索常量等等)

这两个缺点限制了其应用于复杂的真实世界任务。

有些同策略算法(On-policy)样本效率低。比如TRPO,A3C,PPO等是同策略,他们每一步梯度计算都需要新的样本收集。而异策略算法(Off-policy),可以重复使用过去的经验。重复使用过去经验(经验回放Experiences Replay )并不能直接使用于传统策略梯度框架,但其在基于Q学习的方法上有直接使用。此外异策略学习,高维空间,与神经网络的结合会带来稳定性和收敛性的挑战。这两个挑战对于连续状态动作任务(连续任务中Q-Learning的最大化动作通过actor直接选择)更加明显,DDPG就是一个代表。但是DDPG虽然实现在Off-policy leraning中重复利用样本,但是其对超参敏感,并且收敛性脆弱。
为了设计稳定高效的无模型DRL,本文,提出来一种异策略(Off-policy)深度AC算法,Soft Actor-Critic(SAC),SAC基于最大熵强化学习框架。在这个框架中,演员的目标是最大化期望的奖励,同时也最大化熵。**这样做的目的是在完成任务同时行动尽量随机化。**注意是虽然实验环境是连续任务,不同于DDPG将异策略AC与确定性actor(确定性策略)结合,SAC是将异策略AC方法和随机Actor(随机策略)

最大化熵的设置的优点:改变强化学习的目标,可以实际性提升探索性和鲁棒性

实验上,SAC在连续任务上实现了state-of-the-art,而且相比于其他异策略算法更加稳定,在不同随机种子种表现相似。

SAC

首先当然是强化学习中的MDP,通过元组 ( S , A , p , r ) (S,A,p,r) (S,A,p,r)定义, A , S A,S A,S分别是状态和动作空间, p p p是转移概率: S × S × A → [ 0 , ∞ ) S\times S\times A \rightarrow [0, \infty) S×S×A[0,). 环境给出的奖赏是有界的 r : S × A → [ r m i n , r m a x ] r:S\times A\rightarrow[r_{min},r_{max}] r:S×A[rmin,rmax]. 策略 π ( a t ∣ s t ) \pi(a_t|s_t) π(atst)引起的轨迹分布的状态和状态 - 动作边缘分布分别表示 ρ π ( s t ) \rho_\pi(s_t) ρπ(st) ρ π ( s t ∣ a t ) \rho_\pi(s_t|a_t) ρπ(stat).

通常强化学习方法的目标是最大化累积奖赏: ∑ t E ( s t , a t ) ∼ ρ π [ r ( s t , a t ) ] \sum_t \mathbb{E}_{(s_t,a_t)\sim \rho_\pi}[r(s_t,a_t)] tE(st,at)ρπ[r(st,at)]而SAC的目标是带熵的累积奖赏: J ( π ) = ∑ t = 0 T E ( s t , a t ) ∼ ρ π [ r ( s t , a t ) + α H ( π ( ⋅ ∣ s t ) ) ] ( 1 ) J(\pi)=\sum_{t=0}^T\mathbb{E}_{(s_t,a_t)\sim\rho_\pi}[r(s_t,a_t)+\alpha H(\pi(\cdot|s_t))] \quad(1) J(π)=t=0TE(st,at)ρπ[r(st,at)+αH(π(st))](1)
其中参数 α \alpha α控制最优策略的随机程度,以及上策略熵相对于奖赏的重要程度。对于无限的情况我们可以加上折扣因子.

软策略迭代(Soft policy Iteration)

Soft policy evaluation:

策略评估阶段,根据最大熵目标(1)式计算策略对应的值函数。对于一个固定的策略其软Q值(Soft Q-value)通过改正的贝尔曼操作 τ π \tau^\pi τπ
τ π Q ( s t , a t ) = r ( s t , a t ) + γ E s t + 1 ∼ p [ V ( s t + 1 ) ] ( 2 ) \tau ^\pi Q(s_t,a_t)=r(s_t,a_t)+\gamma\mathbb{E}_{s_{t+1}\sim p}[V(s_{t+1})]\quad (2) τπQ(st,at)=r(st,at)+γEst+1p[V(st+1)](2)其中
V ( s t ) = E a t ∼ π [ Q ( s t , a t ) − l o g π ( a t ∣ s t ) ] ( 3 ) V(s_t)=\mathbb{E}_{a_t\sim \pi}[Q(s_t,a_t)-log\pi(a_t|s_t)]\quad (3) V(st)=Eatπ[Q(st,at)logπ(atst)](3)是软状态值函数(Soft state value function).那么软策略评估可以通过 Q k + 1 = τ π Q k Q^{k+1}=\tau^\pi Q^k Qk+1=τπQk迭代,若通过无限次迭代,这样最终Q会收敛到策略 π \pi π的软 Q Q Q值函数.
定义带熵的奖赏: r π ( s t , a t ) = r ( s t , a t ) + E s t + 1 ∼ p [ H ( π ( ⋅ ∣ s t + 1 ) ) ] r_\pi(s_t,a_t)=r(s_t,a_t)+\mathbb{E}_{s_{t+1}\sim p}[H(\pi(\cdot|s_{t+1}))] rπ(st,at)=r(st,at)+Est+1p[H(π(st+1))]则更新规则为: Q ( s t , a t ) ← r π ( s t , a t ) + γ E s t + 1 ∼ p , a t + 1 ∼ π [ Q ( s t + 1 , a t + 1 ) ] Q(s_t,a_t)\leftarrow r_\pi(s_t,a_t)+\gamma\mathbb{E}_{s_{t+1}\sim p,a_{t+1}\sim \pi}[Q(s_{t+1},a_{t+1})] Q(st,at)rπ(st,at)+γEst+1p,at+1π[Q(st+1,at+1)]

(解释:
Q k + 1 ( s , a ) = r ( s , a ) + γ E s ′ ∼ p [ V ( s ′ ) ] Q^{k+1}(s,a)=r(s,a)+\gamma\mathbb{E}_{{s}'\sim p}[V({s}')]\quad Qk+1(s,a)=r(s,a)+γEsp[V(s)]其中 V ( s ′ ) = E a ′ ∼ π [ Q k ( s ′ , a ′ ) − α l o g ( π ( a ′ ∣ s ′ ) ) ] V({s}')=E_{{a}'\sim \pi}[Q^k({s}',{a}')-\alpha log(\pi({a}'|{s}'))]\quad V(s)=Eaπ[Qk(s,a)αlog(π(as))](式子中没有出现alpha但是代码中是用了),两个式子合并得到
Q k + 1 ( s , a ) = r ( s , a ) + γ E s ′ ∼ p E a ′ ∼ π [ Q k ( s ′ , a ′ ) − l o g ( π ( a ′ ∣ s ′ ) ) ] = r ( s , a ) + γ E s ′ ∼ p E a ′ ∼ π [ Q k ( s ′ , a ′ ) ] + γ E s ′ ∼ p E a ′ ∼ π [ − l o g ( π ( a ′ ∣ s ′ ) ) ] Q^{k+1}(s,a)=r(s,a)+\gamma \mathbb{E}_{{s}'\sim p}\mathbb{ E}_{{a}'\sim \pi}[Q^k({s}',{a}')-log(\pi({a}'|{s}'))]=r(s,a)+\gamma\mathbb{E}_{{s}'\sim p}\mathbb{ E}_{{a}'\sim \pi}[Q^k({s}',{a}')]+\gamma \mathbb{E}_{{s}'\sim p} \mathbb{E}_{{a}'\sim \pi}[-log(\pi({a}'|{s}'))] Qk+1(s,a)=r(s,a)+γEspEaπ[Qk(s,a)log(π(as))]=r(s,a)+γEspEaπ[Qk(s,a)]+γEspEaπ[log(π(as))] = r ( s , a ) + γ E s ′ ∼ p E a ′ ∼ π [ Q k ( s ′ , a ′ ) ] + E s ′ ∼ p [ H ( π ( ⋅ ∣ s ′ ) ) ] = r(s,a)+\gamma \mathbb{E}_{{s}'\sim p}\mathbb{ E}_{{a}'\sim \pi}[Q^k({s}',{a}')]+\mathbb{E}_{{s}'\sim p}[H(\pi(\cdot|{s}'))] =r(s,a)+γEspEaπ[Qk(s,a)]+Esp[H(π(s))] = r π ( s , a ) + γ E s ′ ∼ p E a ′ ∼ π [ Q k ( s ′ , a ′ ) ] =r_\pi(s,a)+\gamma \mathbb{E}_{{s}'\sim p}\mathbb{ E}_{{a}'\sim \pi}[Q^k({s}',{a}')] =rπ(s,a)+γEspEaπ[Qk(s,a)]也就是实际上(2)(3)式的定义等价于更新规则

Soft Policy Improvement:

策略更新: π n e w = a r g m i n D K L ( π ( ⋅ ∣ s t ) ∣ ∣ e x p ( Q π o l d ( s t , ⋅ ) ) Z π o l d ( s t ) ) ( 4 ) \pi_{new}=arg min D_{KL}(\pi(\cdot|s_t)||\frac{exp(Q^{\pi_{old}}(s_t,\cdot))}{Z^{\pi_{old}}(s_t)})\quad (4) πnew=argminDKL(π(st)Zπold(st)exp(Qπold(st,)))(4)这里是把 Q Q Q值函数转换为概率分布来表示策略,然后求策略和Q值策略的KL散度最小时的策略. 其中 π o l d ∈ ∏ \pi_{old}\in\prod πold π n e w \pi_{new} πnew是最优化上式的策略也同样在策略空间 ∏ \prod 中,满足 Q π n e w ( s t , a t ) ≥ Q π o l d ( s t , a t ) Q^{\pi_{new}}(s_t,a_t)\geq Q^{\pi_{old}}(s_t,a_t) Qπnew(st,at)Qπold(st,at) for all ( s t , a t ) ∈ S × A (s_t,a_t)\in S\times A (st,at)S×A. 这样保证每次更新策略至少优于旧策略.

Final

软策略迭代过程(Soft policy Iteration):就是策略评估和策略改进两个过程不断迭代,最终策略会收敛到 π ∗ \pi^* π,满足 Q ∗ ( s t , a t ) ≥ Q π ( s t , a t ) Q^*(s_t,a_t)\geq Q^\pi(s_t,a_t) Q(st,at)Qπ(st,at) for all π ∈ ∏ a n d ( s t , a t ) ∈ S × A \pi\in\prod and (s_t,a_t)\in S\times A πand(st,at)S×A. 证明过程类似Sutton, Intriduction RL Chapter 4.

Soft Actor-Critic

上面的软策略迭代过程是基于tabular(表格式环境)来推导的,对于连续情况,就需要引入函数逼近。首先定义软状态值函数 V ψ ( s t ) V_\psi(s_t) Vψ(st),软 Q Q Q值函数 Q θ ( s t , a t ) Q_\theta(s_t,a_t) Qθ(st,at),策略函数 π ϕ ( a t ∣ s t ) \pi_{\phi}(a_t|s_t) πϕ(atst)(注意是个随机策略)。对应的参数分别是 ψ , θ , ϕ \psi,\theta,\phi ψ,θ,ϕ.

软状态值函数的目标函数是:
在这里插入图片描述
梯度:
在这里插入图片描述
Q Q Q值函数的目标函数是:
在这里插入图片描述
梯度:
在这里插入图片描述
注意这里的target网络只使用了一个 V ψ ˉ V_{\bar{\psi}} Vψˉ.
策略更新的目标函数:
在这里插入图片描述
这里策略表示为带噪声的神经网络:
在这里插入图片描述
其中 ε \varepsilon ε是输入的噪声向量。那么策略的目标函数可以重新写成(这个式子是原目标函数省略了 Z θ ( s t ) Z_\theta(s_t) Zθ(st),因为它是与 ϕ \phi ϕ无关的量,求导为0,对梯度无影响所以省略了。KL散度计算):
在这里插入图片描述
对上式求导(把期望去掉,因为期望通过多次批量抽样实现)得梯度:

算法:
在这里插入图片描述

  • 18
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ppo(proximal policy optimization)是一种用于强化学习的策略优化算法,其基本思想是在策略更新函数的优化过程中,使用了一些新的技巧来提高学习效率和稳定性。 actor-critic是一种深度强化学习算法,其中actorcritic分别负责学习决策策略和估计价值函数。actor-critic算法通过训练actorcritic模型来实现策略优化。 pp actor-critic算法结合了ppo和actor-critic的两种算法,是一种新的策略优化算法。它通过使用ppo算法对策略进行优化,并使用actor-critic算法来学习和估计策略价值。在这种模型中,actor负责生成动作,critic负责评估策略价值,pp算法保证了策略更新的稳定性和效率。 pp actor-critic算法具有许多优点,例如可以有效地解决强化学习中出现的稀疏奖励和高维空间问题,能够在没有先验知识的情况下自动学习和适应。不过,它的训练过程比较复杂,需要选择合适的超参数,并且需要较长的训练时间来获得最佳效果。 尽管存在一些挑战,但pp actor-critic算法仍被广泛应用于各种强化学习任务,例如游戏、机器人控制等。它的发展也为解决实际应用中的问题提供了新的思路和方法。 ### 回答2: PPO Actor-Critic是深度强化学习领域中的一个算法。它是基于Actor-Critic方法的一种改进。Actor-Critic算法将决策策略和价值函数相结合,以达到更准确的评估和更新。而PPO算法则是为了解决常规Policy Gradient算法的训练不稳定性而提出的一种策略优化算法。 PPO Actor-Critic算法的核心思想是通过对策略的更新,不断改善训练的效果。该算法是由Proximal Policy Optimization(PPO)算法和Actor-Critic算法结合而成。在训练过程中,PPO Actor-Critic会利用现有的经验,通过Actor-Critic算法更新策略和价值函数。其更新策略的过程中,会采用PPO算法进行优化,从而能够根据实际情况平衡策略更新和训练效果。 PPO Actor-Critic算法的优点是能够同时利用线性和非线性的函数逼近器来最小化优势函数的误差。从而避免了传统策略梯度算法的过拟合问题,大大增强了该算法的鲁棒性。此外,PPO Actor-Critic也能够避免过多的数据采样和重复推断,大大提升了算法的效率。 综上所述,PPO Actor-Critic是一种结合了PPO算法和Actor-Critic算法的强化学习算法,可用于训练智能代理以达到更精确的评估和更新。 ### 回答3: PPO Actor-Critic 是指一种深度强化学习算法。在这种算法中,通过两个模型一起工作来提高决策过程的效率。 其中,Actor 模型用于执行动作。它使用一系列状态来计算每个可能的策略,并选择相应的行动方案。这个过程被看作是一个正则化的过程。这意味着在执行过程中,Actor 模型不断从环境中获取反馈信息,并根据这些反馈信息进行优化。 相反,Critic 模型则用于评估 Actor 模型的表现。它通过测量实际的奖励和预测的奖励之间的差距来判断 Actor 模型是否做决策。如果结果不好,则系统会通过重新计算 Actor 模型的策略来提出新的决策方案。 PPO Actor-Critic 算法通过优化 Actor 模型的过程来提高决策的效率。这通常会导致更好的策略和更好的结果。此外,由于 Critic 模型的存在,系统可以更好地理解和评估策略的表现。这使得 PPO Actor-Critic 算法成为适用于机器人控制、游戏策略和金融交易等领域的一种流行算法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值