优势演员-评论家算法 A2C
- 优势演员-评论家算法 A2C
- 主要思想
- 目标函数
优势演员-评论家算法 A2C
前置知识:演员-评论家算法:多智能体强化学习核心框架
主要思想
AC 网络结构:
- 策略网络 - 演员: 这个网络负责根据当前的状态选择动作。它输出的是给定状态下每个动作的概率。
- 价值网络 - 评论家: 用于估计当前策略下,一个状态或状态-动作对的期望回报。
- Q 网络: 估计在给定状态和动作下的期望回报。
- V 网络: 估计在给定状态下的期望回报。
演员-评论家算法有 3 个网络(策略网络、价值函数-Q网络和V网络),我们最终目的不是计算 Q网络和V网络 的具体数值,而是差异(也就是优势网络A)。
因为演员-评论家算法用俩个不同的网络(Q网络和V网络)去,估计价值函数,反而会增大误差。
优势函数作用:
- 优势函数 A(s, a) = Q(s, a) - V(s): 这个函数衡量的是在给定状态下,选择某个特定动作相对于平均动作的相对优势。
优势函数的目的并不是要精确计算 Q 和 V 的具体值,而是要找出哪些动作比平均动作好,哪些比平均动作差。
- 当使用两个独立的网络来估计 Q 值和 V 值时,确实可能会增加估计的不确定性或误差,因为每个网络都有其独立的误差。
- 然而,计算优势函数的关键在于找出相对优势。即使 Q 和 V 的绝对估计值不是完美准确的,它们的差值(即 A(s, a))仍然可以有效地指导策略网络进行更好的动作选择。
- 优势函数的使用有助于减少方差,并且能够更加明确地指示策略网络应该如何改进,从而提高学习的效率和稳定性。
优势演员-评论家算法 通过分离策略和价值估计,并引入优势函数,提供更精细的价值估计,以及减少学习过程中的不稳定性。
就像练习投篮,你只能觉知到自己的投篮是偏左还是偏右了。
但那些高手的觉知更精细,他们会觉知到自己的手指(尤其是食指)的状态。
更别提膝盖、腰、肩膀、手肘等一系列对投篮都有影响的部位了。
你投篮几年了还是很低的命中率,因为你缺乏觉知的意识。
你偶尔怀疑自己为什么偷懒不准也找不到原因,只能感叹手感不好。
其实就是想要觉知而无法施展出来;即使你花时间去练习自己的投篮也往往效果不佳,因为你的觉知不精细。
而那些投篮高手,因为更精细,他们的刻意练习会让他们突飞猛进。
目标函数
- 演员-评论家算法AC 的目标函数基于价值函数(比如状态价值函数 V)来评估动作。
- A2C 改进了这个目标函数,引入了优势函数 ,其中 Q 是动作价值函数,V 是状态价值函数。这样的改变减少了方差,提高了学习稳定性。
数学表达:
作者把 Q 变成了 当前的即时奖励 加上在下一个状态
把 2 式代入 1 式:
A2C 这个公式突出优势函数的形式,演员的更新不是基于动作价值(),只使用 V 网络,解决了 AC 算法的问题。