强化学习 优势函数(Advantage Function)

目录

什么是优势函数

归一化、**函数等学习问题 

为什么要使用优势函数

常见的优势函数


什么是优势函数

优势函数表达在状态s下,某动作a相对于平均而言的优势
从数量关系来看,就是随机变量相对均值的偏差
使用优势函数是深度强化学习极其重要的一种策略,尤其对于基于policy的学习。
定义如下:强化学习 优势函数(Advantage Function)

归一化、**函数等学习问题 

以下是常见的**函数,梯度学习时,可以发现:
1,Sigmoid一类的**函数,x在两边时,函数趋于饱和;
2,在0附近曲线几乎线性,学习速率最大;
3,Relu一类的**函数,函数随x无限增大,学习会变得响应过敏感,难以控制。
总之,输入x不能过大,否则学习会变得效率低,以至于学不到最优。

强化学习 优势函数(Advantage Function)
from deeplearning.ai

对于Sigmoid,归一化是将输入标准化到均值为0,方差为1的标准正态分布上,提高学习效率。
注意不必纠结归一化、标准化具体表述细节上,我们这里用归一化表达一种数据scale思想:不改变数据本质,将数据scale到可控范围而提高学习效率的手段。

为什么要使用优势函数

优势函数其实就是将Q-Value“归一化”到Value baseline上,如上讨论的,这样有助于提高学习效率,同时使学习更加稳定;同时经验表明,优势函数也有助于减小方差,而方差过大导致过拟合的重要因素。

常见的优势函数

A3C、PPO的优势函数如下:强化学习 优势函数(Advantage Function)

VPG、TRPO等的优势函数也可以选择以上估计方式;这都常见的近似方式是优势函数定义的有偏估计(but not too biased),但可以接受。

优势函数的一般估计(GAE)

GAE借鉴了TD(强化学习 优势函数(Advantage Function))思想,注意这里处理的是优势函数而不是Value Function,通过调整lambda,可以得到不同的近似估计。
大的思想一是Q(s,a)的近似,二是V(s)的表达,二者差表征优势函数A(s, a)。

强化学习 优势函数(Advantage Function)
from Berkeley GAE paper ICLR 2016

两个特例是:

强化学习 优势函数(Advantage Function)
from Berkeley GAE paper ICLR 2016

要特别注意,TD Residual是优势函数的一个不错的估计,但它们是两个概念,这很容易混淆,时序差分主要表达的是一种微分思想,优势函数描述的是一个相对量。