Soft Actor-Critic(论文笔记)

Soft Actor-Critic

SAC跟soft Q Learning一样在目标函数中引入熵,其目的是希望actor估计得动作在能够完成任务的基础上尽可能随机化。使得actor可以探索更多可能性,以达到近似最优(原文是near-optimal)的多种选择。假设有多个动作差不多一样好,policy应该设置每个动作有差不多一样的概率来选择他们。

本文的关键点:

  • Off-policy方式更新,可以使用以前采样数据。

  • 最大化熵可以提高稳定性及探索能力。

算法更新过程为policy iteration:评估policy->计算这个policy的value(使用 value function)->提升policy,使用value function来得到更好的policy(意思是说找到一个新的policy,使其value更大)

目标函数:

在原始的目标函数基础上增加了熵的部分,α控制熵的权重。

这个目标函数有几点好处:

  • 激励policy更广阔地探索(熵项),并且放弃无意义没前途的行为(reward项)

  • policy的行为是near-optimal的,意思是多个行为都可以达到optimal。如果多个行为同样好,应该设置多个行为一样的概率。

  • 可以提高学习速度。

本文是第一篇在actor-critic上使用最大化熵的RL算法。

对于一个固定的policy,其soft Q-value可以通过迭代来优化,基于soft Q的贝尔曼方程:

其中:

 迭代上面两个公式去跟新Q跟V,可以使Q跟V收敛到policy π的soft Q-value。

然后利用Q来更新policy π,期望新的π在某个state下的动作概率分布能够符合Q值的分布。通过KL散度来优化:

右边的Z是所有动作Q值的exp的和,右面的公式就是把动作的Q值概率化,类似softmax。最小化KL散度,期望新的π’的动作分布接近Q值的动作概率分布。这里的,是假设π被限制在某个集合中(假设这个集合里只有几个policy可以选,那就选一个可以使上面KL最小的)。

上面三个公式就是soft policy iteration的更新公式,迭代更新Q、V与policy直到收敛。接下来是将其改到actor-critic上。分别将Q、V与policy参数化成,下角标是network的参数。其中policy输出动作的高斯分布的均值与方差。其中V是可以由Q推导出来的(公式3),但实际情况单独训练个V能够让训练过程更稳定。

soft value function通过下面mse目标函数更新:

 梯度为:

 

at用当前policy产生。soft Q function优化下面公式:

 V是一个target network。policy可以由下面公式更新:

 因为policy是network可以反向求导,所以把上面公式改一下,针对action进行重参数化采样,改成利用采样的方式如下:

KL散度的公式为:

 写成期望的形式:

 公式(10)就是对action采样,用期望来求KL散度,其中属于某种分布,假设高斯分布,相当于从高斯分布采样来得到at,把随机参数都拿出来就得到公式(12)。

policy的梯度:

 总体SAC流程:

spinningup上的伪代码:

 与Soft Q Learning的区别

SAC与SQL是同一个作者写的,两个算法也有很多相似的地方,SAC可以看做是SQL的增强版本。抛开一些trick上的问题(例如SAC使用两个Q),仅从关键的公式上比较两个算法的不同点。

  • 两个算法的总目标函数是相同的,都是在reward上加上了带权重的熵项。

  • 两个算法都是先更新V再更新Q。更新V的部分是不一样的,SQL中通过下式直接计算V:

       这个公式的q(a)就是当前的actor,SQL利用actor采样M个a,然后用上式计算Vsoft(使用target Q),是采样后直接计算出来。上式将log乘进去展开后便与SAC公式(5)中Vφ的target相同,在SAC中,V是个参数化的network,是训练出来的,其target与SQL中计算的Vsoft相同。

  • 在有了V之后,Q的更新是相同的,Q函数的target使用target V函数计算,公式相同。
  • 更新policy时,SQL使用下面公式:

       将上面KL右边的exp写成如下:

       由SQL的公式(9)可以得到:

      与SAC的公式(10)相同。当然SQL的Vsoft是采样后计算出来的,并不与公式(9)完全相等,只是近似意义上差不多。而且实际上这一项在对policy的参数求导里都没有参与,所以并不影响。最后的求导公式是不同的,SQL里是:

其他Trick

  • 类似TD3,训练两个Q,在计算value functional的target是,使用q值最小的Q进行计算。
  • policy直接输出的mu跟重参数后的pi,经过tanh压缩输出范围。对应的logp通过下式计算:

 其中是tanh之前的mu、pi跟std计算的高斯概率(u的概率)。

自适应alpha

目标公式:

 其中entroy的target H可以是  -dim(A),可以看到梯度就是与目标target entroy的差值的平均值。alpha可以通过log函数限制为正值,也就是优化log(alpha),再取exp得到alpha。

### 回答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 算法成为适用于机器人控制、游戏策略和金融交易等领域的一种流行算法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值