译自:https://www.linkedin.com/advice/0/what-advantages-disadvantages-using-actor-critic
优点:
1. 通过将critic net输出的q value作为baseline,可以降低policy gradient算法带来的误差,使得使用较少数据就能够使模型收敛
解释:PG算法性能好坏很大部分取决于采样的数据,假如某游戏绝大部分都是正reward,则PG会无脑增大它采样到的action概率,即使有些action并非好的决策。一个解决办法是使得reward有正有负,且概率为0.5。即将采样得到的reward减去reward的期望,在qlearning中,这个期望就是critic net的输出。
2. 原始的PG必须等到一局游戏结束才能训练,而引入critic net之后,它就可以实时训练而无需等到游戏结束。
解释:原始PG需要计算整局游戏的得分才能训练,所以必须得等到游戏结束,而引入critic net后,因为它的作用就是预测该局游戏可能的得分,所以就不需要等游戏结束了
3. 对于不同的应用场景,可以使用不同的critic net来训练同一个policy。例如使用 状态价值函数 或 动作价值函数作为critic net等
缺点:
1. 可以想象,如果critic net没有收敛,那用它训练出的policy肯定是有问题的,这大大增加了模型的训练成本和风险
2. 使用两个网络使得算法实现更为复杂