本章是课程的导数第二章,旨在讲解策略的函数化形式。

之前的方法,描述一个策略都是用表格的形式,每一行代表一个状态,每一列代表一个行为,表格中的元素对应相关状态下执行相关行为的概率。

函数化的策略表征形式是指,策略改用一个参数化的函数表示,这种表征方式的优点是节省存储空间,并且提升了泛化能力。

表格化与函数化的策略,有三个差异。第一是如何定义这个最优策略,表格形式的是指每个状态值都能最大化。函数形式的是指能让一个指标最大化(本质上就是优化理论)。

第二个差异是,如何获取某一状态下执行某个行为的概率。表格形式是直接查表,而函数形式是带入到方程中计算。

第三个差异是如何更新策略,表格形式是直接在表的对应位置进行修改,而函数形式则是对函数的参数进行修改。

策略梯度法的思路其实很简单,第一步是构建一个衡量最优策略的方法(类似于优化理论中的目标函数),第二步是用基于梯度的优化方法找寻最优策略。

第一种衡量指标叫状态均值(average state value)法或者均值法(average value),本质就是求状态值的期望。

这个期望中间的概率分布(即各状态值的权重)如何选择?有两大类方法。第一类是这个概率分布与策略之间相互独立,那么求梯度的时候,这个概率分布不参与求导。那么如何确定这个概率分布能,一种是采用均匀分布,一种是将第一个状态置为1,其他都为0。

第二种大类是这个概率分布与策略是相关的,那一般选择稳定分布。

第二种衡量最优策略的方法是平均单步奖励(average one-step reward)或者平均奖励(average reward),其实是求了另外一个期望。

平均单步奖励的本质,是Agent基于一个策略获得一个轨迹,计算这个轨迹每一步奖励的期望值,再做个平均。

这个平均单步奖励的方法,计算的结果与初始的状态是无关的。

下面对状态均值法和单步奖励均值法这两大类衡量方法做了一个对比:

第一个需要注意点是,两个衡量方法都是基于策略π的函数,那本质上就是基于参数的函数(将参数看做自变量,函数结果是因变量)。

第二点,通过对γ的设置,可以分为包含折扣的方法和不包含折扣的方法(即对将来的奖励值进行打折计算)。

第三点就是,两个衡量的方法是相关的(不相等,但能相互转换)。

衡量的方法确定后,就要根据衡量的方法,确定给予梯度的优化方法。

这里给出了相关的梯度计算方法。

这个是梯度方法用期望的形式展示。

这个方法为什么有用呢?第一是可以用样本去近似这个梯度值。

第二,对数求梯度这一部分,可以继续展开。

继续演算,可以得到一个期望形式的结果。

这里定义了整个策略的相关概率值生成的方法,用的就是Softmax的方法。

这里的函数可以用一个神经网络来实现,由于策略里每一个状态下的各个行为都有大于零的概率,所以该策略具有一定的随机性,模型包含了探索性。

后面是梯度上升算法(gradient ascent)找寻最优解的内容,因为最优策略是反馈值最大的策略,所以用的是梯度上升法。梯度计算部分用随机梯度替代,不知道的行为值,用采样替代。

采样估计这里,如果用的是MC方法,则这个算法就是REINFORCE算法。

REINFORCE算法的伪代码如下所示。

这里讨论了采样的方法,状态的采样没有太多要求,A的采样根据当前策略的执行时序来,所以是个On-policy方法。

第二是如何解释这个方法,在基于梯度上升的迭代法中,对表达式进行整理,加号的右边可以变成这样,α是学习率,β_t是一个时间序列上的数,但是跟梯度无关,第三部分是梯度。

β表明了迭代法前后两个数据之间的大小关系。

β的具体作用是,用于调节策略中探索与开发之间的关系。
