[RL 3] Soft Actor-Critic

    科技2022-08-28  95

    论文:

    Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic ActorSoft Actor-Critic Algorithms and ApplicationsSoft Actor-Critic for Discrete Action Settings

    算法理论 (tabular)

    motivation 设计actor-critic + max entropy + off-policy的算法对标DDPG, 处理连续的action space, 在保证sample efficiency的情况下, 提高算法的stability value functions with max entropy objective Q: eq.(2) evaluation: 定理1 V: eq.(3) policy definition: 高斯分布improvement: 同SQL朝 π ∼ exp ⁡ Q ( s , a ) \pi \sim \exp Q(s,a) πexpQ(s,a)方向更新策policy. policy定义为unmodal形式, 但target policy却为multi-modal形式, 有些不妥, 但从仿真结果来看, sac的效果还不错. 定理2指明如此更新policy符合策略提升定理. GPI: 收敛于optimal policy

    算法设计 (deep sac, continues control)

    3个近似函数

    Q θ ( s , a ) Q_\theta (s,a) Qθ(s,a) 输入(s,a), 输出Q value利用NN的泛化能力, 能够估计任意(s,a) pair的Q value, 因而能过处理连续的state和action space.更新: min TD error from eq(2)-(3) V ψ ( s ) V_\psi(s) Vψ(s) 不是必要的, 因为V可以用Q表示, 如eq(3)所示, 但多训练V可以提高稳定性.更新: min 两种V定义之间的差距 π ϕ ( a ∣ s ) \pi_\phi (a|s) πϕ(as): 高斯密度函数 输出均值和方差更新: min KL, 靠近 π ∼ exp ⁡ Q ( s , a ) \pi \sim \exp Q(s,a) πexpQ(s,a) Tips parameterization trick used in: f ( s , ϵ ) f(s,\epsilon) f(s,ϵ) μ , σ = π ϕ ( s ) \mu, \sigma = \pi_\phi (s) μ,σ=πϕ(s) ϵ ∼ N ( 0 , 1 ) \epsilon \sim N(0,1) ϵN(0,1) a = f ϕ ( ϵ , s ) = μ + ϵ ∗ σ a=f_\phi (\epsilon,s)=\mu+\epsilon*\sigma a=fϕ(ϵ,s)=μ+ϵσdifferentiable expectation in J ϕ ( π ) J_\phi(\pi) Jϕ(π) enforcing action bound 为了使输出的action有界, 网络输出经过 t a n h tanh tanh函数. 但这样做改变了原来的正态分布, 需要矫正.target V: 类似DQN中的target Q2 Q function: mitigate positive bias in the policy improvement, 能极大提高学习速度

    算法改进 (paper 2)

    新的paper中有如下几个改变之处:

    不近似V, 利用Q来计算V loss计算公式类似SARSA, 需要计算 a t + 1 a_{t+1} at+1学习entropy temperature α \alpha α 经过推导, objective为eq(18)

    算法adaptation: sac for discrete control (paper 3)

    Q网络输入输出改变 Q ( s ) − > ∣ A ∣ Q(s)->|A| Q(s)>A π π π网络输出改变 π ( s ) − > ( 0 , 1 ) ∣ A ∣ \pi(s)->(0,1)^{|A|} π(s)>(0,1)A, 即输出all action的概率分布 π \pi π分布下的期望可直接求 E a ∼ π [ f ( a ) ] − > π ( s ) T f ( a ) \mathbb{E}_{a\sim\pi}[f(a)]->\pi(s)^{T}f(a) Eaπ[f(a)]>π(s)Tf(a)
    Processed: 0.012, SQL: 9