SAC:Soft Actor-Critic Algorithms and Applications
原文传递:SAC算法原文
![](https://i-blog.csdnimg.cn/blog_migrate/060b5650b35cf2d49a7aabc4a23ce7fa.png)
作者指出深度强化学习样本效率低下的原因是:策略学习,TRPO、PPO、A3C每次策略更新都需要收集样本。学习有效的策略需要的步骤和样本数量伴随着任务的复杂性呈现增加的趋势。Off-Policy为了重复使用过去产生的经验值,但是在传统的策略公式当中不能直接使用,Off-Policy的高维、非线性函数近似和神经网络的结合使得稳定性和收敛性存在挑战。
在传统的强化学习当中,最优策略和奖励函数的比例无关,在最大熵强化学习中,比例需要选择合适的温度进行补偿,所以作者设计的基于梯度的自动调整温度的方法,调整访问状态的预期熵匹配目标值。
SAC的组成
SAC主要包含三个部分:
1:actor-critic 架构:包含价值网络和单独的策略;
2:Off-policy formulation:重复使用以前的数据以提高效率;
3:熵的最大化: 稳定探索记忆稳定训练。
Actor-Critic算法一般从策略迭代开始,在策略评估和计算价值函数之间交替进行,从而获得更好的策略。Actor-critic王铎单一使用都不能达到收敛,所以一般使用联合网络进行学习,这种情况下,策略也被称为是Actor,价值函数也称作Critic,许多Actor_Critic算法都建立在标准的策略地图共识上,考虑策略的熵,单没有将熵最大化,而只是正则器。On-policy 训练倾向于提高稳定性,但是样本复杂度较差。
DDPG使用Q函数估计来实现非策略的学习,并且使用确定性动作最大化Q函数。所以常常被视为确定性的Actor-Critic算法,也可以视为近似的Q学习算法,但是DDPG很难扩展到高维任务。
作者将非策略的Actor-critic与随机的Actor相结合,以熵最大化目标为目的最大化Actor的熵。最大熵强化学习优化策略,使得策略的期望收益和期望的熵最大化。
最大熵强化学习
最大熵目标通过增加熵来概括标准目标,从而访问每个状态熵的最大化。
![](https://i-blog.csdnimg.cn/blog_migrate/71a0c148675118331cc8a2ca7123416b.png)
其中,α是温度参数,决定了熵项相对于奖励的相对重要性,从而控制了最优策略的随机性。与传统的强化学习的标准的最大预期汇报目标不同,传统目标在α趋向于0的极限当中恢复。将传统的最大熵RL扩展到无限范围的问题,引入折扣因子γ来确保预期奖励的总和是有限的。
最大熵的优势:
策略倾向于更加广泛的探索,并且放弃明显 没有前途的途径;
策略捕获多种接近最优的行为模式;
在多种具有同样吸引力的动作当中,策略对动作的概率估计是相同的。
Soft Actor-Critic
soft policy iteration 是学习最优最大熵策略的一般算法,在对打赏框架内交替进行策略评估和改进。在迭代评估的步骤当中,希望根据最大熵目标计算策略π的值。
对于固定的策略,soft Q-value计算迭代从状态S到动作A到奖励R的映射,反复的修正贝尔曼算子,
![](https://i-blog.csdnimg.cn/blog_migrate/26f744e69217c2ef143d12fc0654ac01.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5de065a95d1a007e40eecfcaaab426c7.png)
V(st)是状态价值函数。
在策略改进的步骤当中,作者根据这个公式进行更新
![](https://i-blog.csdnimg.cn/blog_migrate/342237a25e1ddcce642f3f3133591e3b.png)
分区函数Zπ 分布归一化。
软Q函数和政策使用函数近似,并且不运行评估和改进来收敛,而是用随机梯度下降法交替优化两个网络。考虑参数化的soft Q和稳妥的策略。soft Q被建模为富有表现力的神经网络,策略被建模为具有神经网络给出的平均值和协方差的高斯。soft Q函数的参数被训练为最小化贝尔曼残差随后使用随机梯度进行优化。
![](https://i-blog.csdnimg.cn/blog_migrate/ab3a72853a0609f2b550be5fb1efbe6a.png)
使用神经网络变换重新改变策略的参数化,引入
![](https://i-blog.csdnimg.cn/blog_migrate/b83453ea4d95878cd2b1afb9f25324c1.png)
ε是输入的噪声,通过抽样其固定的分布,作者得到如下公式:
![](https://i-blog.csdnimg.cn/blog_migrate/1a26855fb1d1f2fcefe2fd57b5295f48.png)
其中πφ被定义为fφ,策略剔骨被更新为:
![](https://i-blog.csdnimg.cn/blog_migrate/6f99cc41ebec97e28d5039e26f32bee9.png)
自动调整最大熵值
作者目的是找到具有最大预期收益的随机侧列,满足最小预期熵的约束,从形式上看,主要解决约束性的优化问题。即为:
![](https://i-blog.csdnimg.cn/blog_migrate/cf50dffde8715caf73b484340b88dcdb.png)
H为最小预期熵,但是对于完全MDP来说,优化的策略是确定的,约束是严格的,不需要对熵加上上限。
作者认为时间t的策略是影响未来的目标,所以想要通过采用一种近似的动态编程的方法,对时间向后求解来讲目标进行重写,在租后一个时间步上,将约束下最大化改为对偶问题。遵守
![](https://i-blog.csdnimg.cn/blog_migrate/2e5aa74cf4e7b6a8fb6add186958d3ca.png)
因为目标是线性的,所以作者使用强对偶性。
为了简化符号,作者最终利用soft Q 进行递归定义,
![](https://i-blog.csdnimg.cn/blog_migrate/62e438165fdda999157e9b065e2b38d0.png)
同时解决对偶变量a*t 在解决了Q*和π*之后。
![](https://i-blog.csdnimg.cn/blog_migrate/59cf930d9b0dc82dac6b733535f42c47.png)
SAC算法的核心就是soft Q函数和,在理论上,精确求解可以递归最优熵约束的最大预期收益目标,在实践当中,需要借助函数老近似值和随机梯度的下降。
算法伪代码
![](https://i-blog.csdnimg.cn/blog_migrate/ac1b0b597db2e475bf8f3d77f0defc61.png)
算法比较
作者与DDPG、PPO、SQL、TD3等算法进行了比较,下午展示了训练期间的不同收益值,实心曲线代表平均值,阴影区域是最大和最小收益,作者展示了SAC在学习速度和最终表现都由于其他方法。
![](https://i-blog.csdnimg.cn/blog_migrate/310ae47f378fe91f61b323d741a63939.png)
现实应用:
作者将SAC算法转移到了现有的四足机器人上,在现实世界中,一个运动策略的效用关键在于它对不同地形和障碍物的概括能力。只在平坦的地形上训练了策略,如图2(第一行)所示,随后在不同的地形和障碍物上测试了它。
由于SAC在训练时学习了稳健的政策,由于熵最大化,该政策可以很容易地泛化到这些扰动,而不需要任何额外的学习。机器人能够在斜坡上行走,冲过由木块组成的障碍物,并毫无困难地走下楼梯,尽管没有在这些环境中接受训练。
总结
实验表明SAC符合或超过了最先进的无模型深度RL方法的性能,包括非政策性TD3算法和政策性PPO算法,不需要任何环境特定的超参数调整。我们在现实世界中的实验表明,对于在现实世界中直接学习的机器人任务,如运动和灵巧的操纵,软演员批评法是稳健的,而且样本效率很高。