Soft Actor Critic算法论文公式详解

Posted 白水baishui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Soft Actor Critic算法论文公式详解相关的知识,希望对你有一定的参考价值。

SAC强化学习算法是伯克利大学团队2018年在ICML(International Conference on Machine Learning)上发表的论文,本篇博客来总结一下论文里的公式及其涵义。

论文地址:Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor

文章目录

1. 符号说明

马尔科夫决策过程: ( S , A , p , r ) (\\mathcalS,\\mathcalA,p,r) (S,A,p,r)其中, S \\mathcalS S为状态空间; A \\mathcalA A为动作空间;未知的状态转移概率 p : S × S × A → [ 0 , ∞ ) p:\\mathcalS\\times\\mathcalS\\times\\mathcalA\\to [0,\\infty) p:S×S×A[0,)表示给定当前状态 s t ∈ S s_t\\in\\mathcalS stS和动作 a t ∈ A a_t\\in \\mathcalA atA时下一个状态 s t + 1 ∈ S s_t+1\\in \\mathcalS st+1S的概率密度;环境在每次状态转移时获得一个有界的立即回报 r : S × A → [ r min ⁡ , r max ⁡ ] r:\\mathcalS\\times\\mathcalA\\to[r_\\min, r_\\max] r:S×A[rmin,rmax] ρ π ( s t ) \\rho_\\pi(s_t) ρπ(st) ρ π ( s t , a t ) \\rho_\\pi(s_t,a_t) ρπ(st,at)分别表示由策略 π ( a t ∣ s t ) \\pi(a_t|s_t) π(atst)产生的轨迹的边缘状态、状态-动作分布(边缘即当前时刻的意思)。

1. 累计平均回报

SAC算法设定了一个最大熵目标 r ( s t , a t ) + α H ( π ( ⋅ ∣ s t ) ) r(s_t,a_t)+\\alpha\\mathcalH(\\pi(·|s_t)) r(st,at)+αH(π(st)),它通过最大化累计最大熵目标的期望值 J ( π ) J(\\pi) J(π)(累计平均回报)来使策略 π \\pi π随机化,如公式(1)
J ( π ) = ∑ t = 0 T E ( s t , a t ) ∼ ρ π [ r ( s t , a t ) + α H ( π ( ⋅ ∣ s t ) ) ] J(\\pi)=\\sum_t=0^T\\mathbbE_(s_t,a_t)\\sim\\rho_\\pi[r(s_t,a_t)+\\alpha\\mathcalH(\\pi(·|s_t))] J(π)=t=0TE(st,at)ρπ[r(st,at)+αH(π(st))]其中, r ( s t , a t ) r(s_t,a_t) r(st,at)表示普通的立即回报项; H ( π ( ⋅ ∣ s t ) ) \\mathcalH(\\pi(·|s_t)) H(π(st))表示熵回报项; α \\alpha α是温度参数(权重),它决定了熵项对立即回报的相对重要性,从而控制了最优策略的随机性,在下文中凡是涉及到熵项的都应带上权重 α \\alpha α,只是有时会略写。

1.1. 熵探索策略

熵回报项 H ( π ( ⋅ ∣ s t ) ) \\mathcalH(\\pi(·|s_t)) H(π(st))是如何产生随机策略的?我们来看到信息熵的数学公式: H ( X ) = E [ − log ⁡ P ( X ) ] = − E x i log ⁡ P ( x i ) \\mathcalH(X)=\\mathbbE[-\\log P(X)]=-\\mathbbE_x_i\\log P(x_i) H(X)=E[logP(X)]=ExilogP(xi)其中, x i x_i xi是随机变量; P ( x i ) P(x_i) P(xi)是随机变量出现的概率。需要注意,由于概率值 P ( x i ) ∈ [ 0 , 1 ] P(x_i)\\in [0,1] P(xi)[0,1],因此 log ⁡ P ( x i ) ⩽ 0 \\log P(x_i)\\leqslant 0 logP(xi)0,即 H ( X ) ⩾ 0 \\mathcalH(X)\\geqslant 0 H(X)0

当我们使用随机策略而不是确定性策略时,策略 π ( s t , a t ) \\pi(s_t,a_t) π(st,at)就代表在状态 s t s_t st a t a_t at被选择的概率。此时可得推导式(1) H ( π ( ⋅ ∣ s t ) ) = − E a t ∼ π log ⁡ π ( a t ∣ s t ) = − log ⁡ π ( ⋅ ∣ s t ) \\mathcalH(\\pi(\\cdot|s_t))=-\\mathbbE_a_t\\sim \\pi\\log \\pi(a_t|s_t)=-\\log \\pi(·|s_t) H(π(st))=Eatπlogπ(atst)=logπ(st)

可以看到,策略 π \\pi π产生的动作越确定,即某些动作被选择的概率远大于其他大部分动作,那么其他大部分动作被选择的概率就相对较小,熵期望值就会越趋向于0;反之,若策略 π \\pi π产生的动作越不确定,即各个动作被选择的概率较为平均,熵值就越大。

可能上面的话不是很直观,下面我们举个例子。假设现在有5个动作可供选择,不同策略 π \\pi π产生动作的概率分别有以下两种情况:

pi_1 = [0.2, 0.2, 0.2, 0.2, 0.2]以上是关于Soft Actor Critic算法论文公式详解的主要内容,如果未能解决你的问题,请参考以下文章

Soft Actor-Critic 论文解读

Soft Actor-Critic 论文解读

强化学习(十五) A3C

Actor Critic

论文阅读|《Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments》(NeurlPS,2017)(MADDPG)

LIRD(Deep Reinforcement Learning for List-wise Recommendations)论文算法解读