无模型深度强化学习算法(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,SA,SA,S分别是状态和动作空间,ppp是转移概率:S×S×A→[0,∞)S\times S\times A \rightarrow [0, \infty)S×S×A→[0,∞). 环境给出的奖赏是有界的r:S×A→[rmin,rmax]r:S\times A\rightarrow[r_{min},r_{max}]r:S×A→[rmin​,rmax​]. 策略π(at∣st)\pi(a_t|s_t)π(at​∣st​)引起的轨迹分布的状态和状态 - 动作边缘分布分别表示ρπ(st)\rho_\pi(s_t)ρπ​(st​)和ρπ(st∣at)\rho_\pi(s_t|a_t)ρπ​(st​∣at​).

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

软策略迭代(Soft policy Iteration)

Soft policy evaluation:

策略评估阶段,根据最大熵目标(1)式计算策略对应的值函数。对于一个固定的策略其软Q值(Soft Q-value)通过改正的贝尔曼操作τπ\tau^\piτπ:
τπQ(st,at)=r(st,at)+γEst+1∼p[V(st+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+1​∼p​[V(st+1​)](2)其中
V(st)=Eat∼π[Q(st,at)−logπ(at∣st)](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π(at​∣st​)](3)是软状态值函数(Soft state value function).那么软策略评估可以通过Qk+1=τπQkQ^{k+1}=\tau^\pi Q^kQk+1=τπQk迭代,若通过无限次迭代,这样最终Q会收敛到策略π\piπ的软QQQ值函数.
定义带熵的奖赏:rπ(st,at)=r(st,at)+Est+1∼p[H(π(⋅∣st+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+1​∼p​[H(π(⋅∣st+1​))]则更新规则为:Q(st,at)←rπ(st,at)+γEst+1∼p,at+1∼π[Q(st+1,at+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+1​∼p,at+1​∼π​[Q(st+1​,at+1​)]

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

Soft Policy Improvement:

策略更新:πnew=argminDKL(π(⋅∣st)∣∣exp(Qπold(st,⋅))Zπold(st))(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)这里是把QQQ值函数转换为概率分布来表示策略,然后求策略和Q值策略的KL散度最小时的策略. 其中πold∈∏\pi_{old}\in\prodπold​∈∏,πnew\pi_{new}πnew​是最优化上式的策略也同样在策略空间∏\prod∏中,满足Qπnew(st,at)≥Qπold(st,at)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 (st,at)∈S×A(s_t,a_t)\in S\times A(st​,at​)∈S×A. 这样保证每次更新策略至少优于旧策略.

Final

软策略迭代过程(Soft policy Iteration):就是策略评估和策略改进两个过程不断迭代,最终策略会收敛到π∗\pi^*π∗,满足Q∗(st,at)≥Qπ(st,at)Q^*(s_t,a_t)\geq Q^\pi(s_t,a_t)Q∗(st​,at​)≥Qπ(st​,at​) for all π∈∏and(st,at)∈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ψ(st)V_\psi(s_t)Vψ​(st​),软QQQ值函数Qθ(st,at)Q_\theta(s_t,a_t)Qθ​(st​,at​),策略函数πϕ(at∣st)\pi_{\phi}(a_t|s_t)πϕ​(at​∣st​)(注意是个随机策略)。对应的参数分别是ψ,θ,ϕ\psi,\theta,\phiψ,θ,ϕ.

软状态值函数的目标函数是:

梯度:

软QQQ值函数的目标函数是:

梯度:

注意这里的target网络只使用了一个VψˉV_{\bar{\psi}}Vψˉ​​.
策略更新的目标函数:

这里策略表示为带噪声的神经网络:

其中ε\varepsilonε是输入的噪声向量。那么策略的目标函数可以重新写成(这个式子是原目标函数省略了Zθ(st)Z_\theta(s_t)Zθ​(st​),因为它是与ϕ\phiϕ无关的量,求导为0,对梯度无影响所以省略了。KL散度计算):

对上式求导(把期望去掉,因为期望通过多次批量抽样实现)得梯度:

算法:

Soft Actor-Critic 论文笔记相关推荐

  1. 强化学习论文笔记:Soft Actor Critic算法

    Soft Actor Critic是伯克利大学团队在2018年的ICML(International Conference on Machine Learning)上发表的off-policy mod ...

  2. 论文笔记(十七):Brax - A Differentiable Physics Engine for Large Scale Rigid Body Simulation

    Brax - A Differentiable Physics Engine for Large Scale Rigid Body Simulation 文章概括 摘要 1 捐款摘要 2 动机 3 使 ...

  3. 论文笔记(十七):Brax — A Differentiable Physics Engine for Large Scale Rigid Body Simulation

    Brax - A Differentiable Physics Engine for Large Scale Rigid Body Simulation 文章概括 摘要 1 捐款摘要 2 动机 3 使 ...

  4. 论文笔记(二十二):Soft Tracking Using Contacts for Cluttered Objects to Perform Blind Object Retrieval

    Soft Tracking Using Contacts for Cluttered Objects to Perform Blind Object Retrieval 文章概括 摘要 1. 介绍 2 ...

  5. 论文笔记 | 谷歌 Soft Prompt Learning ,Prefix-Tuning的 -> soft promt -> p tuning v2

    论文笔记 | 谷歌 Soft Prompt Learning ptuning -> Prefix-Tuning -> soft promt -> p tuning v2 " ...

  6. 【强化学习笔记】2020 李宏毅 强化学习课程笔记(PPO、Q-Learning、Actor + Critic、Sparse Reward、IRL)

    前言 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接. 文章目录 前言 Introduction Two Learning Mod ...

  7. GAN for NLP (论文笔记及解读

    GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响."深度解读:GAN模型及其在2016年度的进展"[1]一文对过去一年GAN的进展做了详细介绍,十分 ...

  8. 论文笔记之SAC提升算法

    这篇论文是SAC原作者在SAC上进行改进之后的算法.改进后的SAC在训练速度.稳定性.表现力方面都得到了一定的提升. 论文地址,点这里 TF源码,点这里 PyTorch源码,点这里 改进的方面主要是2 ...

  9. 论文笔记:Distilling the Knowledge

    原文:Distilling the Knowledge in a Neural Network Distilling the Knowledge 1.四个问题 要解决什么问题? 神经网络压缩. 我们都 ...

  10. 论文笔记5:Noise Reduction of Hyperspectral Imagery Using Hybrid Spatial-Spectral Derivative-Domain Wavel

    论文笔记5:Noise Reduction of Hyperspectral Imagery Using Hybrid Spatial-Spectral Derivative-Domain Wavel ...

最新文章

  1. zabbix告警升级的迷惑
  2. 微服务架构:动态配置中心搭建
  3. 记下来 关于InitCommonControls()
  4. 七边形简单画法步骤图_零基础国画教程:分步骤图解教你画3种常见树画法,简单易学...
  5. python ide是什么意思_初学Python使用什么IDE会更好?
  6. python开发程序员应该知道的面试技巧和注意事项
  7. Hive环境搭建启动报错
  8. 常用评价指标及其Python实现
  9. 弱电工程师和网络工程师有什么区别?工作内容是什么?
  10. Nginx系列 (1)--Nginx安装升级打补丁
  11. 超级爆笑小学生作文大全,这孩子太搞了
  12. jQuery读取JSON数据(jQuery调用JSON数据学习第二天)
  13. 经乱离后天恩流夜郎忆旧游书怀赠江夏韦太守良宰
  14. MySQL 生成累计乘积
  15. N个实用的css代码
  16. 基于python的土壤细菌在kobas库的功能预测代码
  17. 牛客编程巅峰赛S1第3场 - 黄金钻石 A.简单题 B.dfs C.并查集
  18. 人工智能轨道交通行业周刊-第5期(2022.7.4-7.17)
  19. PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)
  20. 用友U8产成品入库单红字后无法入库

热门文章

  1. 实体商家如何通过小魔推同城拓客,在短视频平台提升曝光量
  2. 20191219 门面设计模式
  3. 2023十大网络安全认证,有任何一个都薪资过万,你有几个了?
  4. 班主任工作总结 初中物资管理工作总结
  5. “隐形正畸第一股”时代天使还能飞多远?
  6. 被boss直聘转发过多而“封杀”的2021年全套java高级面试题有多牛
  7. 关于Python爬虫接单的方法经验分享,实现经济独立
  8. 川崎机器人D系列as_川崎机器人|Profinet配置详解
  9. 川崎机器人总线通信_川崎机器人 | EtherNet/IP安装使用说明
  10. 本周涨粉一倍,我决定再开源一个商超管理系统