AC、A2C、A3C算法简易区别

  1. 策略梯度如下式:
    • 其中, \(\pi_{\theta}(a \mid s)\) 为Actor, \(\Psi_{t}\) 称为Critic,此式是一个广义的AC框架。
  2. \(\Psi_{t}\) 可以取以下几种:
    • 轨迹总回报,\(\Sigma_{t=0}^{\infty} r_{t}\)
    • 执行动作后的回报,\(\Sigma_{t^{\prime}=t}^{\infty} \boldsymbol{r}_{t^{\prime}}\)
    • 加入基线的形式,\(\sum_{t^{\prime}=t}^{\infty} r_{t^{\prime}}-b\left(s_{t}\right)\)
    • 状态-行为值函数,\(Q^{\pi}\left(s_{t}, a_{t}\right)\)
    • 优势函数,\(A^{\pi}\left(s_{t}, a_{t}\right)\)
    • TD-error,\(r_{t}+V^{\pi}\left(s_{t+1}\right)-V^{\pi}\left(s_{t}\right)\)
  3. 前三个critic直接利用轨迹的累积回报,由此计算出来的策略不存在偏差,但是由于是多步的累积回报,因此方差很大
  4. 后三个利用动作值函数,优势函数和TD偏差来代替累积回报,因而方差下,但是由于这三种方法都用到了逼近,因此计算出来的策略梯度存在偏差。当critic取后三个时,为经典的AC算法。

A2C算法

  1. A2C使用优势函数代替Critic网络中的原始回报,可以作为衡量选取动作值和所有动作平均值好坏的指标。
  2. 优势函数:
  3. 意义:如果优势函数大于0,则说明该动作比平均动作好,如果优势函数小于0,则说明当前动作还不如平均动作好
    • 理解:如果优势函数大于0 ,那么Q>V,V在里面可以表示一个平均动作下的价值

A3C算法

  1. 异步优势动作评价算法,存在多个并行环境来收集数据,打破数据之间的关联性。